I got a new HDD recently and linked /home to a new partition mounted on /data/, /data/home/. Just like I did a dozen times before. Now a realized, that my pdf viewer evince (and surely some other programs) aren’t working anymore. Evince crashes with this error message:
(evince:22792): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported (evince:22792): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/lenfers/.recently-used.xbel', but the parser failed: Datei »/home/lenfers/.recently-used.xbel« konnte nicht geöffnet werden: Permission denied. ** (evince:22792): WARNING **: Error creating last_settings file: Fehler beim Öffnen der Datei »/home/lenfers/.gnome2/evince/last_settings«: No such file or directory
As I found out, that is caused by AppArmor, a surely useful innovation to secure your computer, but new enough that I haven’t took the time to get to know it. AppArmor is activated by default on Ubunut 10.04 (and IIRC 9.10 and maybe 9.04 as well) and restricts access of programs on certain files. Due to the change of my home directory, evince tried to access files which for AppArmor are in /data/home/lenfers/ and consequently disallowed access to them.
The solution to this is easy, after I found it: Make your new location for home directories known to AppArmor: Add the path of your home direcories to the HOMEDIRs var in /etc/apparmor.d/tunables/home. Now the line looks like that for me:
Now back to work. 🙂