Eu tenho um script python, que está iniciando quando o usuário desbloqueia a máquina ou inicializa-a. A ideia deste roteiro é tirar uma foto via webcam e mandar e-mail para o dono e dizer a ele, que desbloqueou sua máquina.
Meu script está funcionando bem quando eu o executo manualmente a partir do terminal.
Aqui está o meu script
#!/bin/bash
DIR=$(dirname $([ -L $0 ] && readlink -f $0 || echo $0))
# First execute. Let you to know who turned on your comp
python $DIR/spy.py
# Handle unlocking
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
while read x; do
case "$x" in
*"boolean false"*) python $DIR/spy.py;;
esac
done
Se eu o executar a partir do terminal - eu posso manipular quando a tela foi desbloqueada (O X var tem um dado). Se eu executar o script usando o cronjob @reboot , o X var estará vazio, então não posso manipular quando a tela foi desbloqueada e meu script python não funciona. Eu li sobre cron e cron env e decidi usar a opção init.d.
Eu removi meu cronjob do meu aplicativo.
Eu adicionei o arquivo em /etc/init.d chamado spyonspies (/etc/init.d/spyonspies)
eu corri este comando
chmod + x /etc/init.d/spyonspies
Eu adicionei neste arquivo este código
#! / bin / sh PATH = / root / Programas / spyonspies / autorun.sh
(caminho do meu aplicativo)
Eu executei este comando update-rc.d spyonspies usa como padrão 100
Eu também tentei executar este comando serviço spyonspies começar
E reinicie minha máquina. Mas, novamente, sem resultados.
Estou usando o Kali 2017, Ubuntu 17.04. Em ambas as máquinas, tenho o mesmo problema.
Tags boot cron python kali-linux d-bus