Thunderbird cannot open attachments under Linux any more after updating

Solution 1:

The issue is triggered by a mix of a recent Debian kernel now supporting App Armor, and the App Armor rules shipped with the system being to strict and denying evince to access the recently used files (which are updated when opening an attachment with evince). The issue is also described in Debian bug report #882782 and might as well affect other Linux distributions.

The solution is to install the App Armor tools package (sudo apt install apparmor-utils and then adjusting the App Armor profile using sudo aa-logprof). The tool will show following observations (likely it will print more results which will indicate other issues, in my case it was the first):

$ sudo aa-logprof
Reading log entries from /var/log/audit/audit.log.
Updating AppArmor profiles in /etc/apparmor.d.

Profile:  thunderbird
Execute:  /usr/bin/evince
Severity: unknown

(I)nherit / (C)hild / (P)rofile / (N)amed / (U)nconfined / (X) ix On / (D)eny / Abo(r)t / (F)inish

The output means that while the thunderbird profile was active, /usr/bin/evince was to be executed but failed.

You can now decide whether to:

  • (I)nherit Thunderbird's profile (which means Thunderbird's restrictions will also apply to evince, which will not be matching properly), or

  • (C)hild will apply evince's profile instead (if available) <-- that's what we're looking for.

    ...

  • Finally, select (F)inish to finish editing.

If you use another tool to read logs, the prompt might read slightly different.

Future Thunderbird updates should bring better App Armor profiles, but this is a proper workaround for the moment (and should not do harm in future after better profiles are installed).


It's worth noting that the man page for aa-logprof only mentions this menu:

(A)llow, (D)eny, (I)gnore, (N)ew, (G)lob last piece, (Q)uit

but it doesn't seem to apply to this situation. Perhaps the man page will be updated at some point to better explain this.