Linux equivalent command for "open" command on Mac/Windows?
Solution 1
xdg-open
is what you're looking for.
You might like this snippet I put in my .bashrc
files so that whether I'm using cygwin on Windows, Linux, or OSX, I can use either the start or the open commands and they work great:
case "$OSTYPE" in
cygwin*)
alias open="cmd /c start"
;;
linux*)
alias start="xdg-open"
alias open="xdg-open"
;;
darwin*)
alias start="open"
;;
esac
Good comments, xdg-open
is indeed a better option than gnome-open
as explained below. I updated my personal scripts a while ago, but forgot to update this answer.
WARNING: This will override the functionality of both openvt
(virtual terminal) and start
from init.
Solution 2
xdg-open xyz.bar
will open xyz.bar
(a file or URL) in any freedesktop-compatible environment via the application registered for xyz.bar
's type. See also the man page for xdg-open.
In practice this should then call kde-open
, gnome-open
, exo-open
or possibly even open
, depending on the current desktop environment (KDE, Gnome, XFCE, OS X).
Solution 3
You can even write a small wrapper around gnome-open to open multiple files with one command:
for i in $*
do
gnome-open "$i"
done
Put this into a shell script named open and
open *.c
will open all c files in the current directory.
Solution 4
You can use the gnome-open
command in your Terminal.
Once in the directory which you want to open an OS window of, type in the Terminal:
gnome-open .
This will open a window showing what is in this folder.
Similarly, you can specify a subfolder located in this directory by substituting the .
by the name of the subfolder.
Note that if gnome-open
doesn't work, it may just need to be installed. You can do so using Synaptic (sudo apt-get update
and then
sudo apt-get install synaptic
in your terminal, very convinient when installing package because it installs all the dependencies properly) or directly install Gnome Shell in your Terminal: sudo apt-get install gnome-shell
Related videos on Youtube
jweede
Updated on September 17, 2022Comments
-
jweede over 1 year
Coming from Mac OS X, you can type:
$ open yourfilehere.txt
and your file will open just as if you had opened it from Finder.
On Windows, one can type:> start yourfilehere.txt
and it will open just as if you had opened it from Explorer.
On Ubuntu, I'd like to be able to open files in the same manner in GNOME. What's the command?-
Mikko Ohtamaa over 12 yearsIn little related I found this little gem to open Finder in a certain path (not current path necessarily): open -a Finder . or open -a Finder /your/path/here
-
CodyChan over 6 yearsI just saw that On Windows, this is the
start
program. On OS X, this is theopen
program. On Ubuntu Linux, this is thesee
program. in book automate-the-boring-stuff-with-python, but I didn't get any info aboutsee
command from Google.
-
-
jweede over 14 yearsThat BASH script is a great idea.
-
jweede over 14 yearsalso works. What's the difference between
xdg-open
andgnome-open
? -
akira over 14 yearswell, xdg-open was developed by the freedesktop.org folks which claim to create the "standard", while gnome-open was developed by the gnome folks .. which you only get when you install gnome. i personally like the freedesktop.org stuff more.
-
Doug Harris over 14 yearscygwin: try "cygstart"
-
Ryan Sequeira over 14 yearsgnome-open is GNOME-specific. xdg-open is available on all Freedesktop.org compliant distros.
-
Ryan Sequeira over 14 yearsIndeed, xdg-open is the right answer here. gnome-open is specific to desktops that have GNOME installed. xdg-open will be available on any freedesktop-compliant system.
-
pimlottc over 12 yearsUseful script, but you'll want to replace $* with "$@" (including the quotes) to properly handle filenames with spaces.
-
RavuAlHemio over 12 years"xdg-open will be available on any freedesktop-compliant system" means, in practice, that no matter whether you are using GNOME, KDE, Xfce, or any other environment,
xdg-open
will do the Right Thing, using the file-type-to-program mapping of the running environment. -
Brady Trainor about 10 years@DougHarris, +1.
cygstart
may be further preferable, as in Emacs bookmarks, it allows one to continue using Emacs. Withstart
, my Emacs is frozen. -
Brady Trainor about 10 yearsThen, start is nice if you don't want to rely on Cygwin being available.
start ""
or"start \"\""
just worked for me. (Set of quotes "" prevents Emacs hanging on process.) -
eadmaster almost 10 years"xdg-open" does not support launching executable programs for safety - use "exec" for them.
-
Joe Strout almost 7 yearsI wonder if this script could be extended to detect when it's an executable program, and use exec for those?
-
Joe Strout almost 7 yearsIt's almost equivalent to Mac's "open" command, but not quite — I'm finding (under Ubuntu 14 at least) that when I use it on a directory, the directory opens in the background. I'd rather it bring the freshly opened window to the front. Any way to make it do that? (Forgive me, I'm a total Linux noob.)