Prevent kiosk and getty tty1 race
This commit is contained in:
@@ -2,8 +2,13 @@ Mini-Dokumentation: Analyzer Kiosk auf Raspberry Pi OS
|
||||
|
||||
1. Dienste deaktivieren
|
||||
sudo systemctl disable --now lightdm.service
|
||||
sudo systemctl disable --now getty@tty1.service
|
||||
sudo systemctl reset-failed getty@tty1.service
|
||||
sudo systemctl mask --now getty@tty1.service
|
||||
|
||||
Hinweis:
|
||||
- tty1 ist exklusiv fuer Xorg/Chromium reserviert. Ein blosses `disable` reicht
|
||||
nicht, weil systemd den Getty bei einem spaeteren Boot erneut erzeugen kann.
|
||||
- Fuer einen lokalen Login-Prompt auf tty1 den Kiosk zuerst stoppen und Getty
|
||||
anschliessend mit `sudo systemctl unmask --now getty@tty1.service` reaktivieren.
|
||||
|
||||
2. systemd neu laden
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
@@ -124,8 +124,19 @@ zugehörige sudo-Regel werden einmalig als root installiert:
|
||||
sudo bash /home/volumio/Phoenix/scripts/install_volumio_services.sh
|
||||
```
|
||||
|
||||
Der Installer verändert keine Debian-/Analyzer-Units und startet laufende
|
||||
Dienste nicht automatisch neu.
|
||||
Der Installer überschreibt keine Debian-/Analyzer-Unitdateien und startet
|
||||
laufende Dienste nicht automatisch neu. Er maskiert `getty@tty1.service`, da der
|
||||
Kiosk-X-Server `tty1` exklusiv verwendet. Ohne die Maskierung können Getty und
|
||||
Xorg beim Booten um dasselbe virtuelle Terminal konkurrieren und eine
|
||||
Kiosk-Neustartschleife auslösen.
|
||||
|
||||
Um den lokalen Login-Prompt auf `tty1` wiederherzustellen, zuerst den Kiosk
|
||||
stoppen und Getty anschließend wieder freigeben:
|
||||
|
||||
```bash
|
||||
sudo systemctl stop analyzer-kiosk-volumio.service
|
||||
sudo systemctl unmask --now getty@tty1.service
|
||||
```
|
||||
|
||||
Wenn `toggle-ext` genutzt werden soll, sollte es also unter diesem Pfad liegen:
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
[Unit]
|
||||
Description=Analyzer Kiosk Volumio (Raspberry Pi OS)
|
||||
Conflicts=getty@tty1.service
|
||||
After=systemd-user-sessions.service getty-pre.target
|
||||
After=network-online.target
|
||||
After=analyzer-web-volumio.service
|
||||
Wants=analyzer-web-volumio.service
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
[Unit]
|
||||
Description=Analyzer Kiosk (Raspberry Pi OS)
|
||||
Conflicts=getty@tty1.service
|
||||
After=systemd-user-sessions.service getty-pre.target
|
||||
After=network-online.target
|
||||
After=analyzer-web.service
|
||||
Wants=analyzer-web.service
|
||||
|
||||
@@ -51,8 +51,13 @@ install -o root -g root -m 0440 \
|
||||
"$SUDOERS_SOURCE" \
|
||||
/etc/sudoers.d/phoenix-update-volumio
|
||||
|
||||
# tty1 is reserved for Xorg by analyzer-kiosk-volumio.service. Disabling the
|
||||
# generated getty is insufficient because systemd may create/start it again on
|
||||
# a later boot. Mask it so the kiosk and agetty can never race for the VT.
|
||||
systemctl mask --now getty@tty1.service
|
||||
systemctl daemon-reload
|
||||
systemctl enable analyzer-web-volumio.service analyzer-kiosk-volumio.service
|
||||
|
||||
echo "Volumio integration installed"
|
||||
echo "getty@tty1.service masked; run 'systemctl unmask getty@tty1.service' to restore the tty1 login console"
|
||||
echo "Existing services were not restarted"
|
||||
|
||||
Reference in New Issue
Block a user