web-dev-qa-db-fra.com

Exécuter le script avant de fermer

Lorsque j'éteins mon ordinateur, je souhaite afficher certaines tâches en attente à effectuer avant de quitter le bureau ... J'ai créé une application locale pour gérer ces tâches. Je souhaite simplement exécuter une commande et arrêter après avoir tué l'application exécutée.

21
juanefren

Vous pouvez ajouter votre commande au fichier /etc/gdm/PostSession/Default avant la ligne exit 0.

7
popey

Vous pouvez le faire en créant un script dans /etc/rc0.d (pour l’arrêt) et /etc/rc6.d (pour le redémarrage). Pour cela, lancez:

gksu gedit /etc/rc0.d/K01mycustomscript

Éditez votre script d'arrêt dans l'éditeur de texte puis exécutez:

Sudo chmod +x /etc/rc0.d/K01mycustomscript

Et si vous voulez qu’il s’exécute au redémarrage, lancez ceci:

Sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript

Source: ce sujet du forum

6
dv3500ea

Cela ressemble à une question pour superuser.com pour moi. Quoi qu'il en soit, après quelques googler j'ai trouvé comment exécuter un script sur la déconnexion? qui dit d'ajouter le script à $ HOME/.bash_logout.

Si cela ne fonctionne pas, ajoutez

$HOME/.bash_logout

dans/etc/gdm/PostSession/Default pour qu’il exécute correctement le script de déconnexion.

De la même manière que si l'utilisateur est déconnecté avant l'arrêt, cela devrait couvrir les deux bases.

4
myusuf3

Si vous faites ./app-to-run && Sudo shutdown -h now l'ordinateur devrait s'éteindre une fois l'application lancée.

2
Tommy Brunn

Presque la même réponse que Tommy Brunn mais sans risque de bloquer le mot de passe root:

Sudo sh -c "./app-to-run; shutdown -h now"
1
samb