Criar script para salvar arquivos antes de desligar via SSH

Preciso de um script que primeiro feche todos os programas abertos, se existir algum arquivo não salvo, que ele salve em uma pasta específica qualquer e depois desligue o PC. Seria possível fazer isso?

Tenho um Raspberry pi 3 rodando Raspbian. E tenho um pc rodando Mint x64 Cinnamon.
No Mint tenho 3 usuário: João, Maria , hass. Já configurei o ssh para o Raspbian acessar usuário hass e desligar o Mint via ssh.

No arquivo $ sudo visudo:
hass ALL=NOPASSWD:/usr/sbin/poweroff

Via ssh:
ssh hass@IP_FIXO_MINT sudo poweroff

Por exemplo: tenho o Chrome, o Nemo, o Xed com um arquivo não salvo, o Libreoffice com um arquivo não salvo tudo isso aberto ao mesmo tempo no Mint. Preciso que o script feche todos os programas e salve os arquivos do Xed e do Libreoffice e depois execute o poweroff.

Alguém poderia me ajudar com isso?

Fazer isso de forma confiável será bem complicado. Para salvar os arquivos automaticamente provavelmente você terá que usar um esquema de mensagens dbus, sinais ou algo do tipo, e teria que ser feito especificamente para cada programa. Uma solução seria usar a opção de salvamento automático que algum desses programas tem, mas nesse caso seria impossível prever em qual diretório o arquivo está salvo caso não souber previamente.
Para os programas que não tenha nada para salvar, nada precisa ser feito. Recomendo dar uma olhada no “systemctl poweroff”, pois não tenho se o poweroff faz todas as verificações para fechar tudo antes de desligar, como é feito quando você pede para desligar via interface gráfica.

1 curtida