Мне нужно запустить скрипт Python в терминале, myscript.py при запуске (на Lubunt). Этот скрипт требует root.
Я настроил .desktop
файл, который запускает следующую команду:
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
Окно терминала открывается при запуске и запускает скрипт, но затем закрывается, когда скрипт Python возвращает ошибку (потому что он не запускается от имени root). Когда я перехожу на Exec=
это ...
lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"
... (префикс команды с sudo
), который работает. Тем не менее , терминал открывается при запуске и отображает
[sudo] password for d: \
подсказка, требуя от меня ввести мой пароль. Я хотел бы, чтобы выполнение скрипта Python при запуске было полностью автоматическим без вмешательства пользователя.
Как я могу сделать это?
PYTHONPATH
переменную, но это всего лишь предположение. Для этого, я хотел бы создать сценарий под названием «alarm_starter.sh» со следующим содержимым:PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py
. Я действительно не уверен в этом, хотя. Может быть, это поможет: docs.python.org/tutorial/modules.html#the-module-search-pathПользовательские сценарии, которые выполняются при запуске от имени пользователя root, могут быть запущены через
rc.local
.Изменить
/etc/rc.local
с правами root:и поставить линию
как раз перед последней строкой, которая должна сказать
exit 0
. Перезагрузитесь, чтобы увидеть, сработало ли это.источник