Muszę uruchomić skrypt python w terminalu myscript.py przy uruchomieniu (na Lubunt). Ten skrypt wymaga rootowania.
Skonfigurowałem .desktop
plik, który uruchamia następujące polecenie:
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
Okno terminala otwiera się przy uruchomieniu i uruchamia skrypt, ale następnie zamyka, gdy skrypt Python zwraca błąd (ponieważ nie jest uruchamiany jako root). Kiedy zmienię na Exec=
to ...
lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"
... (poprzedza polecenie sudo
), który działa. Jednak terminal otwiera się przy uruchomieniu i wyświetla
[sudo] password for d: \
monit, wymagający podania hasła. Chciałbym, aby wykonywanie skryptu python podczas uruchamiania było całkowicie automatyczne, bez interakcji użytkownika.
Jak mogę to osiągnąć?
PYTHONPATH
zmienną, ale to tylko przypuszczenie. Do tego, by utworzyć skrypt o nazwie „alarm_starter.sh” o następującej treści:PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py
. Ale naprawdę nie jestem tego pewien. Może to pomoże: docs.python.org/tutorial/modules.html#the-module-search-pathSkrypty niestandardowe uruchamiane podczas uruchamiania jako root można uruchamiać za pośrednictwem
rc.local
.Edytuj
/etc/rc.local
z prawami roota:i postaw linię
tuż przed ostatnim wierszem, co powinno powiedzieć
exit 0
. Uruchom ponownie, aby zobaczyć, czy zadziałało.źródło