Você pode adicionar seu comando ao arquivo /etc/gdm/PostSession/Default
antes da linha exit 0
.
Quando eu desligo meu computador, quero mostrar algumas tarefas pendentes que preciso fazer antes de sair do escritório ... Eu fiz um aplicativo local para gerenciar essas tarefas, basicamente eu só quero executar um comando e desligar depois que eu mato o aplicativo executado.
Você pode adicionar seu comando ao arquivo /etc/gdm/PostSession/Default
antes da linha exit 0
.
Você pode fazer isso criando um script em /etc/rc0.d (para shutdown) e /etc/rc6.d (para reinicialização). Para fazer isso, execute:
gksu gedit /etc/rc0.d/K01mycustomscript
Edite seu script de desligamento no editor de texto e execute:
sudo chmod +x /etc/rc0.d/K01mycustomscript
E se você quiser que ele seja executado na reinicialização, execute-o também:
sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript
Fonte: este tópico do fórum
Parece uma pergunta para o superuser.com para mim. De qualquer forma, depois de alguns pesquisando eu encontrei como executar um script no logout? que diz para adicionar o script para $ HOME /.bash_logout.
Se isso não funcionar, adicione
$HOME/.bash_logout
para / etc / gdm / PostSession / Default, para que ele execute o script de logout corretamente.
Vendo como antes do desligamento o usuário está desconectado de qualquer maneira, isso deve cobrir ambas as bases.
Se você fizer ./app-to-run && sudo shutdown -h now
, o computador deve desligar quando o aplicativo para executar estiver concluído.
Quase a mesma resposta que Tommy Brunn, mas sem o risco de ficar sem a senha de root:
sudo sh -c "./app-to-run; shutdown -h now"