E aqui estou respondendo a minha própria pergunta, porque todo mundo é tão rápido em dizer duplicado ... exceto que não era a cópia correta.
Eu estava procurando por isso: link
Estou com problemas quando tento iniciar um servidor por meio do programa Python e, em seguida, abro seu aplicativo da web. Eu não consigo abrir o servidor e depois abrir o aplicativo da web.
Eu tentei modificar rc.local
para o seguinte antes de sair 0:
sudo python /home/pi/Program/program.py &
sudo bash chromium-browser --kiosk https://127.0.0.1:8081/
Eu também tentei usar bashrc
para fazer isso, mas enquanto eu era capaz de executar o servidor na inicialização com rc.local
, não consegui executá-lo com bashrc
na inicialização. Somente quando eu executo o LXTerminal, ele consegue abrir o servidor. Em rc.local
, o problema oposto. Pode executar o servidor, mas não o navegador.
Eu sou capaz de inicializar o programa python por conta própria, e a página da web por si só (mas, obviamente, dá endereço não encontrado, já que não há servidor), mas não os dois juntos.
Eu tentei modificar o rc local para bin / sh -e, mas isso não funcionou ainda.
Estou usando o Rasbian Os.
Não consigo trabalhar com o que foi dito no post que deveria responder minha pergunta. A resposta apenas informa o que você deve fazer, que é o que eu já sei, iniciar o navegador após a GUI, mas não me diz como fazê-lo. Também não resolve o problema do servidor ter que estar ativo e em execução antes de iniciar o navegador. Posso também mencionar como eu tentei muitos métodos, mas nenhum deles funcionou ... Eu tentei editar autostart bem bashrc.
E aqui estou respondendo a minha própria pergunta, porque todo mundo é tão rápido em dizer duplicado ... exceto que não era a cópia correta.
Eu estava procurando por isso: link
Se você quiser executar qualquer aplicativo X a partir de rc.local
, terá que definir qual display está usando, já que rc.local
não executa comandos dentro do seu ambiente normal de shell.
Antes de mais nada, detecte qual display está sendo usado em seu sistema:
echo $DISPLAY
A saída será algo assim:
:0.0
ou
:1
Vamos supor que sua variável DISPLAY
seja :1
e, em seguida, adicione antes do comando com o aplicativo da GUI DISPLAY=:1
, ou seja:
python /home/pi/Program/program.py &
DISPLAY=:1 chromium-browser --kiosk https://127.0.0.1:8081/
E, claro, remova sudo
, pois rc.local
está sendo executado a partir de root
user. Remova bash
antes de chromium-browser
também.
Considere executar chromium-browser
como usuário comum. Vamos supor que seu nome de usuário seja bob
e, em seguida, substitua seu comando por:
DISPLAY=:1 sudo -u bob chromium-browser --kiosk https://127.0.0.1:8081/
Substitua bob
pelo seu nome de usuário real.
Tags raspbian raspberry-pi