Debian - Como fazer este trabalho no cron.d rodar na inicialização

0

Usando o Debian Jessie, estou tendo problemas para executar um arquivo de uma linha que coloquei em /etc/cron.d

O arquivo contém a seguinte linha:

@reboot myuser /usr/bin/keepass2 /home/myuser/mydb.kdbx -pw:password

Destina-se a abrir meu banco de dados keepass, logado e ser executado como myuser em vez de root.

Eu encontrei esta pergunta aqui que parece ser exatamente o meu problema. Conforme comentários a esta resposta , alterei as permissões do arquivo no cron.d para o seguinte:

-r-----r-- 1 root root 73 Jun 12 09:26 keepass

No entanto, ainda não parece funcionar. run-parts --test /etc/cron.d retorna uma linha vazia. E não funciona na inicialização também.

    
por pandita 12.06.2015 / 01:45

1 resposta

0

Seu problema está no fato de que keepass é um utilitário gráfico, e usar o cron para iniciá-lo na inicialização não garante que o seu WM tenha iniciado ainda.

A maneira de lidar com isso é usar o kpcli , um utilitário keepass CLI disponível também no Debian (apenas marcado). Tem muitos comandos disponíveis, mas o que você precisa é:

   kpcli open file.kdb file.key &

Alternativamente, você pode iniciar o keepass como o último comando na inicialização, colocando o comando keepass startup como a última linha (exceto a exit 0 ) em / etc / rc. local .

    
por 15.06.2015 / 10:23