Raspberry Pi mit Archlinux im Kiosk-Mode
Anmerkung: Die Anleitung ist in Arbeit und wird möglicherweiße Stück für Stück noch aktualisiert.
Einleitung
Die Familie wird größer, und so langsam sollten alle Mitglieder über anstehende Termine informiert werden. Allerdings ist nicht jedes Mitglied im Besitz eine mobile und inteligenten Telefonzelle.
Ein übertragen der Termine aus dem digitalen ins Analoge wäre eine Lösung, aber nicht die bevorzugte eines IT-lers.
Anzeige / Display
Hardware
- Raspberry Pi 3
- SD-Karte
- Display
- Kabel + Netzteil(e)
Installation
Install Arch
- Installation von Archlinux auf dem Raspberry Pi 3 siehe hier: ArchLinuxARM: Raspberry Pi 3
Ich habe das AArch64-Image verwendet. - Einrichten vom System (Arch_Install_Scripts)
- Hostname, Keymap, Locale, …
pacman-key --init; pacman-key --populate archlinuxarm nano /etc/pacman.conf hostnamectl hostname rpi4 localectl set-keymap de-latin1 timedatectl set-timezone Europe/Berlin echo LANG=de_DE.UTF-8 > /etc/locale.conf echo de_DE.UTF-8 UTF-8 > /etc/locale.gen locale-gen pacman -Sy archlinux-keyring archlinuxarm-keyring pacman -S vim tmux htop pacman -Syu reboot
- Hostname, Keymap, Locale, …
Install Kiosk - Cage - Wayland Kiosk
A kiosk compositor for Wayland Quelle: https://github.com/cage-kiosk/cage
Install
pacman -S cage firefox firefox-i18n-de pipewire-jack gnu-free-fonts
cage firefox --kiosk v3.mjx2.de
systemd - run on boot
Quelle: https://github.com/cage-kiosk/cage/wiki/Starting-Cage-on-boot-with-systemd
- File:
/etc/systemd/system/cage@.service
[Unit] Description=Cage Wayland compositor on %I After=systemd-user-sessions.service Before=graphical.target ConditionPathExists=/dev/tty0 Wants=dbus.socket systemd-logind.service After=dbus.socket systemd-logind.service Conflicts=getty@%i.service After=getty@%i.service [Service] Type=simple ExecStart=/usr/bin/cage /usr/bin/firefox --kiosk https://updatefaker.com/osx/index.html Restart=always User=cage UtmpIdentifier=%I UtmpMode=user TTYPath=/dev/%I TTYReset=yes TTYVHangup=yes TTYVTDisallocate=yes StandardInput=tty-fail PAMName=cage [Install] WantedBy=graphical.target #Alias=display-manager.service DefaultInstance=tty7
- File:
/etc/pam.d/cage
auth required pam_unix.so nullok account required pam_unix.so session required pam_unix.so session required pam_systemd.so
- Nutzer erstellen & Dienst starten
useradd -m cage systemctl daemon-reload systemctl enable --now cage@tty7.service
Server / Website
Was soll angezeigt werden?
- Kalender
- Termine
- Ferien
- Feiertage
- Kalenderwoche
- Temparatur
- Bilder (?)
- Nachrichten (?)
Software
- magicmrror2
- WordPress
- Eigenbau / DIY ?
Links
- https://archlinuxarm.org/forum/viewtopic.php?t=15209
- https://www.diymachines.co.uk/how-to-build-a-smart-magic-mirror
- https://www.commander1024.de/wordpress/2022/04/magicmirror%C2%B2-auf-dem-smart-mirror/
- https://www.reichelt.de/magazin/projekte/magic-mirror-installation-und-konfiguration/
- https://www.commander1024.de/wordpress/2018/11/smart-mirror-selbst-bauen/
- https://glancr.de/mirr-os/one/