So öffnen Sie einen Link in einer PDF-Datei mit dem Fehler: „Externer Link kann nicht geöffnet werden. Fehler beim Ausführen des untergeordneten Prozesses "sh" (Berechtigung verweigert) "?

7

Ich habe ein ähnliches Problem wie diese unbeantwortete Frage .

Wenn ich mit evince auf einen Link in einem PDF-Dokument klicke, wird folgende Fehlermeldung angezeigt: "Externer Link kann nicht geöffnet werden. Fehler beim Ausführen des untergeordneten Prozesses" sh "(Berechtigung verweigert)".

Geben Sie hier die Bildbeschreibung ein

Als Referenz befindet sich der Link auf S. 22. 6 dieser PDF: https://1drv.ms/b/s!ArWcVIN9MDpYlALaxYygOngeodbz . STRG + F "Kulturparameter".

Beachten Sie, dass Sie den Link einfach kopieren können, indem Sie mit der rechten Maustaste darauf klicken und ihn in den Browser einfügen. Es ist jedoch hilfreich, den Link zum Laufen zu bringen, indem Sie direkt darauf klicken.

Wenn ich unter Adobe 10 in Adobe Acrobat Reader auf den Link klicke, wird folgende Eingabeaufforderung angezeigt:

Eingabeaufforderung für PDF-Link-Berechtigungen

Wenn Sie auf Zulassen klicken, wird die URL im Standardbrowser geöffnet. So kann ich bestätigen, dass dies ein Problem mit Ubuntu ist.

Beachten Sie, dass ich Bash-Skripte über die Befehlszeile ausführen kann. Dies habe ich getan, um die PDF-Datei aus der TeX-Datei mit einem einfachen ./build.shBefehl zu erstellen, während ich cdin das Verzeichnis der Datei ging.

Das Problem tritt auch in diesem Dokument auf . Beachten Sie, dass das Klicken auf Links mit der PDF Viewer-Erweiterung im Brave-Browser problemlos funktioniert.

Wenn ich die Schritte in dieser Frage durchführe und evince ausführe und auf einen Link klicke, wird in Bash keine Ausgabe angezeigt.

In Ubuntu 17.10 passiert immer noch nichts, wenn Sie im Dropdown-Menü der App auf Hilfe klicken.

Versuche Vorschläge von @muru:

$ type -a sh
sh is /bin/sh
$ namei -lx /bin/sh
f: /bin/sh
Drwxr-xr-x root root /
drwxr-xr-x root root bin
lrwxrwxrwx root root sh -> dash
-rwxr-xr-x root root   dash

(Obwohl es wahrscheinlich keine Rolle spielt, befinden sich die Dokumente in meinem Home-Verzeichnis, nicht auf einer externen Festplatte oder darüber.)

$ grep -i 'apparmor.*denied' /var/log/syslog | sort -uk12,12
Jan 19 12:11:44 james-Streacom kernel: [ 1243.518218] audit: type=1400 audit(1516324304.691:131): apparmor="DENIED" operation="create" profile="/usr/bin/evince//sanitized_helper" pid=4894 comm="WebKitWebProces" family="netlink" sock_type="raw" protocol=0 requested_mask="create" denied_mask="create"
Jan 19 11:01:55 james-Streacom kernel: [ 3443.867198] audit: type=1400 audit(1516320115.513:125): apparmor="DENIED" operation="exec" profile="/usr/bin/evince" name="/bin/dash" pid=7738 comm="evince" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0
Jan 19 12:59:09 james-Streacom kernel: [ 4088.301201] audit: type=1400 audit(1516327149.446:146): apparmor="DENIED" operation="file_mmap" profile="snap.akasha.akasha" name="/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf" pid=6997 comm="akasha" requested_mask="m" denied_mask="m" fsuid=1000 ouid=0
Jan 19 10:47:22 james-Streacom kernel: [ 2571.053151] audit: type=1400 audit(1516319242.706:123): apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/var/lib/snapd/desktop/applications/mimeinfo.cache" pid=7011 comm="evince" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Jan 19 00:07:17 james-Streacom kernel: [52772.610086] audit: type=1400 audit(1516280837.487:52060): apparmor="DENIED" operation="open" profile="snap.akasha.akasha" name="/sys/bus/usb/devices/" pid=31923 comm="geth" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
James Ray
quelle
Es ist eine lange Ausgabe, ich werde eine Gist-Datei erstellen; Es hat viele Nachrichten mit apparmor="DENIED". Eigentlich ist es so lange her, dass es die Nachrichten überschreibt, die Bash anzeigen kann, also muss ich es in einer Datei protokollieren.
James Ray
Ich glaube, ich habe das Problem gefunden. Dies ist eine Zeile : apparmor="DENIED" operation="open" profile="snap.akasha.akasha" name="/sys/bus/usb/devices/" pid=31923 comm="geth" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0. Die Akasha-Anwendung scheint es zu blockieren, obwohl es nicht ausgeführt wird. gist.github.com/jamesray1/f05fd70dbe20e8d74102f1874676ca7d . Ich werde ein Problem mit den Entwicklern melden. Ich erinnere mich jedoch, dass ich diesen Fehler erhalten habe, bevor ich Akasha installiert habe, das ich erst gestern Abend installiert habe.
James Ray
1
Ich habe nicht so viel Output erwartet, tut mir leid. Versuchen Sie : grep -i 'apparmor.*denied' /var/log/syslog | sort -uk12,12. Das sollte Ihnen die richtige Ursache des Problems zeigen: AppArmor verweigert gedit das Öffnen von Elementen außerhalb einer bestimmten Whitelist.
Muru
2
Das Akasha-Ding ist ein roter Hering. Es ist der sanierte Helfer. Überprüfen /etc/apparmor.d/usr.bin.evinceSie, ob evince nur bestimmte Anwendungen öffnen darf. Nun liegt es an Ihnen, wie Sie dieses Problem lösen möchten. Sie können dieser Whitelist einen Befehl hinzufügen oder AppArmor für evince deaktivieren (wie es für Firefox, IIRC deaktiviert ist).
Muru
1
Das wäre wahrscheinlich askubuntu.com/q/961967/158442 . Verwenden Sie sudo nanooder sudo vimwenn Sie mit diesen vertraut sind.
Muru

Antworten:

2

Wenn der Brave-Browser auf den Standardbrowser eingestellt ist, tritt dieser Fehler auf, jedoch nicht, wenn Firefox oder Chrome auf den Standard eingestellt sind. Ich habe hier ein Problem gepostet .

James Ray
quelle