Executar o comando no logout, * antes de * a home criptografada ser desmontada

2

Estou executando o 14.04 LTS com um diretório inicial criptografado. Eu tenho um serviço ( profile-sync-daemon ) precisa de acesso aos arquivos no meu diretório home quando ele é iniciado e pára, portanto, precisa ser iniciado depois que os arquivos criptografados forem montados e parados antes de serem desmontados. A inicialização do serviço no momento certo pode ser obtida executando service psd start dos aplicativos de inicialização. Onde posso colocar o comando service psd stop ?

Eu tentei usar session-cleanup-script em /etc/lightdm.conf , mas isso parece atrasar muito.

    
por marxjohnson 10.06.2015 / 19:07

1 resposta

3

O bem conhecido evento Upstart emitido quando a área de trabalho está sendo desligada é " desktop-end " (e há também um " desktop-start " correspondente). Portanto, algo como o seguinte deve funcionar:

mkdir -p ~/.config/upstart/
cat <<EOT|tee ~/.config/upstart/psd.conf
start on desktop-start
stop on desktop-end

exec psd

EOT

Nota: você precisará alterar essa linha exec para o comando para iniciar o daemon psd . Como alternativa, você poderia criar uma tarefa sem a estrofe exec e, em vez disso, chamar comandos para iniciar e parar o daemon assim:

post-start exec command-to-start-psd
pre-stop exec command-to-stop-psd

Eu nunca usei psd, mas sua pergunta parece sugerir que ele está rodando como root? Em caso afirmativo, acho que você deve investigar se é possível executar uma instância do daemon como usuário (mais seguro e facilitar a criação do job Upstart).

Para mais detalhes sobre eventos iniciados conhecidos:

  • man upstart-events (ou link )

Veja também:

por user282262 11.06.2015 / 12:09