3 maneiras de executar um programa ou script do Raspberry Pi na inicialização

Raspberry Pi é um computador minúsculo e econômico que vem em muitos formatos e tamanhos e facilita uma série de aplicativos, que vão desde algo tão simples como aprender a programar até projetos complexos de automação residencial; o escopo de uso é ilimitado.

Um dos muitos recursos que tornam o Raspberry Pi tão versátil é sua capacidade de executar todos os tipos de programas, como um computador normal. Na verdade, não apenas isso, você pode até mesmo escrever seus próprios scripts – para qualquer objetivo que você tenha em mente – e executá-los no Pi.

Por que você deseja executar um programa na inicialização?

Embora o Raspberry Pi seja capaz de executar todos os tipos de programas, você ainda precisa executá-los manualmente sempre que quiser executá-los. Claramente, essa abordagem envolve uma etapa extra. E mesmo que não seja muito inconveniente, há casos em que você precisa que um programa seja executado logo após a inicialização do Raspberry Pi.

Por exemplo, imagine usar seu Raspberry Pi para monitorar os preços das ações: em que você executa um script todos os dias quando o seu Pi é inicializado e ele puxa informações de recursos predefinidos e as apresenta em um monitor.

Aqui, apesar de simplificar o processo de rastreamento dos preços das ações, você ainda precisa executar o script todos os dias. No entanto, graças à automação, é possível eliminar a entrada manual da equação fazendo com que seu Pi execute o script automaticamente na inicialização.

É para situações como essas, quando você deseja executar um programa na inicialização.

Como executar um programa na inicialização

Existem várias maneiras de executar um programa na inicialização do Raspberry Pi. Para este guia, no entanto, você aprenderá como usar três desses métodos eficazes e fáceis de seguir.

Observação: usamos esses métodos para executar nosso script Python e você pode fazer isso com qualquer um de seus scripts ou até mesmo com os programas integrados no Raspberry Pi. Apenas certifique-se de usar o método correto para executar seu programa.

1. Use o arquivo rc.local

rc.local é um arquivo administrado pelo sistema que é executado após o início de todos os serviços do sistema, ou seja, após alternar para um nível de execução multiusuário. É o método mais fácil de fazer programas rodarem na inicialização em sistemas Linux. Mas há uma ressalva: você só pode usar esse método para programas sem elementos GUI (interface gráfica do usuário), pois rc.local é executado antes do sistema de janelas do Raspberry Pi iniciar.

Leia mais: O que é uma GUI?

Para definir um programa para ser executado na inicialização, precisamos alterar o arquivo rc.local e adicionar comandos a ele. Veja como fazer isso.

  1. Abra o terminal e digite o seguinte comando para abrir o arquivo rc.local: sudo nano /etc/rc.local .
  2. No arquivo rc.local, insira a seguinte linha de código antes da linha "exit 0": python3 /home/pi/PiCounter/display.py & .
    rc.local
  3. Aqui, substitua PiCounter / display.py pelo nome do seu programa / script. Além disso, certifique-se de usar o caminho absoluto para o seu programa e não seu caminho relativo. Observe que o comando termina com o símbolo e comercial (&).
  4. Isso para informar ao sistema que o programa que estamos agendando é executado continuamente, portanto, não deve esperar que seu script termine antes de iniciar a sequência de inicialização. Observe que deixar de adicionar "e" comercial no comando fará com que o script seja executado para sempre e seu Pi nunca será inicializado.
  5. Depois disso, pressione CTRL + O para salvar o arquivo. No terminal, digite sudo reboot .

Assim que o Pi for inicializado, ele deverá executar o programa automaticamente. Se, por algum motivo, você quiser interromper a execução do programa na inicialização, edite o arquivo rc.local novamente para remover a linha que acabou de adicionar.

2. Use o Cron para agendar um programa

Cron é um utilitário de configuração e agendador de tarefas em sistemas do tipo Unix. Ele permite que você agende programas que deseja executar em intervalos fixos ou periodicamente.

A funcionalidade do Cron depende do daemon crond, que é um serviço de segundo plano que executa programas agendados no crontab. Todos os programas agendados no sistema residem na tabela de tarefas cron (ou crontab).

Portanto, você precisará modificar esta tabela para adicionar uma programação para o programa que deseja executar na inicialização. Veja como:

  1. Abra a CLI em seu Raspberry Pi e digite crontab -e para editar a tabela de tarefas cron (crontab). Se você estiver abrindo o crontab pela primeira vez, precisará selecionar um editor. Você pode escolher seu editor preferido ou continuar com o Nano. Em qualquer um dos casos, insira o nome do editor e pressione Enter .
  2. Para fazer uma entrada na tabela cron, digite o comando: @reboot python3 /home/pi/PiCounter/display.py & . Em seu comando, certifique-se de substituir o nome do programa e seu caminho.
    cron
  3. Pressione CTRL + O para escrever a linha no crontab.
  4. Digite sudo reboot no terminal para reiniciar seu Pi.

O Cron agora deve executar seu programa toda vez que seu Pi for inicializado. Se você deseja interromper este planejamento, exclua o comando no crontab.

3. Execute programas GUI na inicialização com inicialização automática

A inicialização automática é a melhor maneira de executar programas Raspberry Pi baseados em GUI na inicialização. Funciona garantindo que o sistema X Window e o ambiente de área de trabalho LXDE estejam disponíveis antes que o sistema execute qualquer um dos programas agendados.

Se você tiver um script que é executado no modo de janela, ou deseja executar qualquer um dos programas / aplicativos baseados em GUI na inicialização do seu Raspberry Pi, você deve agendá-los para serem executados usando a inicialização automática. Aqui estão as etapas para fazer isso.

  1. Primeiro, abra o terminal e digite o seguinte comando para criar um arquivo .desktop no diretório autostart: sudo nano /etc/xdg/autostart/display.desktop . Usamos display.desktop como nome de arquivo, mas você pode nomear o arquivo da área de trabalho como quiser.
  2. No arquivo .desktop, adicione as seguintes linhas de código:
     [Desktop Entry]
    Name=PiCounter
    Exec=/usr/bin/python3 /home/pi/PiCounter/display.py
  3. Nesse arquivo, substitua o valor do campo Nome pelo nome do projeto / script. Da mesma forma, adicionamos nosso programa display.py para ser executado toda vez que o Raspberry Pi for inicializado.
  4. No entanto, você pode substituí-lo por qualquer programa que deseja executar. Na verdade, você pode até programar para executar um programa de terceiros, como o navegador Chrome; nesse caso, o arquivo .desktop deve incluir o seguinte código:
     [Desktop Entry]
    Name=Chrome
    Exec=chromium-browser
  5. Depois disso, pressione CTRL + O para salvar o arquivo e digite sudo reboot para reiniciar o Pi.

Assim que seu Pi for inicializado, seu programa GUI deve iniciar automaticamente também. Caso você queira interromper a execução do programa na inicialização, simplesmente vá para a pasta autostart e remova o arquivo .desktop que acabou de criar.

Executando com sucesso um programa na inicialização do Raspberry Pi

Embora existam muitas maneiras de executar um programa na inicialização em sistemas baseados em Linux, os métodos que mencionamos neste guia devem ajudá-lo a agendar programas no Raspberry Pi.

Portanto, não importa que tipo de programa você deseja executar – script personalizado ou um aplicativo de terceiros – esses métodos devem ajudá-lo. E você deve ser capaz de reduzir a etapa extra necessária para executar o programa toda vez que quiser executá-lo.