Configurei o sistema Debian no meu netbook para desligar sempre que a bateria ficar muito fraca. O problema é que o desligamento mata todos os aplicativos em execução, sem dar a eles a chance de salvar qualquer documento em que eu esteja trabalhando.
Gostaria de escrever um script para fechar "suavemente" todos os aplicativos abertos antes que o desligamento seja iniciado, mas não consigo encontrar uma maneira de transmitir uma mensagem "Fechar" para todos os aplicativos em execução no Gnome. Há algum caminho?
Obrigado.
EDIT: A hibernação não funciona no meu netbook, então não posso usá-la como solução alternativa.
Responder1
O desligamento “fechará” suavemente (SIGTERM) todos os aplicativos abertos, dando a oportunidade de encerrar normalmente. Então, depois de um tempo, se o processo não responder, um hard kill (SIGKILL) - sem dar tempo parafechararquivos ou, mais importante, bancos de dados.
Um desligamento é um procedimento autônomo. Não se espera que responda à entrada do usuário. Portanto, não permitiria dar ao usuário a opção de salvar antecipadamente. Esta é a razão pela qual tanto o emacs quanto o vi(m) possuem arquivos de recuperação. Verifique em seus aplicativos se há um recurso de salvamento automático. Na maior parte dos casos, vale o velho ditado “Economize cedo, economize com frequência”.
Você já pensou em alterar as configurações de energia para que o sistemahibernar? Isso salvará o estado do sistema (incluindo programas em execução) para a próxima inicialização.
Responder2
Você poderia pedir ao gnome para fechar a sessão atual antes do desligamento. Algo como:
gnome-session-quit --logout --no-prompt
shutdown -h now
A sintaxe do comando pode mudar de acordo com a versão do gnome (por exemplo, gnome-session-quit
é onovonome de gnome-session-save
).
Força o --no-prompt
encerramento dos aplicativos em execução sem a confirmação do usuário.