Necesito ejecutar un script de Python en una terminal, myscript.py al inicio (en Lubunt). Este script requiere root.
He configurado un .desktop
archivo que ejecuta el siguiente comando:
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
La ventana de terminal se abre al inicio y ejecuta el script, pero luego se cierra cuando el script de Python devuelve un error (porque no se ejecuta como root). Cuando cambio el Exec=
a esto ...
lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"
... (comando de prefijo con sudo
) que funciona. Sin embargo , el terminal se abre al inicio y muestra el
[sudo] password for d: \
pronta, requiriéndome ingresar mi contraseña. Me gustaría que la ejecución del script python en el inicio sea completamente automática sin interacción del usuario.
¿Cómo puedo lograr esto?
PYTHONPATH
variable, pero esto es solo una suposición. Por esto, me gustaría crear un script llamado 'alarm_starter.sh' con el siguiente contenido:PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py
. Sin embargo, realmente no estoy seguro de esto. Quizás esto ayude: docs.python.org/tutorial/modules.html#the-module-search-pathLos scripts personalizados que se ejecutan al inicio como root se pueden ejecutar a través de
rc.local
.Editar
/etc/rc.local
con derechos de root:y pon la linea
justo antes de la última línea, que debería decir
exit 0
. Reinicia para ver si funcionó.fuente