2016-12-07 2 views
0

Я хочу запустить скрипт python, который запускает графический интерфейс при запуске (при загрузке pi). Но я не вижу никакого графического интерфейса на экране, но когда я открываю терминал, моя программа выполняется автоматически, и появляется GUI. Кроме того, моя программа требует подключения к Интернету, но pi подключается к wifi позже, и мой скрипт выполняется первым и заканчивается тем, что он не подключается к Интернету.малина pi: автоматический запуск GUI при загрузке

Есть ли способ, мой питон скрипт выполняется после того, как пи ботинок правильно и пи, связанные с интернетом

+0

вы не можете запустить GUI, если вы не являетесь пользователем. После входа в систему Linux запускает скрипт '~/.bashrc' – furas

+0

моих загрузок pi в графический интерфейс Pi Desktop автоматически. Я также отключил логин и пароль. Я добавил ссылку на файл в файле .bashrc. –

ответ

1

Не зная вас настройкой Pi это немного сложно. Но с предположением, что вы работаете с raspbian режимом по умолчанию «рабочего стола»:

  1. Откройте терминал на вашем Pi, либо ssh ИНГИ к нему или подключению монитора/клавиатуры.
  2. Сначала мы должны разрешить вам войти в систему автоматически, поэтому sudo nano /etc/inittab, чтобы открыть inittab для редактирования.
  3. Найдите строку 1:2345:respawn:/sbin/getty 115200 tty1 и изменить его на #1:2345:respawn:/sbin/getty 115200 tty1
  4. Под этой линии, добавьте 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1. Введите Ctrl + O и затем Ctrl + X, чтобы сохранить и выйти
  5. Далее мы можем отредактировать rc.local. sudo nano /etc/rc.local
  6. Добавить строку su -l pi -c startx (заменяя pi с именем пользователя, которое вы хотите запустить как) над линией exit 0. Это запустит X при запуске, что позволяет другим приложениям использовать графические интерфейсы.
  7. Добавьте команду, которую вы хотите запустить под предыдущей строкой (например, python /path/to/mycoolscript.py &), но все же над линией exit 0.
    Примечание & прилагается здесь. Это «переводит» процесс, позволяя запускать другие команды, даже если ваш скрипт еще не вышел. Ctrl + O и Ctrl + X снова для сохранения и выхода.

Теперь, когда вы включите свой Pi, он автоматически войдет в систему, запустит X, а затем запустит написанный вами скрипт python!

Кроме того, моя программа требует подключения к Интернету при выполнении, но pi подключается к wifi позже, и мой скрипт выполняется первым и заканчивается тем, что не подключен к Интернету.

Это должно быть разрешено в самом скрипте. Создайте простой цикл while, который проверяет доступ в Интернет, ждет и повторяет, пока Wi-Fi не подключится.

1

Два шага на Raspian:

  1. Убедитесь, что вы загрузились в GUI (можно настроить через Суда raspi-config)
  2. Edit ~/.config/lxsession/LXDE-pi/autostart и добавить свой питон скрипт на пути: например,@python /home/pi/your_script.py

Это зависит от версии raspian если путь

~/.config/lxsession/LXDE-pi/autostart 

или

~/.config/lxsession/LXDE/autostart 

Я рекомендую попробовать один на один раз. (Старая версия может использовать этот путь /etc/xdg/lxsession/LXDE-pi/autostart (ref))

Это должно запустить скрипт после того, как инициализирует UI, но у вас нет никакой гарантии, Wi-Fi подключен хотя. Я рекомендую взломать ваш скрипт python, чтобы проверить, подключен ли он первым, и если не повторить попытку через несколько секунд до его завершения, тогда выполните остальные, как ожидалось.

+0

работает с некоторыми изменениями. Я вижу только графический интерфейс, нет скрипта и консоли python. Кроме того, скрипт, запущенный при загрузке, не показывает изображения –

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