SignageWithAlpineLinux: Unterschied zwischen den Versionen

adapt for tinydm
K (add font package. Move target-URL to variable)
(adapt for tinydm)
=== prepare base system ===
* start "setup-alpine"
** select keyboard language (e.g. de-nodeadkeys)
* Agree to install on /dev/mmcblk0p1
** choose hostname (e.g. "signage")
* install as "sys"
** addselect usertimezone (e.g. "sign"Europe/Berlin)
** add user e.g. "sign"
** Agree to install on /dev/mmcblk0p1
** install as "sys"
* reboot the system
* (optional) continue via SSH
* select correct repositories
* apk update
* root> apk add nanoupdate
* root> apk add screennano
* root> nano /etc/apk/repositories and uncomment the community repository
* apk update
* root> apk update
 
=== setup base system ===
* setup boot parameters
* apk add screen
* add file /boot/usercfg.txt with the following content
root> echo "disable_overscan=1
dtoverlay=vc4-kms-v3d
gpu_mem=128" > /boot/usercfg.txt
* (optional) switch to udev
root> setup-devd
 
=== setup windowmanager ===
* install window manager
root> apk add screen
apk add seatd wlr-randr mesa-dri-gallium sway
root> apk add seatd wlr-randr wtypemesa-dri-gallium sway tinydm dbus
root> apk add wlr-randr wtype
 
* start seatd on boot and add "sign" to its group
root> rc-service seatd start
root> rc-update add seatd default
root> adduser sign seat # grant sign access to seatd
 
* copy and edit sway config for user "sign"
mkdirroot> su -p /home/sign/.config/sway
cpsign> /etc/sway/configmkdir /home/sign-p ~/.config/sway
sign> cp /etc/sway/config ~/.config/sway
sign> echo "
# hide cursor
seat seat0 hide_cursor 8000
# force fullhd
output HDMI-A-1 mode 1920x1080
exec /home/sign~/swaystart.sh &" >> ~/.config/sway/config
sign> touch /home/sign~/swaystart.sh
 
* setup autostart for user "sign"
root> echo "AUTOLOGIN_UID=1000" >> /etc/conf.d/tinydm
echo "#!/bin/sh
root> rc-update add localtinydm default
su -c /home/sign/autostart.sh - sign &" > /etc/local.d/user-sign.start
root> tinydm-set-session -s /usr/share/wayland-sessions/sway.desktop
rc-update add local default
 
* autostart sway on boot
echo "#!/bin/sh
sway &" > /home/sign/autostart.sh
 
* fix file permissions
sign> chmod +x ~/home/sign/autostartswaystart.sh
sign> mkdir -p /tmp/1000-runtime-dir
chmod +x /home/sign/swaystart.sh
 
* configure XDG_RUNTIME_DIR
sign> echo "if test -z "${XDG_RUNTIME_DIR}"; then
export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
if ! test -d "${XDG_RUNTIME_DIR}"; then
chmod 0700 "${XDG_RUNTIME_DIR}"
fi
fi" > /home/sign~/.profile
 
=== setup browser (chromium) ===
You can use pretty much any browser that supports wayland. The default is chromium.
* install and autostart chromium
root> apk add chromium font-noto
sign> echo "#!/bin/sh
 
echo "#!/bin/sh
URL=http://example.com/
--enable-features=UseOzonePlatform --ozone-platform=wayland \
--start-fullscreen --noerrdialogs --disable-infobars --disk-cache-dir=/dev/null \
--disk-cache-size=1 '\$URL' &
while true; do
# after a while all browsers begin to stutter. Here is a crude fix
sleep 600
WAYLAND_DISPLAY=wayland-1 wtype -P F5
done" > /home/sign~/swaystart.sh
 
=== setup browser (falkon) ===
In case you don't want to use chromium you can also use another browser. For instance falkon.
* install and autostart falkon
sign> apk add falkon font-noto
sign> echo "#!/bin/sh
 
echo "#!/bin/sh
URL=http://example.com/
sleep 600
WAYLAND_DISPLAY=wayland-1 wtype -P F5
done" > /home/sign~/swaystart.sh
 
=== setup SPN viewer ===
root> apk add font-noto-emoji # for snake emojis
852

Bearbeitungen