I have the following scenario: Ubuntu 16.04 machine with firefox and chrome installed, chrome being my default browser.
I check this actions in the shell :
cat /usr/share/applications/defaults.list
cat /etc/mailcap
cat /.config/mimeapps.list
cat /.local/share/applications/mimeinfo.cache
x-www-browser-> chrome is launch
xdg-mime query default text/html
response:
google-chrome.desktop
And does not appear firefox by any side, always chrome. This is fine. Also check:
Click on a desktop file file.html -> chrome is launch
And now comes the strange, if I run:
xdg-open "http://www.example.com"
For some strange reason it always opens firefox. I do not know why, could anyone help me?
To set a default browser, make sure that a .desktop
file exists for your preferred browser. I'll be setting Mozilla Iceweasel for this example:
$ ls /usr/share/applications/iceweasel.desktop
iceweasel.desktop
Assured you have the file, run:
$ xdg-settings set default-web-browser iceweasel.desktop
# Test that it works
$ xdg-open "http://example.com"
I use the program surf
, which doesn't have a .desktop file. To set this as your web browser, first create the file ~/.local/share/applications/surf.desktop
with this following content:
[Desktop Entry]
Type=Application
Name=surf
Comment=Surf minimal web browser
Terminal=false
Exec=surf
Categories=Network;WebBrowser
While not all of this content is required, it helps categorize the file for any future use.
Set the default browser like normal:
$ xdg-settings set default-web-browser surf.desktop
And now you're good to go!
text/html is for html files, ie if you open a html file then it would open in google chrome. For opening urls, you need to have the x-scheme-handler/https and x-scheme-handler/http entries.
you can set that either with xdg-mime. For example to set google chrome as the default browser for xdg-open:
xdg-mime default google-chrome.desktop x-scheme-handler/https
xdg-mime default google-chrome.desktop x-scheme-handler/http
Or you can put the following lines in ~/.config/mimeapps.list
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
The above command basically insert these lines to that file.
Note: you should obviously have the google-chrome.desktop file under ~/.local/share/applications or the systemwide alternative location - /usr/share/applications.
For changing the default browser overall, you also have to use xdg-settings as shown by Nolan Akash . xdg-settings changes the value of $BROWSER so another way to change it is to explicitly assign the program ( not the .desktop file) to $BROWSER environment variable and export it.
export BROWSER=google-chrome
Solved, just open chrome browser and set as default browser. This fix the problem.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.