@spockfish - this looks like a great project. I would love to have my extension included with it.
The README.md for my extension (https://github.com/pluggemi/roon-web-controller) includes a sample systemd unit file to start it - and it was written for and works on Arch Linux. The example unit file assumes a user name node
with a home directory of /srv/node
, but that could easily be tweaked.
I am using Arch Linux Arm on my Raspberry Pi and use the following setup to run a full screen web browser. Once I install Arch Linux Arm:
pacman -S xorg-server xorg-xinit xf86-video-fbdev xorg-xset matchbox-window-manager chromium
I use this custom systemd service file (/usr/lib/systemd/system/gui.service
) to start up the browser at boot time, and to restart it automatically if it crashes:
[Unit] Description = Starts Xorg as defined in /home/USERNAME/bin/gui.sh After = systemd-user-sessions.service network.target Conflicts=getty@tty7.service [Service] User = USERNAME Group = USERGROUP PAMName=login Type = simple TTYPath=/dev/tty7 ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /home/USERNAME/bin/gui.sh -- :0 -nolisten tcp vt7 Restart = always StandardInput = tty [Install] WantedBy = multi-user.target
Which runs this script at /home/USERNAME/bin/gui.sh
. The xset dpms
command turns off the Raspberry Pi touchscreen after 60 seconds. And it wakes back up when tapped.
#!/bin/bash export DISPLAY=":0" xset dpms 60 60 60 & matchbox-window-manager -use_titlebar no -use_cursor no & /usr/bin/chromium --kiosk <URL TO EXTENSION>