J'ai besoin d'exécuter un script python dans un terminal, myscript.py au démarrage (sur Lubunt). Ce script nécessite root.
J'ai configuré un .desktop
fichier qui exécute la commande suivante:
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
La fenêtre du terminal s'ouvre au démarrage et exécute le script, mais se ferme ensuite lorsque le script Python renvoie une erreur (car il n'est pas exécuté en tant que root). Quand je change Exec=
cela en ...
lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"
... (préfixant la commande avec sudo
) qui fonctionne. Cependant , le terminal s'ouvre au démarrage et affiche le
[sudo] password for d: \
rapide, m'obligeant à saisir mon mot de passe. Je voudrais que l'exécution du script python au démarrage soit complètement automatique sans interaction avec l'utilisateur.
Comment puis-je accomplir cela?
PYTHONPATH
variable, mais ce n'est qu'une supposition. Pour cela, je voudrais créer un script appelé « alarm_starter.sh » avec le contenu suivant:PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py
. Je ne suis vraiment pas sûr de cela, cependant. Peut-être que cela vous aidera: docs.python.org/tutorial/modules.html#the-module-search-pathLes scripts personnalisés qui sont exécutés au démarrage en tant que root peuvent être exécutés via
rc.local
.Modifier
/etc/rc.local
avec les droits root:et mettre la ligne
juste avant la dernière ligne, ce qui devrait dire
exit 0
. Redémarrez pour voir si cela a fonctionné.la source