2015-01-23 4 views
0

Я пытаюсь запустить мой скрипт python автоматически при перезагрузке системы. Я следил за кучей других потоков по этой теме и думаю, что я близок, но получаю отказ в разрешении.Автоматически запущенный скрипт python на малине pi

Мой скрипт использует GPIO и Tkinter и написано в Python 3.2.3

Первый шаг был я добавил эту строку в верхней части моего сценария.

#! /usr/bin python3.2 

Я видел другие должности, где они сделали/бен/и т.д. питона от того, что я могу сказать, питон не установлен здесь и бросает другие ошибки, если я пытаюсь сделать это. Я также попробовал только python вместо python 3.2, но я думаю, что у меня должно получиться 3.2

Затем я отправился на терминал и выполнил эту команду.

sudo chmod +x /home/pi/FDRT/stopclock.py 

это немедленно возвращается без каких-либо ошибок.

Я модифицируется LXDE автозапуск файл

sudo nano ~/etc/xdg/lxsession/LXDE/autostart 

Я добавил эту строку в нижней части.

/usr/bin/sudo ~/FDRT/stopclock.py 

Затем я перезагрузил пи, и это ничего не делать в/дома/пи я открыл файл .xsession-ошибки и посмотреть, у меня есть разрешение отказано ошибка.

Затем я просто попытался выполнить ту же команду в окне терминала

/usr/bin/sudo ~/FDRT/stopclock.py 

это возвращает ошибку Отказано же разрешение.

Не мог бы кто-нибудь помочь мне в том, что я делаю неправильно здесь?

+0

добавьте его в '/ etc/rc.local' ... это самый простой способ (и афайк, который всегда вызывал ...) (также записи dont lxde выглядят как '@/usr/bin/sudo ...'), вы также должны всегда использовать полностью определенные пути в тех (т.е. '/ home/pi/...' вместо '~') –

+0

условно вы можете запустить это на дисплее с терминала с помощью переменной окружения 'export DISPLAY =: 0' до запуска вашего скрипта –

+1

' crontab - e 'then' @reboot pth_to_your_script' –

ответ

-1

Тот факт, что вы получаете разрешение, запрещенное локально, должно облегчить его отладку. Первый вопрос заключается в том, что вы по всей видимости, отсутствует/ изменения:

> #! /usr/bin python3.2 

к

> #!/usr/bin/python3.2 

Редактировать, чтобы ответить на комментарий Joran в:

Обратите внимание, что если у вас есть следующий простой программы (устанавливается на разрешение 755)

#! /usr/bin python 
print "Hello world" 

Запуск python test.py распечатает мир привет; запустив его как ./test.py возвращает: -bash: ./test.py: /usr/bin: bad interpreter: Permission denied (по крайней мере, в моей системе, я думал, что видел только разрешение, отрешенное в другом месте), поэтому я надеялся, что это решит проблему без дальнейших испытаний (предполагая, что именно OP имела shebang и был не просто артефактом вставки в SO)

Кроме того, я бы предложил заменить # на реальный путь (/ home/pi) на ваших шагах, чтобы убедиться, что где-то что-то не расширяет его до например root (если/home/pi не является корневым домом на RPi)

+1

, хотя это может быть правильно ... Я не знаю, что он отвечает на вопрос OP –

Смежные вопросы