web-dev-qa-db-fra.com

Evince Document Viewer - Impossible d'exécuter le processus enfant "nemo" (autorisation refusée)

J'ai récemment migré de nautile vers Nemo. J'ai lu un fichier PDF et sélectionné Fichier> Ouvrir le dossier contenant.

Ce message est apparu:

Failed to execute child process "nemo" (Permission denied)

Pourquoi est-ce arrivé?
Que puis-je faire?

7
Chris

Ce problème semble être dû au fait qu'AppArmor limite ce que evince peut faire. Une solution consiste à désactiver AppArmor pour evince:

Sudo ln -s /etc/apparmor.d/usr.bin.evince /etc/apparmor.d/disable/usr.bin.evince
Sudo /etc/init.d/apparmor restart

Pour plus de discussion sur ce problème, regardez ceci lien .

5
OSE

Plutôt que de désactiver complètement la protection, vous pouvez ajouter une ligne pour chaque outil admissible au bloc /usr/bin/evince { ... } in

/etc/apparmor.d/usr.bin.evince

Les lignes doivent avoir la forme

/path/to/binary ixr,

Puis redémarrez AppArmor:

Sudo service apparmor restart
10
Raphael

Comme OSE a souligné, ce problème est dû au fait qu'AppArmor restreint les programmes qui peuvent évidemment démarrer. Vous pouvez ajouter nemo à la liste des applications qu’Evince est autorisé à lancer en modifiant /etc/apparmor.d/usr.bin.evince (vous aurez besoin des privilèges root).

Trouvez la section de ce fichier qui ressemble à ceci:

  # By default, we won't support launching a terminal program in Xterm or
  # KDE's konsole. It opens up too many unnecessary files for most users.
  # People who need this functionality can uncomment the following:
  ##include <abstractions/ubuntu-xterm>
  ##include <abstractions/ubuntu-konsole>

  /usr/bin/evince rmPx,
  /usr/bin/evince-previewer Px,
  /usr/bin/Yelp Cx -> sanitized_helper,
  /usr/bin/bug-buddy px,
  # 'Show Containing Folder' (LP: #1022962)
  /usr/bin/nautilus Cx -> sanitized_helper, # Gnome
  /usr/bin/pcmanfm Cx -> sanitized_helper,  # LXDE
  /usr/bin/krusader Cx -> sanitized_helper, # KDE
  /usr/bin/thunar Cx -> sanitized_helper,   # XFCE

Ajouter la ligne: /usr/bin/nemo Cx -> sanitized_helper, # Gnome,Linux Mint,etc

Redémarrez AppArmor avec

Sudo /etc/init.d/apparmor restart

Evince devrait maintenant pouvoir lancer Nemo.

2