Как выполнить скрипт при запуске на Raspberry Pi

Три части:

  • Настройка Raspberry Pi
  • Редактирование файла автозапуска
  • Сохранение файл автозапуска

Компьютер Raspberry Pi является отличным инструментом для создания всех видов интересных DIY проектов. Используется ли он как медиацентр, веб-сервер, игровая консоль или просто компьютер, существует множество причин, по которым вам может понадобиться конкретная программа или сценарий автоматически запускаемый при загрузке Raspberry Pi. Хотя существует множество способов запуска скриптов при запуске, выполнение скрипта при загрузке среды рабочего стола является самым простым методом с наибольшей универсальностью.

Часть 1. Настройка Raspberry Pi

1. Понимание задач и как это работает

Этот метод требует среды рабочего стола PIXEL с последней версией операционной системы Raspbian Jessie. Это достигается путем редактирования файла «autostart», который запускает команды при запуске в среде рабочего стола LXDE, которая является основой, на которой построен PIXEL-рабочий стол Raspberry Pi. Этот способ является предпочтительным в сценариях, где:

  • сценарий требует окружения рабочего стола для запуска
  • ваш скрипт должен работать в окне терминала
  • вы хотите указать, для каких пользователи сценарий будет в автозапуске

2. Убедитесь, что Ваш Raspberry Pi загружается с рабочим столом

  • Нажмите на значок Raspberry в верхней левой части панели задач. Затем перейдите в настройки и нажмите Raspberry Pi Configuration.

3. Перейдите на вкладку «Система»

  • Убедитесь что в разделе «Boot»выбран параметр «На рабочий стол». Затем нажмите «ОК». Отлично, давайте начнем!

Часть 2. Редактирование файла автозапуска

1. Откройте главный файл автозапуска в текстовом редакторе

Для этого в терминале введите следующую команду:

  • sudo nano / etc / xdg / lxsession / LXDE-pi / autostart

Затем нажмите ↵ Enter. Это откроет файл автозапуска в редакторе nano. Команды, добавленные в этот файл, будут запускаться при запуске независимо от того, кто вошел в систему. Не беспокойтесь, если ваш файл автозапуска содержит несколько дополнительных строк, отличных от тех, которые изображены на рисунке.

2. С помощью клавиш со стрелками перейдите к концу второй строки и нажмите ↵ Enter

Это создаст новую строку над записью @xscreensaver -no-splash.

  • Многие пользователи сообщили, что команды, добавленные ниже этой строки, не запускаются успешно, поэтому обычной практикой является добавление ваших пользовательских команд над записью @xscreensaver.

3. Добавьте команду для запуска скрипта

Вы можете ввести любую команду терминала, которую вы обычно используете для запуска вашего скрипта. Например, для запуска сценария bash под названием «myscript.sh», который находится в домашнем каталоге пользователя «pi», вы должны ввести команду:

  • /home/pi/myscript.sh
  • Аналогично, если для запуска скрипта требуются права суперпользователя, вы можете начать команду с sudo.

4. Указывайте полные пути к каждому файлу

Например, для запуска сценария Python, который требует прав суперпользователя, с именем «myscript.py», который находится в домашнем каталоге пользователя «pi», вы должны ввести полный путь к самому сценарию Python и интерпретатору Python, например в виде:

  • sudo /usr/bin/python /home/pi/myscript.py

Если вы при запуске хотите запустить свой скрипт в новом окне терминала , вы можете использовать команду @lxterminal с модификатором -e, а затем полный путь вашего скрипта в кавычках. Например:

  • @lxterminal -e «/home/pi/myscript.sh»

Это выполнит скрипт в новом окне терминала.

Часть 3. Сохраните файл автозапуска

1. Когда вы ввели нужные команды для запуска своего скрипта, нажмите Ctrl + X

Подтвердите изменения, введя Y и нажав ↵ Enter.

  • Если вы больше не хотите, чтобы ваш скрипт запускался при запуске, просто отредактируйте файл автозапуска еще раз, только на этот раз удалите строки, которые вы добавили ранее. После сохранения и выхода ваш скрипт больше не будет запускаться автоматически при запуске.

2. Проверьте работу!

Введите в терминале:

  • sudo reboot

и нажмите ↵ Enter. Ваш Raspberry Pi перезагрузится, и ваш скрипт будет запущен при загрузке рабочего стола.