Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

If I go into evince's save dialog, go to /home/username/Documents, in my home directory, and try to create a new directory (e.g. foo), the operation fails. Evince says:

Could not create directory /home/[username]/Documents/foo: Permission denied

Evince refuses to save files, too, with the same sort of message.

I am running Ubuntu 12.04 and evince 3.4.0. I should also mention that /home is a symlink to /media/hdd/home (the filesystem is split across a solid-state drive and HDD; a bit of an experiment). This does not bother any other applications. Evince is running as me, and should have write permissions on /media/hdd/home/username/Documents, according to ls -l.

dmesg shows that evince tried to create the directory, but was denied:

[10991.212472] type=1400 audit(1355983426.653:614): apparmor="DENIED"
operation="mkdir" parent=1 profile="/usr/bin/evince" name="/media/hdd/home
/username/Documents/foo/" pid=2940 comm="evince" requested_mask="c" denied_mask="c"
fsuid=1001 ouid=1001
share|improve this question

1 Answer 1

I had the same problem and solved it with:

$ sudo apt-get install apparmor-utils
$ sudo aa-complain /usr/bin/evince

This changes the apparmor profile for evince into complain mode. This means apparmor will complain in syslog about every action of evince that should be denied (according to the profile) ... but it allows it nevertheless.

Of course this is not the best solution as the whole profile is kind of "turned off" then. But as I don't know how to convince apparmor to allow evince doing mkdir on symlinked targets outside of ~ (which is the reason for the denial), this works well for me.

share|improve this answer
    
What if apparmor is not installed by default, and you do not want to install it only because of this bug? I get: sudo: aa-complain: command not found –  Gin Gordon Apr 13 at 18:50
1  
Maybe you do have apparmor installed, but you have to install apparmor-utils for the aa-complain command to be available. –  Nicolas Apr 15 at 20:35
    
$ dpkg -l apparmor indeed reveals that it is installed, as in any Ubuntu distro. apparmor-utils is not installed by default; I edited your answer accordingly. Thanks for the solution. –  Gin Gordon Apr 15 at 22:51

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.