I was wondering what's the terminal command to open the default web browser.
7 Answers
xdg-open <URL> is the command you're looking for.
Or:
sensible-browser but as per sensible-browser(1), it only works properly on Debian or if the BROWSER environment variable is set. There’s also an open but stale MR in the sensible-utils repository to respect Ubuntu’s xdg-settings.
- 3
- 3
- 4,988
- 1
- 23
- 19
-
What about the differences between `sensible-utils` package and the system of alternatives found in `/etc/alternatives` and modified by `update-alternatives`? – enzotib Oct 19 '10 at 12:59
-
13For me `sensible-browser` opens Opera instead pf default Chrome. `xdg-open` works as expected. – incrop Jun 17 '14 at 15:12
-
3what @Incrop said is still true for Ubuntu 16.04, this opens Firefox instead of my default browser Chromium. – Andreas Hacker Mar 16 '17 at 10:58
-
6`sensible-browser` doesn't follow user preference configured in unity-control-centre. `xdg-open` does. – Tankman六四 Feb 05 '18 at 00:58
-
2Although my default (gnome) browser is Firefox, `sensible-browser` opens Chrome. – alfC Jan 20 '20 at 05:31
-
For me, under Linux Mint, sensible-browser opens the right one, and xdg-open opens the wrong one. – pyrsmk Jun 12 '20 at 07:14
Searching on Google I found the answer.
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 a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.
xdg-open is part of xdg-utils package and it's already installed on Ubuntu 10.10.
-
1
-
4
-
-
3if the user once configured to open html files with a text editor by default, this will not work. OP asks for a way to open the **web browser**, not the default application for html files (even though by default it's the same) – phil294 Jun 29 '17 at 16:48
-
This will work on any gnu/linux distro that has x-server window manager (that is just about all of them - eg debian, *buntu, fedora, manjaro, Arch etc) – flurbius Dec 27 '17 at 19:58
-
-
@Mike it isn't deprecated. https://www.reddit.com/r/archlinux/comments/8mniks/is_xdgopen_and_gio_the_same_thing_if_not_which/ – Vik Mar 04 '21 at 08:35
You can also use:
x-www-browser http://some-url.org
And it will open the URL in the default browser.
- 4,530
- 10
- 36
- 47
-
2for me, in Ubuntu 16.04, this will open Firefox even though Chromium is set as the default browser in the "Default Applications" setting. – Andreas Hacker Mar 16 '17 at 10:56
-
-
Just that you may find it useful. A fallback approach, and a one-liner:
URL="https://www.url.com/some"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL
You can also add the following function to your system (your shell script, .bashrc, .zshrc, alias or functions files, ...):
function openUrl() {
local URL="$1";
xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL;
}
and you use as:
openUrl www.wikipedia.com
Good reading for the no familiar with the logical operators https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/.
; => run in all cases,
|| => run if the precedent command failed (or)
&& => run only if the precedent command succeed
and
var=someval -> set a variable
$var -> invoke the variable
- 183
- 1
- 5
-
1Consider explaining what this command does so that others that see this know more about your answer. Links are good, but you need to ensure the key content of the link is in your answer if it is part of your answer (incase the link dies in the future). – AlwaysTalkingAboutMyDog Apr 18 '19 at 03:23
-
1@Zzzach...done! and i get the point. Though it was a simple matter. – Mohamed Allal Apr 18 '19 at 03:31
-
With default Ubuntu setup only gnome-open command comes to mind.
gnome-open http://askubuntu.com
- 1,596
- 2
- 13
- 16
-
4With default Ubuntu setup, **sensible-browser** and **xdg-open** commands work as well. – marenostrum Oct 19 '10 at 12:38
-
1The advantage is that you can use `gnome-open` for almost all file-types, URIs and directories. It's one command to learn, instead of trying to remember about obscure commands like `sensible-browser` – Stefan Lasiewski Oct 21 '10 at 18:19
-
7@Stefan Lasiewski: `xdg-open` should do the same thing - actually, it will call `gnome-open`, or `kde-open`, or whatever, depending on your desktop environment. Thus it's more portable. – Piskvor left the building Aug 22 '11 at 14:37
-
-
2gnome-open is dependent on gnome desktop, better off using xdg as its more common – flurbius Dec 27 '17 at 19:59
-
1
On Raspberry Pi Ubuntu I did this to start a webpage, fullscreen (in Kiosk mode) on startup:
# put in ~/.bash_profile
DISPLAY=:0 chromium-browser --app=https://your.website —kiosk &
- 121
- 3
I played around this a little.
There is a problem with gnome-open — it won't invoke the default web browser unless you specify a url.
That's a problem if you want to set up an icon or a shortcut that will always launch the browser that is set as default.
Other times you might need to set it as a parameter for some programs that require a link to a web browser and don't work well with gnome-open (e.g.: acroread).
You might solve this by using either x-www-browser or gnome-www-browser system links that you can set up through update-alternatives, but those are system wide settings, not user specific (and they are not synchronized with the values set through gnome-default-applications-properties.
All this can be solved by opening the sensible-browserexecutable (which is actually a script):
sudo gedit $(which sensible-browser)
and adding this at the beginning:
#!/bin/bash
BROWSER=$(gconftool -g /desktop/gnome/url-handlers/http/command)
export BROWSER="${BROWSER//"\"%s\""/}"
That will make sensible-browser always launch the user-specified default web browser.
(I found out that gnome-default-applications-properties changes some gconf keys according to the browser that is currently set. The default browser value can be obtained from any of these keys so I went for /desktop/gnome/url-handlers/http/command and used it to fill the $BROWSER variable (the value is stripped of the "%s" part). )
- 59,745
- 16
- 131
- 158
-
2I wouldn't recommend editing `/usr/bin/sensible-browser` as this answer recommends. This change will be overwritten on a system upgrade. – Gilles 'SO- stop being evil' Feb 21 '14 at 11:53
-
rather than try to install a modified script on a users system, a more realistic solution is to use xdg-open as per Luca's answer. If you specify a html file or a URL it WILL open the browser - if you supply something else it will open an appropriate application for that type of resource. I doubt there is any good reason to open some file with a browser when it will be better handled by some other application, either by default or in accordance with the users explicit choice. If you must, you can force the browser to open it with x-www-browser (see Benjamin's answer) – flurbius Dec 27 '17 at 20:34