7 способов запуска скрипта Python при запуске в Raspbian

Запуск сценария Python при запуске Raspbian может быть полезным способом автоматизации задач или создания пользовательских приложений на Raspberry Pi. В этой статье мы рассмотрим семь различных методов достижения этой цели, дополненные примерами кода. Независимо от того, новичок вы или опытный пользователь, вы найдете подходящий подход, отвечающий вашим потребностям.

Метод 1: использование службы systemd
Systemd — популярная система инициализации, используемая в Raspbian. Создав службу systemd, вы сможете выполнять скрипт Python во время запуска системы.

  1. Создать служебный файл:

    sudo nano /etc/systemd/system/myscript.service
  2. Добавьте в файл следующее содержимое:

    [Unit]
    Description=My Python Script
    After=multi-user.target
    [Service]
    ExecStart=/usr/bin/python3 /path/to/your/script.py
    [Install]
    WantedBy=multi-user.target
  3. Сохраните файл и выйдите.

  4. Включите и запустите службу:

    sudo systemctl enable myscript.service
    sudo systemctl start myscript.service

Метод 2: использование Cron
Cron — это планировщик заданий на основе времени в Raspbian, который позволяет планировать запуск задач через определенные интервалы времени, включая запуск системы.

  1. Откройте таблицу cron для редактирования:

    crontab -e
  2. Добавьте в файл следующую строку:

    @reboot python3 /path/to/your/script.py
  3. Сохраните файл и выйдите.

Метод 3: автозапуск сценария
Raspbian предоставляет функцию автозапуска, которая позволяет запускать сценарии при запуске среды рабочего стола.

  1. Откройте файл автозапуска в среде LXDE:

    nano ~/.config/lxsession/LXDE-pi/autostart
  2. Добавьте в файл следующую строку:

    @python3 /path/to/your/script.py
  3. Сохраните файл и выйдите.

Метод 4: использование rc.local
Файл rc.local запускается во время процесса загрузки системы. В этот файл можно добавить команду сценария Python.

  1. Откройте файл rc.local:

    sudo nano /etc/rc.local
  2. Добавьте следующую строку перед строкой exit 0:

    python3 /path/to/your/script.py &
  3. Сохраните файл и выйдите.

Метод 5: Использование init.d
Каталог init.d содержит сценарии запуска системы. Вы можете создать новый скрипт для запуска вашего скрипта Python.

  1. Создайте новый скрипт init.d:

    sudo nano /etc/init.d/myscript
  2. Добавьте в файл следующее содержимое:

    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides:          myscript
    # Required-Start:    $local_fs $network
    # Required-Stop:     $local_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:
    # Short-Description: Start myscript at boot time
    # Description:       Run myscript during system startup.
    ### END INIT INFO
    python3 /path/to/your/script.py
  3. Сохраните файл и выйдите.

  4. Сделайте скрипт исполняемым:

    sudo chmod +x /etc/init.d/myscript
  5. Включить скрипт:

    sudo update-rc.d myscript defaults

Метод 6: использование автозапуска LXDE-pi
Если вы используете среду рабочего стола LXDE-pi в Raspbian, вы можете добавить команду сценария Python в файл автозапуска.

  1. Откройте файл автозапуска:

    sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
  2. Добавьте в файл следующую строку:

    @python3 /path/to/your/script.py
  3. Сохраните файл и выйдите.

Метод 7: использование crontab (пользователь root)
Подобно методу 2, вы можете добавить команду сценария Python в crontab пользователя root.

  1. Откройте crontab пользователя root:

    sudo crontab -e
  2. Добавьте в файл следующую строку:

    @reboot python3 /path/to/your/script.py
  3. Сохраните файл и выйдите.

Следуя этим семи методам, вы можете легко настроить сценарий Python для запуска при запуске Raspbian. Выберите метод, который лучше всего соответствует вашим требованиям, и наслаждайтесь преимуществами автоматизации и настройки вашего Raspberry Pi.