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'
shutdown
exécutable par un script personnel. Cela ne fonctionne pas: lorsque j'appuie surshutdown
Gnome, 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
strace
en utilisant les options GUI (est-ce même possible?)- Regarder
shutdown
le code source de - Regarder
gnome-session
le code source de
Mise à jour
Selon mes commentaires sur la réponse ci-dessous, j'ai examiné les polkit
actions 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-users
qui 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.local
pour appeler un script lors de son arrêt .