Ich muss beim Start (auf Lubunt) ein Python-Skript in einem Terminal ausführen , myscript.py . Dieses Skript benötigt root.
Ich habe eine .desktop
Datei eingerichtet, die den folgenden Befehl ausführt:
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
Das Terminalfenster wird beim Start geöffnet und führt das Skript aus. Es wird jedoch geschlossen, wenn das Python-Skript einen Fehler zurückgibt (da es nicht als Root ausgeführt wird). Wenn ich das Exec=
auf ...
lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"
... (Präfixbefehl mit sudo
) was funktioniert. Das Terminal öffnet sich jedoch beim Start und zeigt das an
[sudo] password for d: \
Eingabeaufforderung, bei der ich mein Passwort eingeben muss. Ich möchte, dass die Ausführung des Python-Skripts beim Start vollständig automatisch und ohne Benutzerinteraktion erfolgt.
Wie kann ich das erreichen?
PYTHONPATH
Variable festlegen , dies ist jedoch nur eine Vermutung. Dazu würde ich ein Skript namens 'alarm_starter.sh' mit folgendem Inhalt erstellen :PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py
. Da bin ich mir allerdings nicht sicher. Vielleicht hilft dies: docs.python.org/tutorial/modules.html#the-module-search-pathBenutzerdefinierte Skripte, die beim Start als Root ausgeführt werden, können über ausgeführt werden
rc.local
./etc/rc.local
Mit Root-Rechten bearbeiten :und setzen Sie die Linie
kurz vor der letzten Zeile, die sagen sollte
exit 0
. Starten Sie neu, um zu sehen, ob es funktioniert hat.quelle