Code de sortie Chromium -5

En exécutant Chromium avec

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

vous permettra de lancer Chromium à partir d'une connexion SSH (et il sera affiché sur l'écran principal du serveur X). échouer lorsque vous essayez de l'exécuter avec subprocess.Popen en Python :

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

(cela fait partie du format JSON que j'ai spécifié pour PiControl - l'idée principale est que ce tableau est transmis dans subprocess.Popen).

L'appel réel pour exécuter la commande est :

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

Chromium quittera immédiatement avec un code d'état d'erreur de -5. (Et oui, l'utilisateur et le groupe sont définis sur pi, et les appartenances à des groupes supplémentaires pour l'utilisateur sont définies).

Mise à jour 28.5.2020

Chromium semble s'exécuter lorsque picockpit-client est exécuté en tant que service. Si je teste picockpit-client en le lançant manuellement (depuis une connexion SSH), Chromium se termine avec le code -5.

Cela fonctionnera donc aussi :

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

image

Je n'ai donc pas de solution pour le problème de sortie de Chrome avec "-5" - mais comme il ne se produit pas dans le mode de fonctionnement normal de PiCockpit, il ne vaut pas la peine de continuer à chercher pour le moment.

Veuillez ne pas tenir compte des informations ci-dessous, je les laisse ici à titre de référence uniquement.

Anciennes informations

Je n'ai pas trouvé de documentation sur les codes de sortie de Chromium, Cependant, j'ai trouvé une solution pour ce problème particulier (et qui devrait également vous aider à déboguer d'autres codes de sortie) (Mise à jour 28.5 : ce n'est pas un correctif pour ce problème particulier, et malheureusement Breakpad est désactivé sur les constructions "normales", ce qui rend le débogage plus difficile.) .

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

(la partie -kiosk est facultative - elle lancera Chromium en mode kiosque, c'est-à-dire sans barre d'URL, en plein écran, pour éviter que l'utilisateur ne "échappe" à votre application sur les kiosques interactifs destinés au public).

image

La définition complète de la commande PiControl (pour picockpit.com) ressemble à ceci :

image

Il est contenu dans un fichier JSON sur le Pi en question. De cette façon, vous pourrez définir de nombreuses commandes différentes (qui apparaîtront sous forme de boutons dans l'interface web) pour le Raspberry Pi en modifiant simplement un fichier JSON.

Nous sommes consultants pour la plateforme Raspberry Pi (développement matériel et logiciel, concepts commerciaux), et tout ce qui concerne Raspberry Pi ! N'hésitez pas à nous contacter dès aujourd'hui.