Eu preciso executar um script python em um terminal, myscript.py na inicialização (no Lubunt). Este script requer raiz.
Eu configurei um .desktop
arquivo que executa o seguinte comando:
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
A janela do terminal é aberta na inicialização e executa o script, mas fecha quando o script Python retorna um erro (porque não está sendo executado como raiz). Quando eu mudo Exec=
para isso ...
lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"
... (comando de prefixo com sudo
) que funciona. No entanto , o terminal é aberto na inicialização e exibe o
[sudo] password for d: \
prompt, exigindo que eu digite minha senha. Eu gostaria que a execução do script python na inicialização fosse completamente automática, sem interação do usuário.
Como posso fazer isso?
PYTHONPATH
variável, mas isso é apenas um palpite. Para isso, eu iria criar um script chamado 'alarm_starter.sh' com o seguinte conteúdo:PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py
. Eu realmente não tenho certeza disso, no entanto. Talvez isto ajude: docs.python.org/tutorial/modules.html#the-module-search-pathScripts personalizados que são executados na inicialização como raiz podem ser executados via
rc.local
.Edite
/etc/rc.local
com direitos de root:e colocar a linha
pouco antes da última linha, o que deveria dizer
exit 0
. Reinicie para ver se funcionou.fonte