13

I find this command

sudo update-alternatives –config x-www-browser

I choose Chrome. It works for xpdf, but Evince still starts Firefox after click.

I feel Linux is not standard. I use Linux Mint 8 (Helena) LXDE.

3
  • this question is not well phrased , what do you mean that evince starts firefox ? Having seen this, now I am not so sure about my answer.
    – g24l
    Dec 16, 2011 at 0:12
  • I think the question is about which browser starts if you click on a URL in a PDF document.
    – erik
    Oct 24, 2013 at 9:51
  • For MATE users: askubuntu.com/a/533160/10425 Oct 7, 2014 at 11:52

9 Answers 9

17

As far as I understand LXDE uses xdg to do calls to applications. This command should fix your issue:

To find out which application opens a pdf file :

xdg-mime query default application/pdf

To set the application to evince

xdg-mime default evince.desktop application/pdf

This should work if your application is registered to the desktop (i.e. if there is a launcher)

2
  • 6
    this should actually be xdg-mime default evince.desktop application/pdf
    – xubuntix
    May 14, 2012 at 17:26
  • 2
    For me (Debian 10, unwanted default was libreoffice) this didn't work. Instead xdg-mime default org.gnome.Evince.desktop application/pdf did the trick.
    – phinz
    Jan 7, 2021 at 11:56
11

Solving your issue is like voodoo, even when there are "protocols" regarding how and which applications are supposed to open a specific kind of file. You'll see that they're very inconsistent between systems and different desktop environments.

So there's no really a "right" answer. I had a similar problem with firefox, so I'm giving you my solution:

  1. Create a ~/.local/share/applications/defaults.list if it doesn't exist
  2. Add the following

    [Default Applications]
    application/pdf=evince.desktop;
    

    ...or just the last line if there's something before.

2
4

You can edit your $HOME/.local/share/applications/mimeapps.list file. If this file does not exist, create one.

For illustration's sake, if you want Chromium to be the default browser, add the following line:

x-scheme-handler/http=chromium.desktop

That's all.

1
  • Worked like a charm on Arch Linux. Jul 10, 2013 at 2:35
4

I had a reverse problem - I want firefox to open the links, but evince started chromium no matter what.

I used strace -o /tmp/output evince to see what functions are called and found this in the log:

open("/home/koniu/.local/share/applications/firefox.desktop;", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/local/share/applications/firefox.desktop;", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/share/applications/firefox.desktop;", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/home/koniu/.local/share/applications/chromium.desktop", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/local/share/applications/chromium.desktop", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/share/applications/chromium.desktop", O_RDONLY|O_LARGEFILE) = 16

No idea why there's a semicolon included in the firefox.desktop but I created /home/koniu/.local/share/applications/firefox.desktop with the following content:

[Desktop Entry]
Name=Firefox
Exec=/usr/bin/firefox %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true

And now evince starts firefox as desired.

3

To change Gnome applications you need to use gconftool:

$ gconftool -s /desktop/gnome/url-handlers/http/command -t string 'chromium-browser %s'

To check the changes:

$ gconftool -g /desktop/gnome/url-handlers/http/command

Other Gnome applications:

/desktop/gnome/url-handlers/chrome/command
/desktop/gnome/url-handlers/https/command
/desktop/gnome/url-handlers/http/command
/desktop/gnome/url-handlers/ftp/command

Reference:

http://www.salixos.org/forum/viewtopic.php?f=15&t=1376&view=print

2
  • you keep telling the guy to setup gnome, but he is using LXDE...
    – g24l
    Dec 16, 2011 at 0:00
  • 1
    @g24l: Evince is a GNOME program, though. (However, it doesn't use GConf for URL handlers anymore.)
    – user1686
    Dec 16, 2011 at 0:17
1

None of these solutions worked for me.

I had to edit ~/.config/mimeapps.list and append these rules to the two headers:

[Default Applications]
application/pdf=org.gnome.Evince.desktop

[Added Associations]
application/pdf=evince.desktop;org.gnome.Evince.desktop;
0

Set the default browser in Gnome applications with gnome-default-applications-properties.

5
  • you almost killed my system! after apt-get gnome-control-center, the system is almost broken.
    – chenge
    Jun 14, 2010 at 9:22
  • define "almost broken"
    – msw
    Jun 14, 2010 at 11:10
  • 3
    The issue may be you are telling him to install gnome stuff when his window manager is probably LXDE.
    – Jarvin
    Jun 14, 2010 at 17:40
  • i report it: forums.linuxmint.com/viewtopic.php?f=47&t=50017 it write file .xsession-errors with "fcitx signal 11", and eat the hd space.
    – chenge
    Jun 15, 2010 at 10:40
  • 4
    @Dan keep in mind that evince is "gnome stuff", and has gnome dependencies; that said, I don't know what the right answer here is. (Also, LXDE is a desktop environment, not a window manager, not that matters here.)
    – frabjous
    Aug 31, 2010 at 2:31
0

I had this problem, using evince under KDE. I had to log out from KDE, login to GNOME, and set the default browser of GNOME (Search -> Details -> Default Applications -> Browser). Then go back to KDE and it worked fine.

0

I know this is a very old question... but none of the answers seem to give the correct answer.

First check that these shell commands: xdg-mime query default x-scheme-handler/http and xdg-mime query default x-scheme-handler/https both return firefox.desktop

Then to set Evince (any other Gnome apps that encounter a URL) to use chromium instead:

xdg-mime default chromium-browser.desktop x-scheme-handler/http and xdg-mime default chromium-browser.desktop x-scheme-handler/https

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.