Usando o rc.local para iniciar o servidor e, em seguida, iniciar o aplicativo da web? [duplicado]

0

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.

    
por Lukali 31.07.2018 / 16:59

2 respostas

1

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

    
por 31.07.2018 / 18:06
0

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.

    
por 31.07.2018 / 18:18