Hyperlinks, auf die in evince document viewer geklickt wird, werden nicht geöffnet. Gibt es Ideen zur Behebung?

10

Wie in einem anderen Thread hier in den Foren angegeben, habe ich die Datei /usr/share/applications/mimeinfo.cache geöffnet, um nach korrekten Referenzen zu suchen. Und bemerkt, dass dies nicht das Problem zu sein scheint, es gibt sogar 3 optionale Browser zu verwenden.

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

Ich habe bereits mit dem Befehl "which" im Terminal überprüft, ob die Programme korrekt benannt sind:

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

Google-Chrome sollte also die erste Option sein, und dennoch scheint der Befehl zum Öffnen einer URL nicht im Programm anzukommen, auch nicht in der zweiten oder dritten Option.

Außerdem funktioniert der Befehl "Online-Hilfe abrufen ..." im Menü "Hilfe" nicht. Es ist also auch kein Problem mit der spezifischen Dokumentdatei.

Ich verwende Ubuntu 12.04 LTS. Wenn Sie weitere relevante Details anfordern müssen, tun Sie dies bitte. Es wäre schön, verschiedene Meinungen darüber zu haben, wie man das löst, danke :-)

UPDATE: Ich bin wie gefragt vom Terminal gelaufen.
Folgendes bekomme ich, wenn ich versuche, einen Link zu öffnen:

/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

Sollte ich das von Ihnen vorgeschlagene Update versuchen, auch wenn mein Fehlerprotokoll anders ist?

UPDATE: Versuchte @ maggotbrains Lösung und BINGO, jetzt kann ich dank dir, Bruder, PDF-Referenzen schneller studieren!

JorgeArtware
quelle
Könnten Sie evince von einem Terminal aus ausführen und erneut versuchen, auf eine URL im PDF zu klicken? Fügen Sie dann Ihrer ursprünglichen Frage Fehlermeldungen hinzu? Vielen Dank.
Kevin Bowen
Verwandte Fragen und Antworten, bei denen die vorgeschlagene Antwort für OP nicht funktioniert: askubuntu.com/questions/254212/…
Kevin Bowen
1
Ich habe gerade über neue Erkenntnisse informiert. Es tut mir leid, dass ich die Antworten noch nicht verbessern kann. Ich bin neu in der Community.
JorgeArtware
Keine Bange. Herzlich willkommen! Sie können meine Lösung ausprobieren und sehen, ob sie für Sie funktioniert, obwohl die Fehlermeldungen unterschiedlich sind. Wenn es nicht funktioniert, entfernen Sie einfach die Zeilen aus der Datei und führen Sie den Befehl erneut aus. Viel Glück.
Kevin Bowen

Antworten:

1

Möglicherweise stoßen Sie auf einen Fehler bei der Behandlung externer URLs durch Apparmor.

Das Problem, dass ich URLs in evince geöffnet habe, führte dazu, dass beim Klicken auf eine URL in einem PDF-Dokument der folgende Fehler (in der Befehlszeile) generiert wurde:

(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

Wie in diesem Kommentar vorgeschlagen , konnte ich dieses Problem mit Chrom folgendermaßen beheben:

Fügen Sie diese Zeilen nach der Zeile "/ usr / lib * / {, * /} Pixr," zu /etc/apparmor.d/abstractions/ubuntu-helpers hinzu:

# 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,

Zum Schluss laufen sudo apparmor_parser -T -W -r /etc/apparmor.d/usr.bin.evince

Kevin Bowen
quelle
Ich habe das Protokoll gegoogelt und die Suchergebnisse haben dieselbe Seite geworfen, die Sie mir gegeben haben, über den Fehler # 964510 (auf bugs.launchpad.net). Das ist also ein Kinderspiel für mich. Ich werde das versuchen. Wird Sie über die Ergebnisse auf dem Laufenden halten. :)
JorgeArtware
du bist der Mann! Es hat nicht nur funktioniert, sondern ich habe auch gelernt, wie man Dinge selbst diagnostiziert: D Danke !!
JorgeArtware
Ausgezeichnet! Ihre Frage hat mir geholfen, ein Problem zu lösen, das ich bisher vergessen hatte. Danke dir. Prost.
Kevin Bowen
Dies funktionierte - sobald ich sicher war, die Anweisungen genauer zu befolgen, als es mein erster Versuch ermöglichte. Das heißt: Stellen Sie sicher, dass Sie die vorgeschlagenen Zeilen 'nach der Zeile "/ usr / lib * / {, * /} Pixr,":' einfügen.
MarkWayne
1
Dies hat bei Ubuntu 16 bei mir nicht funktioniert. Es gibt keine Zeile mit dem genauen Inhalt /usr/lib*/{,*/} Pixr,.
Cerin
3

Keine der oben genannten Lösungen hat bei mir funktioniert, dies funktioniert jedoch:

Sehen Sie, was derzeit auf der Ignorierliste steht

ls -la /etc/apparmor.d/disable

Fügen Sie nun Document Viewer (evince) zu dieser Liste hinzu

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

Nehmen Sie die Änderung in Angriff

sudo service apparmor restart
Scott Stensland
quelle
Arbeitete für mich, ich habe eine Weile gesucht! Irgendwelche Details darüber, was das genau macht?
Jonathan H
funktioniert wie ein Zauber
Jingguo Yao
1
@ Sh3ljohn Dies scheint im Grunde alle Sicherheitshärtungen zu deaktivieren, die auf evince angewendet werden. Denken Sie daran, dass PDFs im Grunde genommen Bündel komplexer Daten sind, die analysiert und über einen komplexen Software-Stack angezeigt (und auch irgendwie ausgeführt) werden müssen. Sie sind also bekannte Angriffsvektoren.
Stéphane Gourichon
1
@ StéphaneGourichon Ist das dann eine gefährliche Sache? Ich möchte nicht, dass alle Sicherheitsüberprüfungen deaktiviert werden. Ich möchte nur auf Links klicken können.
Jonathan H
1

Dieser Fehler wurde vor einiger Zeit behoben. Die Zeilen in der Datei /etc/apparmor.d/abstractions/ubuntu-helperswaren enthalten.

Xpdf hatte jedoch keine Probleme.

Unter der Annahme, dass gnome-gmailund gnome-gmail-notifierinstalliert sind und in den Systemeinstellungen angegeben wurden, müssen Sie zunächst evince deaktivieren und anschließend apparmor neu starten, damit die Hyperlinks umgeleitet werden. (Das hat bei mir sowieso funktioniert).

Geben Sie hier die Bildbeschreibung ein

sudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/usr.bin.evince
sudo /etc/init.d/apparmor restart
getan
quelle
Erleben das gleiche Problem mit Evince in Lubuntu 18.04 LTS, die Linien sudo ln -s /etc/apparmor.d/usr.bin.evince, /etc/apparmor.d/disable/usr.bin.evinceund sudo /etc/init.d/apparmor restartfür mich gearbeitet, aber erst nach einem Neustart!
Han Leushuis
1

Ich habe Chromium (nicht Chrome) unter Ubuntu 14.04 und füge hinzu

/usr/lib/chromium-browser/chrome-sandbox PUxr nach der Zeichenfolge

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

in der Datei /etc/apparmor.d/abstractions/ubuntu-helpers , dann sudo service apparmor reloadlöste dieses Problem für mich.

Gefunden hier .

Ademin
quelle
0

Ich hatte das gleiche Problem mit MATE. Als ich in einem PDF-Dokument auf Hyperlinks geklickt habe, wurde Firefox geöffnet, obwohl ich es bereits versucht hatte sudo update-alternatives --config x-www-browser.

Die vollständige Diskussion finden Sie unter github.com/mate-desktop/mate-control-center/issues/91 . Die Lösung war:

$ mate-default-applications-properties

Dadurch wird eine GUI gestartet, in der Sie den Standardbrowser festlegen können.

Martin Thoma
quelle