Código de saída do crómio -5

Enquanto se corre o Crómio com

cromium-browser -display=:0 https://www.picockpit.com

permitirá iniciar o Chromium a partir de uma conexão SSH (e ele irá sair para o display principal no Servidor X), isto irá falhar quando se tenta executá-lo com o subprocesso.Popen em Python:

"comando": ["chromium-browser", "-display=:0", "https://picockpit.com”]

(isto faz parte do formato JSON que especifiquei para o PiControl - a idéia principal é que este Array seja passado para o subprocesso.Popen).

A verdadeira chamada para executar o comando é:

proc = subprocesso.Popen(
     cmd,
     stdout=subprocess.PIPE,
     stderr=subprocess.PIPE,
     preexec_fn=demote(user, uid, gid)
)

O crómio sairá imediatamente com um código de estado de erro de -5. (E sim, o usuário e o grupo estão definidos para pi, e os membros adicionais do grupo para o usuário estão definidos).

Atualização 28.5.2020

O cromo parece funcionar quando o cliente picockpit é executado como um serviço. Se eu testar o picockpit-client lançando-o manualmente (a partir de uma conexão SSH), o Chromium sai com o código -5.

Isto, portanto, também funcionará:

chromium-browser -display=:0 -kiosk https://picockpit.com

imagem

Não tenho, portanto, uma solução para o problema da saída do Cromo com "-5" - mas como não ocorre no modo de operação normal do PiCockpit, não vale a pena continuar a investigar por enquanto.

Por favor, ignore as informações abaixo, deixo-as aqui apenas para fins de referência.

Informações antigas

Eu não encontrei documentação sobre os códigos de saída do cromo, no entanto, eu arranjei uma solução para este problema em particular (e que também o deve ajudar a depurar outros códigos de saída) (Update 28.5.: isto não é uma correção para este problema em particular, e infelizmente o Breakpad está desativado em construções "normais", o que torna a depuração mais difícil) .

"comando": ["chromium-browser", "-display=:0", "-enable-logging=stderr", "-kiosk", https://picockpit.com]

(a parte -kiosk é opcional - iniciará o Chromium em modo quiosque, ou seja, sem barra de URL, em tela cheia, para evitar que o usuário "escape" de sua aplicação em quiosques interativos de face pública).

imagem

A definição completa do comando para PiControl (para picockpit.com) tem este aspecto:

imagem

Está contido num ficheiro JSON no pi em particular. Desta forma, você será capaz de definir muitos comandos diferentes (que aparecerão como botões na interface web) para o Raspberry Pi, simplesmente editando um arquivo JSON.

Consultamos para a plataforma Raspberry Pi (desenvolvimento de hardware & software, conceitos de negócio), e todas as coisas Raspberry Pi! Por favor, entre em contato conosco hoje.