TL;DR
Rulează serverul ubuntu 20.04 cu xserver-xorg x11-xserver-utils xinit openbox
instalat. Pot plasa o comandă în fișierul de rulare automată al openbox și rulează bine. Acum vreau să pornesc openbox, apoi de la un demon, la un moment dat porniți o aplicație care să ruleze în fereastra openbox deschisă în prezent. Cum se obține un mâner la fereastra openbox curentă?
Detalii
Am urmat acest lucru foarte util tutorial despre cum să configurați un chioșc, este pentru un raspberry pi, l-am adaptat să ruleze pe serverul ubuntu.
Toate merg bine; un utilizator invitat se conectează automat la pornire, apoi rulează fișierul .profile al utilizatorului oaspete startx -- -nocursor
, iar în fișierul openbox autostart este o comandă pentru a porni chromium. Zile fericite.
Acum doresc să mută comanda pentru a porni chromium din fișierul de pornire automată openbox și să o plasez sub controlul supervizorului (deci, dacă chromium se blochează, supervizorul va reporni automat chromium).
Din păcate, când supervizorul încearcă să pornească chromium, rulând ca utilizator invitat, nu reușește să obțină afișarea ferestrei openbox. Am verificat că în fereastra openbox, $DISPLAY este setat la „:0”.
Bănuiesc că există și alți factori în joc, că nu este doar afișajul pe care trebuie să-l setez, ci poate managerul de ferestre, clientul gui sau ceva de genul.
Fișierul de configurare a supraveghetorului:
[program:crom]
mediu = DISPLAY=":0"
comanda = chromium-browser --kiosk
startsecs=6
utilizator=oaspete
stderr_logfile=/var/log/supervisor/chromium_stderr.log
stdout_logfile=/var/log/supervisor/chromium_stdout.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=3
Deoarece rulează ca utilizator invitat, practic nu are permisiuni mici.
Am verificat jurnalul de erori de supraveghere pentru aplicația chromium și nu s-a deschis /var/log/Xorg.1.log
, așa că l-am modificat 777 (să rămâne la 0 octeți, deoarece nu crește), acum obținem:
xauth: timeout în fișierul de autorizare de blocare /.Xauthority