Estou tentando executar um script quando meu Raspberry Pi é inicializado. Eu gostaria que o navegador fosse aberto automaticamente.
Tentei encontrar uma solução simples (como soltar meu script em algum diretório "startup" ou algo semelhante), mas não estou vendo nada parecido.
Eu olhei para o Upstart , mas estou lutando para entender como isso funciona. Todos os scripts que eu tentei não funcionaram quando os testei.
.xinitrc
ou.xsession
.Respostas:
Para executar o Midori na inicialização, dê uma olhada neste tutorial . Para soluções de bricolage, continue a ler.
Você pode adicionar o seu comando executável de script na parte inferior
.bashrc
, para executar seu script sempre que abrir um terminal (ou executar uma nova instância debash
) .Verifique se você está na
pi
pasta:Crie um arquivo e escreva um script para executar no arquivo:
Salvar e sair: Ctrl+ X, Y,Enter
Abra
.bashrc
para configuração:Role para baixo até a parte inferior e adicione a linha:
./superscript
Salvar e sair: Ctrl+ X, Y,Enter
Se você está procurando uma solução que funcione na inicialização do console , dê uma olhada neste link . Resumo básico:
Crie um arquivo para o seu script de inicialização e escreva-o no arquivo:
Salvar e sair: Ctrl+ X, Y,Enter
Torne o script executável:
Registre o script a ser executado na inicialização:
Se você deseja que um script seja executado quando você inicializa no ambiente LXDE , consulte esta postagem no fórum do Raspberry Pi :
Navegar para
~/.config/lxsession/LXDE-pi
Abra o
autostart
arquivo nessa pasta:Adicione
@midori
uma nova linha. Se você deseja executar algo como um script python, coloque algo como@python mypython.py
em uma nova linha. A execução de um arquivo de script seria@./superscript
, mas, por algum motivo, o script é executado em um loop infinito (talvez isso pare com isso).Salvar e sair: Ctrl+ X, Y,Enter
Reinicie seu Raspberry Pi no ambiente LXDE.
fonte
$ sudo startx
?.bashrc
não é lido quando o sistema inicializa ou quando um usuário efetua login , apenas ao abrir um novo terminal (e é lido sempre que o usuário abre um novo terminal). Estou perplexo que esta resposta tenha recebido muitos votos: a primeira parte está completamente errada . A terceira parte está correta para executar um programa GUI.A maneira como eu vi a maioria das pessoas fazer isso (dê uma olhada nos fóruns do Raspberry Pi) e me fiz sucesso é usando
/etc/rc.local
.Tudo o que você precisa fazer aqui é colocar
./myscript
no arquivo de texto rc.local. Se estiver em python, coloquepython myscript.py
.Isso literalmente é "uma solução simples (como soltar meu script em algum diretório" de inicialização "ou algo semelhante)" - talvez pesquise nos fóruns quando você estiver com dúvidas, essa solução surgiu nos 4 primeiros resultados de um pesquisa do Google!
fonte
python myscript.py
. Se você deseja chmod + x e adicionar#! /bin/python
, você pode executar o script fazendo o$pathtofile/myscript.py
que$pathtofile
é,.
se estiver no mesmo diretório ou no caminho absoluto ou relativo do arquivo./etc/rc.local
é apenas para iniciar serviços do sistema (programas que não possuem uma interface de usuário).Adicione-o ao crontab
O crontab executa comandos em horários definidos.
Edite o arquivo:
Adicione linha ao arquivo (aqui, um script python):
fonte
python3
), veja aqui/etc/rc.local
é apenas para iniciar programas que não possuem uma interface de usuário.Inicialização automática de aplicativos xorg
Se o script que você deseja iniciar exigir uma sessão do xorg, tente seguir a especificação de inicialização automática do freedesktop, que pode ou não funcionar, dependendo do ambiente de área de trabalho que você está usando.
Como alternativa, você pode direcionar seu ambiente de área de trabalho específico, conforme descrito em https://wiki.archlinux.org/index.php/autostarting .
Executando um script como um serviço systemd
Se o seu script se encaixa na descrição de um daemon ou 'serviço', e seu sistema está executando o systemd, que é o caso das versões raspbian e mais modernas, você pode configurar o script para executar como um serviço systemd - isso fornece controle granular sobre o ciclo de vida e o ambiente de execução, bem como as pré-condições para (re) iniciar o script, como a rede em funcionamento. Também é possível configurar a reinicialização do serviço em caso de falha (
Restart=always
e atraso entre a reinicialização, por exemploRestartSec=10
).Para uso em todo o sistema, crie seu arquivo de unidade systemd em
/etc/systemd/system
, por exemplo, comvim /etc/systemd/system/autossh.service
:Veja também:
[
unit
] configuração[
service
] configuraçãoAgora estamos prontos para testar o serviço:
Verificando o status do serviço:
Parando o serviço:
Depois de verificar se o serviço funciona conforme o esperado, ative-o com:
fonte
Eu quero jogar meus dois centavos, mesmo que essa seja uma pergunta antiga, mas geralmente solicitada a fazer uma coisa simples - a inicialização automática. Eu tentei todas as soluções sugeridas em todas as respostas para esta pergunta. Nenhum deles trabalhou para mim. Estou usando o Raspberry PI Model 2 com Raspbian.
A única maneira de conseguir que meu aplicativo seja iniciado automaticamente com êxito é através de um script da seguinte maneira. Digo com sucesso porque meu aplicativo foi iniciado conforme o esperado, sem ter nenhum problema, como começar com o caminho de trabalho errado.
1.Crie um arquivo vazio com a extensão .sh e nomeie-o como desejar.
2.Copie e cole EXATAMENTE o seguinte, exceto altere "o nome do seu aplicativo" para o nome do script que você acabou de criar.
Em seguida, salve o arquivo de script na pasta do aplicativo
Em seguida, abra a
/home/pi/.config/autostart
pasta. Pode ser diferente no seu caso. Basta abrir sua pasta pessoal e ativar a exibição de pastas ocultas. aberto.config/autostart
. Se você não vir a pasta de inicialização automática, crie uma pasta chamada inicialização automática na pasta .config.na pasta de inicialização automática, será necessário criar um atalho para o arquivo de script que você criou da seguinte maneira. Crie um arquivo vazio com extensão
.desktop
.Copie e cole o seguinte no arquivo de área de trabalho vazia, exceto que você vai precisar alterar
Comment
,Name
,Exec
,Path
eIcon
valor do campo.Salve e feche o arquivo depois de alterar todos os campos necessários. Você terminou. Apenas teste.
fonte
/usr/local/bin/ApplicationName
...?home
se esse for um dispositivo separado), não haja problema com o arquivo de script (ou executável) indisponível quando o sistema falha novamente em um único/bin/sh
shell de usuário ! Hoje em dia asystemd
forma como é montar tanto/
e/usr
antes PID 1 é iniciado ...Eu também tive problemas com isso. No Raspberry Pi3 executando o Raspbian, foi o que eu fiz:
fonte
No Raspberry Pi3 executando o Raspbian Stretch, foi o que eu fiz:
Edite o arquivo de inicialização automática do LXDE-pi
Adicione isso ao final desse arquivo
salvar e reiniciar
fonte
Método 1:
Para iniciar um comando automaticamente no login, coloque o comando em um arquivo chamado
no diretório do usuário (por exemplo / home / pi)
Por exemplo, o arquivo pode conter
para lançar o Chromium em tela cheia, apontado para www.google.com
Método 2:
Esta solução funciona muito bem. Depois que o navegador carrega, existe um pequeno quadrado preto no canto superior esquerdo da tela que parece ser um bug geral (mencionado em outros fóruns), mas, caso contrário, o modo de tela cheia oculta tudo, exceto a página do navegador.
Edite o arquivo de inicialização automática:
Comente tudo usando um '#' no início de cada linha e adicione as seguintes linhas
Executar automaticamente o navegador
Se necessário, use a ferramenta de configuração para permitir a execução automática da GUI na inicialização
Se você precisar sair de volta ao prompt de comando CTRL+ ALT+F1
CTRL+ ALT+F2
fonte
Você pode colocar seu script na parte inferior do
/etc/profile
arquivo.Outras opções não funcionaram para mim, mas talvez seja porque eu coloquei meu script na área de trabalho.
fonte
crie um arquivo .sh com os comandos 'python /path/to/your/script.py' type 'sudo nano /etc/rc.local' e digite o caminho para o arquivo .sh
antes
Ou você pode simplesmente digitar
ou
se você deseja que o script seja executado na inicialização
dentro do tipo de arquivo
fonte
ele funciona. (Em cada reinicialização, prepara os seguintes envios automaticamente)
fonte
É o que geralmente faço.
Edite o arquivo:
sudo nano .bashrc
Vá para o final do arquivo e escreva:
sudo python mycode.py
Se você deseja que a saída seja armazenada em um arquivo txt, edite o código na Etapa 3 da seguinte maneira:
sudo python mycode.py >> output.py
Espero que isto ajude!
fonte