Stop a running desktop display manager during a live install

On a Pi OS Desktop image lightdm keeps display :0 until the next reboot,
so the kiosk X server failed with 'server already running'. Disabled
display managers are recorded and re-enabled by uninstall.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rothmanandClaude Opus 5.5 committed 2026-11-04 22:25:17 +01:00
1 parent a33c4822bf
commit e14e1f83ca
2 files changed
+10 -1

No files matched your search

+8 -1
View File
@@ -243,11 +243,18 @@ for cmdline in /boot/firmware/cmdline.txt /boot/cmdline.txt; do
fi fi
done done
# A desktop display manager would fight over vt7. # A desktop display manager would fight over vt7 and display :0 (Pi OS Desktop images).
# uninstall.sh re-enables the ones recorded here.
for dm in lightdm.service gdm3.service sddm.service; do for dm in lightdm.service gdm3.service sddm.service; do
if systemctl is-enabled --quiet "$dm" 2>/dev/null; then if systemctl is-enabled --quiet "$dm" 2>/dev/null; then
warn "$dm wordt uitgeschakeld (de kiosk gebruikt een eigen minimale X-sessie)." warn "$dm wordt uitgeschakeld (de kiosk gebruikt een eigen minimale X-sessie)."
systemctl disable "$dm" 2>/dev/null || true systemctl disable "$dm" 2>/dev/null || true
grep -qx "$dm" /var/lib/voxip-kiosk/disabled-display-managers 2>/dev/null \
|| echo "$dm" >> /var/lib/voxip-kiosk/disabled-display-managers
fi
if [[ $LIVE -eq 1 ]] && systemctl is-active --quiet "$dm" 2>/dev/null; then
warn "$dm wordt gestopt: de desktop op het scherm sluit nu af."
systemctl stop "$dm" || true
fi fi
done done
+2
View File
@@ -20,6 +20,7 @@ UNITS=(voxip-kiosk-healthcheck.timer voxip-kiosk-healthcheck.service voxip-kiosk
voxip-network-guard.service voxip-boot-import.service) voxip-network-guard.service voxip-boot-import.service)
PREVIOUS_TARGET="$(cat /var/lib/voxip-kiosk/previous-default-target 2>/dev/null || true)" PREVIOUS_TARGET="$(cat /var/lib/voxip-kiosk/previous-default-target 2>/dev/null || true)"
mapfile -t DISABLED_DMS < <(cat /var/lib/voxip-kiosk/disabled-display-managers 2>/dev/null)
echo "==> Services stoppen en verwijderen" echo "==> Services stoppen en verwijderen"
systemctl stop voxip-network-rollback.timer 2>/dev/null || true systemctl stop voxip-network-rollback.timer 2>/dev/null || true
@@ -62,4 +63,5 @@ else
fi fi
if [[ -n $PREVIOUS_TARGET ]]; then systemctl set-default "$PREVIOUS_TARGET" >/dev/null 2>&1 || true; fi if [[ -n $PREVIOUS_TARGET ]]; then systemctl set-default "$PREVIOUS_TARGET" >/dev/null 2>&1 || true; fi
for dm in "${DISABLED_DMS[@]}"; do systemctl enable "$dm" >/dev/null 2>&1 || true; done
echo "==> VoxIP Kiosk OS is verwijderd. Herstart de Raspberry Pi om de kiosk te stoppen." echo "==> VoxIP Kiosk OS is verwijderd. Herstart de Raspberry Pi om de kiosk te stoppen."