如果未打开文档查看器中单击的超链接,则如何解决的任何想法?


10

正如论坛中另一个主题中所指示的那样,我打开了/usr/share/applications/mimeinfo.cache文件来检查正确的引用。并且注意到这似乎不是问题,甚至有3种可选浏览器可供使用。

x-scheme-handler/http=google-chrome.desktop;chromium-browser.desktop;firefox.desktop;
x-scheme-handler/https=google-chrome.desktop;chromium-browser.desktop;firefox.desktop;

我已经使用终端中的“ which”命令检查了程序的正确命名,如下所示:

$ which google-chrome
$ /usr/bin/google-chrome

因此,google-chrome应该是第一个选项,但是打开url的命令似乎并没有到达程序,无论如何,甚至没有到达第二个或第三个选项。

同样,“帮助”菜单中的“在线获取帮助...”命令不起作用。因此,特定文档文件也不是问题。

我正在运行Ubuntu 12.04 LTS。如果您需要其他更详细的信息,请这样做。对于如何解决此问题有各种各样的意见,这是很好,谢谢:-)

更新:我按要求从终端跑了。
这是尝试打开链接时得到的:

/opt/google/chrome/google-chrome: line 42: /opt/google/chrome/chrome: Permission denied
/opt/google/chrome/google-chrome: line 42: /opt/google/chrome/chrome: Success

即使我的错误日志不同,我是否应该尝试您建议的修复程序?

更新:尝试了@maggotbrain的解决方案和BINGO,现在谢谢您,我可以更快地学习pdf参考!


您能否从终端运行evince并尝试再次单击pdf中的URL。然后将任何错误消息添加到您的原始问题吗?谢谢。
凯文·鲍文

相关Q&A,其中建议的答复并不为OP工作:askubuntu.com/questions/254212/...
凯文·鲍恩

1
我刚刚更新了新发现。抱歉,我还不能支持答案,因为我是社区中的新成员。
JorgeArtware

别担心。欢迎!您可以尝试我的解决方案,看看它是否对您有用,即使错误消息有所不同。如果它不起作用,只需从文件中删除行并重新运行命令即可。祝你好运。
凯文·鲍文

Answers:


1

您可能遇到了Apparmor处理外部URL 的错误

我在evince内打开URL的问题导致,每当单击pdf文档中的URL时,都会在命令行上生成以下错误:

(evince:32091): EvinceView-CRITICAL **: ev_document_model_set_document: assertion
`EV_IS_DOCUMENT (document)' failed
/usr/lib/chromium-browser/chromium-browser-sandbox: error while loading shared
libraries: libpthread.so.0: failed to map segment from shared object: Permission denied

该评论中所建议,我可以通过以下操作解决铬的问题:

将这些行添加到“ / usr / lib * / {,* /} Pixr,” 行之后的/etc/apparmor.d/abstractions/ubuntu-helpers中:

# From https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/964510/comments/12
# While the chromium and chrome sandboxes are setuid root, they only link
# in limited libraries so glibc's secure execution should be enough to not
# require the santized_helper (ie, LD_PRELOAD will only use standard system
# paths (man ld.so)).
/usr/lib/chromium-browser/chromium-browser-sandbox PUxr,
/opt/google/chrome/chrome-sandbox PUxr,
/opt/google/chrome/google-chrome Pixr,
/opt/google/chrome/chrome Pixr,
/opt/google/chrome/lib*.so{,.*} m,

最后跑 sudo apparmor_parser -T -W -r /etc/apparmor.d/usr.bin.evince


我在日志中搜索,搜索结果显示在您给我的同一页面上,有关bug#964510(在bugs.launchpad.net上),所以对我来说这就是个好去处。我会尝试的。将使您随时了解结果。:)
JorgeArtware

你是男人!它不仅有效,而且我学会了如何自己诊断问题:D谢谢!!
JorgeArtware

优秀的!您的问题帮助我解决了一个至今却忘记的问题。谢谢你。干杯。
凯文·鲍文

这行得通-一旦我确定要比我的第一次尝试更仔细地遵循说明。也就是说:确保在“ / usr / lib * / {,* /} Pixr ,,”行之后插入建议的行:”。
MarkWayne 2014年

1
在Ubuntu 16上这对我不起作用。没有确切的内容/usr/lib*/{,*/} Pixr,
塞林

3

以上解决方案均不适用于我,但这确实可行:

查看当前忽略列表中的内容

ls -la /etc/apparmor.d/disable

现在将Document Viewer(证据)添加到该列表

sudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/usr.bin.evince 

参与改变

sudo service apparmor restart

为我工作,我已经搜索了一段时间!有关此功能的任何详细信息?
乔纳森·H

像魅力一样工作
姚静国

1
@ Sh3ljohn这基本上似乎禁用了应用于evince的所有安全强化。请记住,PDF基本上是一堆复杂的数据,可以通过复杂的软件堆栈进行解析和显示(以及以某种方式执行)。因此,它们是已知的攻击媒介。
斯特凡纳·古里科

1
@StéphaneGourichon那是一件危险的事情吗?我不想禁用所有安全检查,我只希望能够单击链接。
乔纳森·H

1

此错误已在不久前修复。文件中的行/etc/apparmor.d/abstractions/ubuntu-helpers已包括在内。

Xpdf 没有问题,但是。

但是,假设gnome-gmailgnome-gmail-notifier安装,并在系统设置中已经明确,才能有超链接重定向,一个必须禁用了Evince第一,并重新启动AppArmor的之后。(无论如何,这就是对我有用的东西)。

在此处输入图片说明

sudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/usr.bin.evince
sudo /etc/init.d/apparmor restart

遇到了Evince同样的问题在Lubuntu 18.04 LTS,线条sudo ln -s /etc/apparmor.d/usr.bin.evince/etc/apparmor.d/disable/usr.bin.evince以及sudo /etc/init.d/apparmor restart为我工作,但只有在重新启动后!
Han Leushuis

1

我在Ubuntu 14.04上安装了Chromium(不是Chrome)并添加了

/usr/lib/chromium-browser/chrome-sandbox PUxr 在字符串之后

/usr/lib/chromium-browser/chromium-browser-sandbox PUxr

在文件/etc/apparmor.d/abstractions/ubuntu-helpers中,然后 sudo service apparmor reload为我解决了这个问题。

这里找到。


0

我在MATE遇到同样的问题。当我单击PDF文档中的超链接时,尽管它已经尝试了,但它打开了Firefox sudo update-alternatives --config x-www-browser

完整的讨论在github.com/mate-desktop/mate-control-center/issues/91上。解决方案是:

$ mate-default-applications-properties

这将启动一个GUI,您可以在其中设置默认浏览器。

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.