Is there a command I can use in Bash that will open a specific URL in the default browser?
5 Answers
There's a command that knows about your default browser:
xdg-open This will also work for every other type of URI (Uniform Resource Identifier), like images - which will automatically open with eog, openoffice documents, and so on, and also on filesystem paths (xdg-open /tmp/foobar.png).
There is also
xdg-email and
xdg-mime query default text/htmlTo find out what application is going to be used.
You can set your preffered application by going to System → Preferences → Preferred Applications:
These utilities are part of the freedesktop.org specification, so you can use them in your applications - and it's going to work on all of the desktops that adhere to the spec.
1You can use xdg-open like so:
xdg-open From the XDG-OPEN man page:
xdg-open opens a file or URL in the user's preferred application. If a URL is provided the URL will be opened in the user's preferred web browser.
If you don't necessarily want to use the default browser, you can call any browser program directly and give the URL as argument, for example:
chromium-browser or
firefox gnome-open works as well as xdg-open but neither knows what to do with naked domain.
So gnome-open works but not gnome-open askubuntu.com.
Here is a small function to make it easier to type and accept the stripped down domain name.
function go { gnome-open ; }Paste the above in your command line, hit enter and try it out. If you like it you can save it to your .bash_aliases or .bashrc file, then source ~/.bash_aliases (assuming it is in your home directory) and it will be persistent for that session and all new sessions.
So now we just type go askubuntu.com and wallah!
Using x-www-browser URL will open the browser or a new tab at the given URL