У меня есть следующая проблема: Использование RaspPi 3B под управлением Raspbian Jessie (версия 4.4.26-v7 +) Я хотел бы, чтобы GUI самописного скрипта Python выполнялся при запуске.
Я знаю, что этот вопрос задавался как на этом веб-сайте, так и на других, но поскольку Raspbian постоянно меняется, и ни одно из предложенных ранее решений не помогло мне (см. Ниже), я хотел бы задать его еще раз.
Насколько я понимаю, мне нужно загрузить XServer и впоследствии выполнить мой скрипт. Это должно происходить вместо загрузки всего рабочего стола.
Предполагается, что одним из способов достижения этого является использование файла автозапуска LXDE (как указано в этом ответе ). Я отредактировал файл /etc/xdg/lxsession/LXDE-pi/autostart
так же, как и файл /etc/xdg/lxsession/LXDE/autostart
(первый изначально содержал четыре строки вместо трех, как было предложено в посте, на который есть ссылки) - добавив строки @sudo python /full/path/to/file.py
и @openbox
, но мой Pi по-прежнему загружается на рабочий стол и вообще не выполняет сценарий автоматически. Аннотация: я пробовал только строку сценария и строку сценария вместе со строкой openbox для одного из файлов и для обоих файлов вместе.
Другая стратегия включает файл rc.local (как предлагается в официальной документации ). Однако, только добавление python /full/path/to/file.py &
не работало (так как мой GUI все еще отсутствовал), и дальнейшее добавление startx
не помогло, так как я, очевидно, не мог связать startx со скриптом python, и поэтому первый закрылся сразу после его запуска.
Некоторые предполагают , что (дополнительно) .xinitrc следует использовать. Это, однако, тоже не сработало:
su -c python /full/path/to/file.py pi
И, наконец, что не менее важно, в некотором смысле, это должно быть выполнимо с помощью init.d - но я пока не нашел подробностей об этом.
Я был бы очень признателен за любой намек в правильном направлении. Где моя ошибка? Как должна выглядеть моя строка в rc.local или .xinitrc? Или произошли серьезные изменения, связанные с переходом на пиксель, и я должен попробовать что-то еще?
Некоторая дополнительная информация: скрипту нужны права sudo. Он написан на Python 2.7, графический интерфейс использует Tkinter. Графический интерфейс полностью заполняет экран, поэтому фоны не имеют значения. Сценарий должен работать вечно (или до тех пор, пока он не будет остановлен пользовательским вводом через графический интерфейс) и использует системные службы, такие как wifi и ethernet.
Больше информации: все происходит локально.
Пояснение: к настоящему времени я потратил более 8 часов на поиск в сети, пробуя учебные пособия из разных начальных точек или смешивая их вместе. Я пришел к выводу, что либо мой скрипт (который отлично работает при запуске в пикселях) не работает, если он запускается не в среде рабочего стола (в чем я сомневаюсь), или что необходим новый учебник, потому что октябрь 2016 года меняется на Raspbian сделал любые старые уроки устаревшими. Кроме того, проблема заключается не в том, чтобы запустить скрипт или запустить Xserver (или что-то похожее) независимо друг от друга, а в том, чтобы сделать обе ссылки связанными, чтобы скрипт использовал отображение, созданное Xserver.