Command to open a URL

Is there a command I can use in Bash that will open a specific URL in the default browser?


There's a command that knows about your default browser:

xdg-open http://google.com

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 [email protected]

and

xdg-mime query default text/html

To find out what application is going to be used.

You can set your preffered application by going to System → Preferences → Preferred Applications:

alt text

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.


You can use xdg-open like so:

xdg-open http://askubuntu.com/

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 https://youtube.com

or

firefox https://youtube.com

gnome-open works as well as xdg-open but neither knows what to do with naked domain.

So gnome-open http://askubuntu.com 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 http://$1 ; }

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