如何在Linux上为PDF阅读器Evince设置默认浏览器?


12

我发现这个命令

sudo update-alternatives –config x-www-browser

我选择Chrome。它适用于xpdf,但Evince单击后仍可启动Firefox。

我觉得Linux不是标准的。我使用Linux Mint 8(Helena)LXDE。


这个问题的措辞不好,你是什么意思表示Firefox启动了?看到了这一点,现在我不确定我的答案。
g24l 2011年

我认为问题是,如果您单击PDF文档中的URL,则哪个浏览器启动。
erik

Answers:


10

解决问题就像伏都教,即使有关于应该如何以及哪些应用程序打开特定类型文件的“协议”。您会发现它们在系统和不同的桌面环境之间非常不一致。

因此,没有真正的“正确”答案。我在firefox中也遇到了类似的问题,所以我给你我的解决方案:

  1. ~/.local/share/applications/defaults.list如果不存在则创建一个
  2. 添加以下内容

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

    ...或者如果之前有其他内容,则只是最后一行。


1

它的工作方式像巫毒术一样,具有魔力,但仅是简单的=)
Shi B.

10

据我了解,LXDE使用xdg对应用程序进行调用。此命令应解决您的问题:

要找出哪个应用程序打开了pdf文件:

xdg-mime query default application/pdf

将应用程序设置为evince

xdg-mime default evince.desktop application/pdf

如果您的应用程序已注册到桌面(即,如果有启动器),则此方法应该有效


5
这实际上应该是xdg-mime default evince.desktop application/pdf
xubuntix 2012年

4

您可以编辑$HOME/.local/share/applications/mimeapps.list文件。如果此文件不存在,请创建一个。

为了说明起见,如果您希望Chromium成为默认浏览器,请添加以下行:

x-scheme-handler/http=chromium.desktop

就这样。


在Arch Linux上像灵符一样工作。
鲁迪·马泰拉

4

我遇到了一个相反的问题-我想让Firefox打开链接,但是无论如何,似乎都启动了Chrome。

我曾经strace -o /tmp/output evince查看过调用了哪些函数,并在日志中找到了它:

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

不知道为什么firefox.desktop中包含分号,但是我创建/home/koniu/.local/share/applications/firefox.desktop的内容如下:

[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

现在根据需要evince启动firefox


3

要更改Gnome应用程序,您需要使用gconftool:

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

要检查更改:

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

其他Gnome应用程序:

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

参考:

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


您一直告诉那个家伙设置gnome,但是他正在使用LXDE ...
g24l 2011年

1
@ g24l:Evince是GNOME程序。(但是,它不再将GConf用于URL处理程序。)
user1686 2011年

1

这些解决方案都不适合我。

我必须编辑~/.config/mimeapps.list这些规则并将其附加到两个标题中:

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

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

0

使用设置Gnome应用程序中的默认浏览器gnome-default-applications-properties


您差点杀死了我的系统!apt-get gnome-control-center之后,系统几乎崩溃了。
chenge

定义“几乎已损坏”
msw

3
问题可能是您告诉他当他的窗口管理器可能是LXDE时安装gnome东西。
Jarvin 2010年

我报告了这个消息:forums.linuxmint.com/viewtopic.php?f=47&t=50017 它使用“ fcitx signal 11”写入文件.xsession-errors,并吞噬了高清空间。
chenge 2010年

4
@Dan请记住,evince “ gnome的东西”,并且具有gnome依赖项;也就是说,我不知道正确的答案是什么。(此外,LXDE是桌面环境,而不是窗口管理器,在这里
没关系

0

我在KDE下使用evince遇到了这个问题。我必须从KDE注销,登录到GNOME,然后设置GNOME的默认浏览器(Search-> Details-> Default Applications-> Browser)。然后回到KDE,它运行良好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.