Puncte:7

permisiunea a fost refuzată când Evince încearcă să folosească Chrome pentru a deschide linkul

drapel jp

Știu că există întrebări despre problemele legate de deschiderea linkurilor Evince, dar aceasta pare o nouă eroare. Aceasta este în 21.04, dar cred că eroarea este foarte recentă, adică linkurile au funcționat mai devreme în 21.04. Așa că am pornit evince din linia de comandă și când am încercat să deschid un link în document, am primit această eroare:

[205689:205689:0812/101716.420196:FATAL:double_fork_and_exec.cc(131)] execv /opt/google/chrome/crashpad_handler: Permisiune refuzată (13)

Acesta este evince 40.1 și Chrome 92.0.4515.131

Am trimis o problemă cu evince despre asta: https://gitlab.gnome.org/GNOME/evince/-/issues/1646 și a stabilit că problema este AppArmor, care împiedică evince să invoce Chrome (dar îi permite să folosească Firefox). Așa că trebuie să modific profilul AppArmor pentru evince. Habar n-am cum să fac asta. Am încercat să folosesc aa-logprof, dar am nevoie clar de instrucțiuni pe care să le înțeleg. Aș aprecia orice indicații care arată pas cu pas cum se face modificarea necesară profilului evince.

Actualizați: Succes. Am adăugat această linie la profilul sanitized_helper din abstractions/ubuntu_helpers:

/opt/google/chrome/crashpad_handler Pixr,

și a reîncărcat profilul evince. Acum primesc aceste erori când dau clic pe link:

[20036:20069:0813/075235.070369:EROARE:address_tracker_linux.cc(195)] Nu s-a putut crea soclul NETLINK: Permisiune refuzată (13)
[20036:20065:0813/075235.071590:EROARE:udev_watcher.cc(52)] Nu s-a inițializat un monitor udev.
Deschidere în sesiunea de browser existentă.

Și linkul s-a deschis cu succes într-o nouă filă Chrome.

drapel ru
Începeți prin a rula `tail -f /var/log/syslog | grep -i apparmor` in terminal. Apoi încercați să deschideți linkul. Distribuiți rezultatul refuzurilor de apărare, astfel încât să putem începe să vă îndreptăm spre unde trebuie să mergeți pentru a remedia acest lucru, deoarece va indica politica specifică care are impact și apoi putem actualiza politica mai târziu.
drapel jp
Aug 13 05:38:20 ratel kernel: [52504.309148] audit: type=1400 audit(1628858300.725:61): apparmor="DENIED" operation="exec" profile="/usr/bin/evince//sanitized_helper" name= "/opt/google/chrome/crashpad_handler" pid=16475 comm="chrome" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0 Un comentariu la raportul meu gitlab a sugerat că problema pare să fie faptul că executabilele Chrome sunt în /opt/google/chrome, mai degrabă decât într-un loc „normal” precum /usr/bin.
drapel jp
Profilul sanitized_helper, definit în ubuntu_helpers, inclus indirect din profilul evince, pare să permită executarea lucrurilor sub /opt/google/chrome, dar nu crashpad_handler.
Gert Willems avatar
drapel cn
De asemenea, a trebuit să folosesc prefixul chrome_ pe ubuntu 20.04, versiunea chrome 96.0.4664.45 (build oficial) (64 de biți)
Puncte:10
drapel jp

Editați fișierul ubuntu-helpers:
sudo gedit /etc/apparmor.d/abstractions/ubuntu-helpers
Sub profil sanitized_helper {,
găsiți liniile începând cu /opt/google/chrome.
Adăugați această linie:
/opt/google/chrome/crashpad_handler Pixr,
Salvați fișierul.
Reîncărcați profilul evince (în timp ce vă aflați în /etc/apparmor.d):
sudo apparmor_parser -r usr.bin.evince

drapel cn
Mulțumesc mult! A funcționat și sub Debian 11. Pentru ultima parte, puteți rula doar „sudo service apparmor restart”.
drapel cn
Am folosit `/opt/google/chrome/chrome_crashpad_handler Pixr`, deoarece nu era nimic în acea cale cu numele `/opt/google/chrome/crashpad_handler` și soluția a funcționat. Apoi am revenit la soluția ta, nu mai funcționează. Apoi am revenit la soluția mea. :|
drapel jp
Pe sistemul meu, este încă `chrome_crashpad_handler`. Aceasta este versiunea Chrome 94.0.4606.61 (build oficial) (64 de biți). Foarte ciudat că numele ar fi diferit pe sistemul tău.
drapel cn
Am secund @ssi-anik că, de exemplu, Debian 11 (Bullseye) are un prefix `chrome` în fața lui `crashpad_handler`, deci răspunsul lui @ssi-anik este bun pentru unele cazuri.
Rob Rutten avatar
drapel ru
De asemenea, am nevoie de prefixul chrome_. Funcționează în Ubuntu 18,04!
drapel ng
Puteți căuta căile cu `$ dpkg -S `. Am Chrome standard de la Google (nu chromium sau altă alternativă). Pentru calea răspunsului: `dpkg-query: nu s-a găsit o cale care să corespundă modelului /opt/google/chrome/crashpad_handler`. Cu prefixul `chrome_`: `google-chrome-stable: /opt/google/chrome/chrome_crashpad_handler`.
drapel ng
Adăugarea acestei linii acoperă în schimb ambele cazuri: `/opt/google/chrome{,-beta,-unstable}/{,chrome_}crashpad_handler Pixr,`
water stone avatar
drapel in
De asemenea, am doar /opt/google/chrome/chrome_crashpad_handler, nu /opt/google/chrome/crashpad_handler (fostul nume de fișier este mai clar)
water stone avatar
drapel in
Reîncărcați profilul evince din orice director: sudo apparmor_parser -r /etc/apparmor.d/usr.bin.evince
Puncte:2
drapel jp

Am creat cererea de îmbinare pe AppArmor pentru a rezolva această problemă:

https://gitlab.com/apparmor/apparmor/-/merge_requests/830

David avatar
drapel cn
Dar mai târziu, când linkul nu este acolo? Dacă există informații importante în link, includeți-le în răspuns.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.