Hi, I'm on Ubuntu 23.10 using Brave browser SNAP and I still face the issue (cannot open links in evince -using Brave browser snap).
Here are the versions: ```console ❯ apt list --installed | rg 'evince|apparmor' apparmor/mantic,now 4.0.0~alpha2-0ubuntu5 amd64 [installed,automatic] evince-common/mantic,mantic,now 45.0-1 all [installed,automatic] evince/mantic,now 45.0-1 amd64 [installed] libapparmor1/mantic,now 4.0.0~alpha2-0ubuntu5 amd64 [installed,automatic] ``` Brave Browser 120.1.61.101 `journalctl -f` log: ```console Dec 20 12:18:37 laptop kernel: audit: type=1400 audit(1703071117.044:3565): apparmor="DENIED" operation="open" class="file" profile="/usr/bin/evince//snap_browsers" name="/proc/cgroups" pid=1351803 comm="brave" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 Dec 20 12:18:37 laptop brave_brave.desktop[1351803]: internal error, please report: running "brave" failed: open /snap/brave/323/meta/snap.yaml: permission denied Dec 20 12:18:37 laptop kernel: audit: type=1400 audit(1703071117.052:3566): apparmor="DENIED" operation="open" class="file" profile="/usr/bin/evince//snap_browsers" name="/snap/brave/323/meta/snap.yaml" pid=1351803 comm="brave" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 ``` I see the following in `/etc/apparmor.d/usr.bin.evince` with all includes commented, including `snap_browsers` line. Is that normal? Thanks ``` │ File: /etc/apparmor.d/usr.bin.evince │ Size: 11.5 KB ───────┼──────────────────────────────────────────────────────────────────────── 1 │ # vim:syntax=apparmor 2 │ 3 │ # evince is not written with application confinement in mind and is designed to 4 │ # operate within a trusted desktop session where anything running within the 5 │ # user's session is trusted. That said, evince will often process untrusted 6 │ # input (PDFs, images, etc). Ideally evince would be written in such a way that 7 │ # image processing is separate from the main process and that processing 8 │ # happens in a restrictive sandbox, but unfortunately that is not currently the 9 │ # case. Because evince will process untrusted input, this profile aims to 10 │ # provide some hardening, but considering evince's design and other factors such 11 │ # as X, gsettings, accessibility, translations, DBus session and system 12 │ # services, etc, complete confinement is not possible. 13 │ 14 │ #include <tunables/global> 15 │ 16 │ /usr/bin/evince { 17 │ #include <abstractions/audio> 18 │ #include <abstractions/bash> 19 │ #include <abstractions/cups-client> 20 │ #include <abstractions/dbus-accessibility> 21 │ #include <abstractions/evince> 22 │ #include <abstractions/ibus> 23 │ #include <abstractions/nameservice> 24 │ 25 │ #include <abstractions/ubuntu-browsers> 26 │ #include <abstractions/ubuntu-console-browsers> 27 │ #include <abstractions/ubuntu-email> 28 │ #include <abstractions/ubuntu-console-email> 29 │ #include <abstractions/ubuntu-media-players> 30 │ 31 │ # allow evince to spawn browsers distributed as snaps (LP: #1794064) 32 │ #include if exists <abstractions/snap_browsers> 33 │ 34 │ # For now, let evince talk to any session services over dbus. We can 35 │ # blacklist any problematic ones (but note, evince uses libsecret :\) 36 │ #include <abstractions/dbus-session> 37 │ 38 │ #include <abstractions/dbus-strict> 39 │ dbus (receive) bus=system, ``` -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to evince in Ubuntu. https://bugs.launchpad.net/bugs/1794064 Title: Clicking a hyperlink in a PDF fails to open it if the default browser is a snap Status in apparmor package in Ubuntu: Fix Released Status in evince package in Ubuntu: Fix Released Status in apparmor source package in Jammy: Fix Released Status in evince source package in Jammy: Fix Released Status in apparmor source package in Lunar: Fix Released Status in evince source package in Lunar: Fix Released Status in apparmor package in Debian: Fix Released Status in evince package in Debian: Confirmed Bug description: [Impact] * Users cannot open a hyperlink in a PDF opened with evince when the default browser is a snap. * The fix creates a snap_browsers abstraction on AppArmor which can be used in a transition for when the browser is executed. The snap_browsers abstraction provides the minimal amount of permissions required to execute a browser provided through snaps. This is a workaround since AppArmor currently does not provide mediation/filtering on enhanced environment variables. [Test Plan] * Make sure the default browser is provided through the snap store. * Open a PDF that contains a hyperlink using evince and click on the URL. * The browser should open the requested URL. [Where problems could occur] * If the browser or snap core update to have new requirements for opening a browser, then the current policy could become obsolete and will need to be updated again. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1794064/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp