Chromium exit code -5

Terwijl Chromium draait met

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

staat u toe Chromium te starten vanaf een SSH-verbinding (en het zal uitvoeren naar het hoofdscherm in de X Server), dit zal fail als je het probeert te draaien met subprocess.Popen in Python:

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

(dit maakt deel uit van het JSON-formaat dat ik voor PiControl heb gespecificeerd - het belangrijkste idee is dat deze Array wordt doorgegeven in subprocess.Popen).

De eigenlijke aanroep om het commando uit te voeren is:

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

Chromium zal onmiddellijk afsluiten met een foutstatuscode van -5. (En ja, de gebruiker en groep zijn ingesteld op pi, en de extra groepslidmaatschappen voor de gebruiker zijn ingesteld).

Update 28.5.2020

Chromium lijkt te draaien wanneer picockpit-client wordt uitgevoerd als een service. Als ik picockpit-client test door het manueel te starten (vanaf een SSH connectie), dan verlaat Chromium de service met de code -5.

Dit zal dus ook werken:

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

afbeelding

Ik heb dus geen oplossing voor het probleem met Chrome dat afsluit met "-5" - maar aangezien het niet voorkomt in de normale werkingsmodus van PiCockpit, is het niet de moeite waard om het verder te onderzoeken op dit moment.

Gelieve de informatie hieronder te negeren, ik laat het hier alleen voor referentie doeleinden.

Oude informatie

Ik heb geen documentatie gevonden over Chromium exit codes, maar ik heb een oplossing bedacht voor deze specifiek probleem (en die u ook zou moeten helpen om andere exitcodes te debuggen) (Update 28.5.: dit is geen oplossing voor dit specifieke probleem, en helaas is Breakpad uitgeschakeld op "normale" builds, wat het debuggen moeilijker maakt) .

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

(het -kiosk gedeelte is optioneel - het start Chromium op in kioskmodus, dat wil zeggen geen URL balk, volledig scherm, om te voorkomen dat de gebruiker "ontsnapt" aan uw applicatie op interactieve kiosken die naar het publiek gericht zijn).

afbeelding

De volledige commando definitie voor PiControl (voor picockpit.com) ziet er als volgt uit:

afbeelding

Het staat in een JSON bestand op de betreffende pi. Op deze manier kunt u veel verschillende commando's (die als knoppen in de webinterface verschijnen) voor de Raspberry Pi definiëren door eenvoudig een JSON-bestand te bewerken.

Wij geven advies over het Raspberry Pi-platform (hardware- en softwareontwikkeling, bedrijfsconcepten) en over alles wat met Raspberry Pi te maken heeft! Neem vandaag nog contact met ons op.