Je me cogne la tête contre cela depuis un bon moment maintenant. C'est lié à cette question . Je voudrais savoir exactement ce qui se passe lorsque je choisis d'arrêter ma boîte Linux à partir de l'interface graphique. Cela semble être mal (voire pas du tout) documenté.
Idéalement, j'espère une réponse agnostique DE et OS. Sauf cela, je suis intéressé par le cas spécifique de Mandriva 2010.1 et Debian 6.x (Squeeze) et 7.0 (Wheezy) qui exécutent tous Gnome. (Si vous faites très attention, oui c'est Gnome 2 et Gnome 3)
Fondamentalement, je voudrais savoir quelle commande / script / séquence de scripts est démarrée lorsque j'appuie sur "Arrêter" ou "Redémarrer" pour pouvoir modifier leur comportement. Certains messages sur le forum que j'ai consultés suggèrent de pirater, /etc/polkit-1/*mais cette structure de répertoire n'est qu'un squelette sur ma boîte Debian (Squeeze), par exemple.
Quelqu'un peut-il aider?
ÉDITER
Ce que j'ai essayé jusqu'à présent
- Remplacé l'
shutdownexécutable par un script personnel. Cela ne fonctionne pas: lorsque j'appuie surshutdownGnome, il se déconnecte sans exécuter mon script. - J'ai essayé de modifier le menu Gnome 2. Pas de joie: les options "Shutdown", "Log out" et "Lock Screen" n'apparaissent pas dans l'éditeur de menu.
- Regardé
/usr/share/menu, rien d'utile là-bas.
Voies possibles pour la solution
straceen utilisant les options GUI (est-ce même possible?)- Regarder
shutdownle code source de - Regarder
gnome-sessionle code source de
Mise à jour
Selon mes commentaires sur la réponse ci-dessous, j'ai examiné les polkitactions sous /usr/share/polkit-1/actions/et trouvé (dans le fichier org.freedesktop.consolekit.policy) une action appelée org.freedesktop.consolekit.system.stop-multiple-usersqui lance le message
System policy prevents stopping the system when other users are logged in
Je pense (en raison de la org.freedesktop.*convention de dénomination) qu'il s'agit d'une sorte de signal envoyé au DM via D-BUS. De plus, ce message apparaît lorsque vous essayez de vous arrêter graphiquement alors que d'autres utilisateurs sont connectés, donc le mécanisme qui le déclenche doit être le même mécanisme déclenché lorsque "Shut Down" ou "Power Off" est sélectionné dans l'interface graphique.
Quelqu'un peut-il confirmer / réfuter? Y a-t-il une possibilité d'intercepter ou de modifier ce signal d'une manière ou d'une autre?
/etc/init.d/rc.localpour appeler un script lors de son arrêt .