===== Installation und Inbetriebnahme eines Linux-Kiosks =====
(Auf debian chromium-browser durch chromium ersetzen)\\
\\
Ein Kiosk ist ein System das oft auf einem Bildschirm ohne Maus oder Tastatur läuft, mit dem man nichts machen kann, aber das z.B. selbständig zwischen Webseiten wechseln kann oder auch einfach nur etwas anzeigen. Man kennt solche Kioske oft vom Bahnhof oder so, wo sie zwischen Werbungen wechseln oder andere Sachen wie z.B. Fahrzeiten anzeigen. Hier wird ein solches System auf den Fernsehern verwendet die auf jedem Stock hängen um verschiedene Sachen anzuzeigen. Diese werden auf die Raspberry Pis installiert die hinter den Bildschirmen hängen. Das System auf dem Raspberry Pi 3 zweiten Stock wurde kürzlich neu gestaltet damit man immer wieder zurück in die Einstellungen gehen kann um Anpassungen zu machen oder neue Seiten hinzuzufügen. Hier werden wir erklären was gemacht wurde.\\
\\
==== Installation ====
\\
Richte einen SD-Kartenleser mit einer Karte drin und den Raspberry Pi Imager ein und lade für den Raspberry Pi 3 die OS-Version Lite auf das Generic Storage Device herunter und passe die Einstellungen so an, dass der Hostname kiosk.local ist, der User kiosk mit Password1 erstellt wird, die Tastatur auf Europe Zurich und ch eingestellt ist und SSH aktiviert ist und per Passwort erreicht werden kann. Bestätige, dass du überschreiben willst und dieser Vorgang kann recht lange dauern.\\
\\
{{:de:pasted:20240624-084030.png?400}}\\
\\
Stecke die eben konfigurierte Karte in den Raspberry Pi, steck alle Kabel an (Stromkabel, HDMI-Kabel zum Monitor, Ethernetkabel, Maus und Tastatur) und melde dich sobald er hochgefahren mit dem Login kiosk und Password1 an.\\
\\
Suche jetzt nach deiner IP-Adresse mit ip a
\\
Melde dich an einem anderen PC mit Zugang zu diesem Netzwerk an und öffne die Konsole und melde dich an per Command ssh kiosk@(IP-Adresse hier)
\\
==== Auf dem anderen PC mit Netzwerkzugang ====
\\
Gib erstmal sudo apt update && sudo apt upgrade
ein, bestätige dies wenn du gefragt wirst mit y.\\
\\
Jetzt sudo apt install chromium-browser tightvncserver xorg x11-xserver-utils unclutter openbox xdotool vnstat x11vnc
eingeben und dann durchlaufen lassen und wenn gefragt wieder mit y bestätigen.\\
\\
Öffne jetztsudo nano /home/kiosk/.xinitrc
und füge folgenden Text in die leere Seite ein:\\
#!/bin/sh
# Disable powermanagement, screen blanking and make cursor disapear if not moved
xset s off
xset -dpms
xset s noblank
unclutter -idle 0.1 -root &
# Start Openbox session
openbox-session &
x11vnc -display :0 -auth guess -forever -rfbport 5901 &
# Start Kiosk Script
/bin/bash /home/kiosk/start.sh
\\
Speichere mit Ctrl.+O, gehe raus mit Ctrl.+X und ändere nun die Berechtigungen mitsudo chmod a+x /home/kiosk/.xinitrc
damit dieses File auch ausführbar ist.\\
Führe nun das Filesudo nano /home/kiosk/start.sh
aus und kopiere den Text unten hinein:\\
#!/bin/bash
# Open Chromium with specified URLs in kiosk mode (make sure to adjust device scale factor, if on 4K screen 2 should be used on 1080P screen 1 should be used)(insert your own websites at the Example-bit)
chromium-browser --incognito --force-device-scale-factor=2 --temp-profile --disable-profiles --no-first-run --disable-translate --no-default-browser-check --disable-cache --kiosk 'example1.com' 'example2.com' 'example3.com' &
# Allow some time for Chromium to start
sleep 10
# Get the Chromium window ID
WINDOW_ID=$(xdotool search --onlyvisible --class "chromium" | head -n 1)
# Reset zoom level to default (Chromium sometimes messes up website zoom)
xdotool windowactivate --sync $WINDOW_ID
xdotool key --window $WINDOW_ID ctrl+0
# Function to switch tabs
switch_tabs() {
xdotool windowactivate --sync $WINDOW_ID
xdotool key --window $WINDOW_ID ctrl+Tab
}
# Function to check if VNC is active
is_vnc_active() {
# Check if there's any active VNC connection
netstat -an | grep ':5901' | grep -q 'ESTABLISHED'
return $?
}
# Loop to switch tabs every 30 seconds, pause if VNC is active
while true; do
if is_vnc_active; then
echo "VNC session active, pausing tab switch..."
sleep 5
else
echo "VNC session inactive, switching tabs..."
switch_tabs
sleep 30
fi
done
\\
Speichere bevor du rausgehst und setze wieder die Berechtigungen damit man das Script ausführen kann mitsudo chmod a+x /home/kiosk/start.sh
\\
Öffne nun das Filesudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf
und füge den Text unten ein:\\
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin kiosk --noclear %I $TERM
\\
Führe nunsudo nano /home/kiosk/.bashrc
aus und setze die folgende Zeile ans Ende des Files, speichere und geh raus.\\
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
\\
Um dem Kiosk eine statische IP-Adresse zu vergeben gib nunsudo nano /etc/network/interfaces
ein.\\
Füge diesen Text über dem bestehenden Text ein:(Wichtig: Wo (tab) steht die Tab-Taste drücken so oft wie es steht)# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
(tab) iface eth0 inet static
(tab)(tab) address 172.16.1.180/24
(tab)(tab) gateway 172.16.1.1
\\
Nun müssen wir ein Zertifikat einfügen dass es nicht immer leicht ausgegraut ist. Hol dir das Zertifikat vom Netzwerkteam (Ausbildner) ab, kopiere die Adresse die sie dir geben in einen neuen Tab und kopiere dann den Inhalt davon in das Filesudo nano /usr/local/share/ca-certificates/dc-zh-02-ca.crt
\\
Gehe nochmal in das Filesudo nano /home/kiosk/start.sh
und entferne vorerst den Command--kiosk
(keine Sorge, wir fügen den später wieder ein)\\
Reboote mitsudo reboot
und warte bis das System neu gestartet hat und die Webseiten sollten nicht im Vollbild starten. Gehe auf die drei Punkte und Settings, das sollte ein neues unabhängiges Window öffnen welches du neben das Window mit den drei Webseiten packen kannst. Gehe auf Security, nochmal auf Security und dann auf Manage Certificates. Wechsle dort auf Authorities, klicke Import, geh auf etc/ssl/certs
und suche nachdc-zh-02-ca (oder so ähnlich)
und klicke darauf und klicke danach ok. Schliesse es sobald es erfolgreich funktioniert hat.\\
Gehe nochmal ins SSh mit dem PC mit Netzwerkzugang mit ssh kiosk@172.16.1.180
und gib wieder bei Passwort Password1 ein. Suche nachsudo nano /home/kiosk/start.sh
und gib den Command--kiosk
wieder dprt ein wo du ihn hergeholt hast.\\
Mache nun einen Reboot mitsudo reboot
und kontrolliere ob es funktioniert,wenn nicht reboote nochmal.\\
\\
\\
*Dieses Installationsskript wurde erstellt von T. Bachmann*