2026-05-10 20:45:56 +00:00
|
|
|
[Unit]
|
2026-05-13 01:11:06 +00:00
|
|
|
Description=BetterFrame Kiosk (cage + betterframe-kiosk)
|
2026-05-10 20:45:56 +00:00
|
|
|
Documentation=https://github.com/BetterCorp/BetterFrame
|
2026-05-13 01:11:06 +00:00
|
|
|
After=systemd-user-sessions.service plymouth-quit-wait.service network-online.target seatd.service
|
2026-05-10 20:45:56 +00:00
|
|
|
Wants=network-online.target
|
2026-05-13 01:11:06 +00:00
|
|
|
Conflicts=getty@tty1.service
|
|
|
|
|
After=getty@tty1.service
|
2026-05-13 01:25:54 +00:00
|
|
|
# After 10 fast restarts in 60s, back off so a broken binary doesn't burn CPU.
|
|
|
|
|
StartLimitIntervalSec=60
|
|
|
|
|
StartLimitBurst=10
|
2026-05-10 20:45:56 +00:00
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
|
Type=simple
|
2026-05-13 01:11:06 +00:00
|
|
|
User=bfkiosk
|
|
|
|
|
Group=bfkiosk
|
2026-05-13 01:23:49 +00:00
|
|
|
SupplementaryGroups=video render input audio
|
2026-05-13 01:11:06 +00:00
|
|
|
PAMName=cage
|
|
|
|
|
TTYPath=/dev/tty1
|
|
|
|
|
TTYReset=yes
|
|
|
|
|
TTYVHangup=yes
|
|
|
|
|
TTYVTDisallocate=yes
|
|
|
|
|
StandardInput=tty-fail
|
2026-05-10 20:45:56 +00:00
|
|
|
StandardOutput=journal
|
|
|
|
|
StandardError=journal
|
2026-05-13 01:11:06 +00:00
|
|
|
UtmpIdentifier=tty1
|
|
|
|
|
UtmpMode=user
|
|
|
|
|
WorkingDirectory=/home/bfkiosk
|
|
|
|
|
EnvironmentFile=-/etc/default/betterframe-kiosk
|
|
|
|
|
Environment=XDG_SESSION_TYPE=wayland
|
|
|
|
|
Environment=XDG_SESSION_CLASS=user
|
|
|
|
|
Environment=GST_DEBUG=1
|
|
|
|
|
Environment=BETTERFRAME_SERVER=http://localhost
|
|
|
|
|
ExecStart=/usr/bin/cage -s -- /opt/betterframe/kiosk/betterframe-kiosk
|
|
|
|
|
Restart=always
|
|
|
|
|
RestartSec=2
|
2026-05-10 20:45:56 +00:00
|
|
|
|
|
|
|
|
[Install]
|
2026-05-13 01:11:06 +00:00
|
|
|
WantedBy=multi-user.target
|