OP resolveu o problema:
Obrigado por responder. Eu reavaliei minha estratégia um pouco. Eu tenho Basta colocar um botão no meu lançador que executa o segundo script. Isto é muito mais simples e realiza a mesma coisa.
Eu quero executar um script no desligamento e, até onde posso dizer, segui os procedimentos apropriados. O script (próximo) deve lançar outro script (gdrive) em um terminal que me pede para sincronizar minha pasta do Google Drive.
Veja o que eu fiz:
Arquivos copiados "close" e "gdrive" para /etc/init.d e os tornaram executáveis.
Em seguida, executo o comando update-rc.d close start 0 0 .
na linha de comando. Como esperado, isso cria um link em /etc/rc0.d
chamado S00close
, que aponta para o arquivo close
. Testar manualmente esse link a partir da linha de comando é executado em close
, lança gdrive
em um terminal e geralmente se comporta como esperado.
Infelizmente, nada acontece quando encerro minha máquina.
Aqui está o código de close
. Na primeira linha, atraso o desligamento porque acho que a sincronização levará cerca de 5 minutos ou mais:
#!/bin/sh
echo "PASSWORD" | sudo -S shutdown -c
xterm -e '/etc/init.d/gdrive'
Aqui está o código do gdrive (embora o fechamento não seja executado no desligamento, então não tenho certeza de como isso é relevante):
#!/bin/sh
echo "Sync Gdrive?"
read response
if [ $response = "y" ]; then
cd ~/Gdrive
drive push -ignore-name-clashes -quiet -ignore-conflict
drive pull -ignore-name-clashes -quiet -ignore-conflict
echo "Drive successfully synced"
echo "PASSWORD" | sudo -S shutdown -h now
exit 1
else
echo "Ok, maybe next time"
echo "PASSWORD" | sudo -S shutdown -h now
exit 1
fi
Eu não sou super conhecedor dessas coisas, então qualquer conselho é apreciado. Mesmo que alguém possa me dizer como eu posso ver o que está acontecendo no desligamento (quais arquivos de log, etc.) seria ótimo.
OP resolveu o problema:
Obrigado por responder. Eu reavaliei minha estratégia um pouco. Eu tenho Basta colocar um botão no meu lançador que executa o segundo script. Isto é muito mais simples e realiza a mesma coisa.