From 249f36a83b9c2f2d784fa8be5e59ae7c61acb70a Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Fri, 11 Sep 2026 22:10:04 +0200 Subject: [PATCH] Added Volume controls to kiosk user --- UEFI_VARS.fd | Bin 0 -> 540672 bytes install-kiosk-nl.sh | 118 ++++++++++++++------------------------------ 2 files changed, 38 insertions(+), 80 deletions(-) create mode 100644 UEFI_VARS.fd diff --git a/UEFI_VARS.fd b/UEFI_VARS.fd new file mode 100644 index 0000000000000000000000000000000000000000..ba108c49a25f604b31b5b527dcf689088f79e26f GIT binary patch literal 540672 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 z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkLHF9{4k>fHM;yZ(krD}U3L-dl0VJuPcmF4-6v+^~PDY<(%O@ Openbox, LightDM GTK-greeter en hulpprogramma's installeren..." -apt install -y openbox lightdm-gtk-greeter unclutter xdotool +apt install -y openbox lightdm-gtk-greeter unclutter xdotool pulseaudio-utils echo echo "--> Chromium installeren (deb-pakket, geen snap)..." @@ -381,6 +381,10 @@ xset s noblank # Muisaanwijzer verbergen bij inactiviteit unclutter -idle 2 & +# Volume bij elke start terugzetten naar 90% en dempen uitschakelen +pactl set-sink-volume @DEFAULT_SINK@ 90% & +pactl set-sink-mute @DEFAULT_SINK@ 0 & + # Bewakingslus: herstart de browser als deze ooit gesloten wordt of vastloopt ( while true; do @@ -400,6 +404,23 @@ cat > /home/kiosk/.config/openbox/rc.xml <<'EOF' dm-tool switch-to-greeter + + + + + pactl set-sink-volume @DEFAULT_SINK@ +5% + + + + + pactl set-sink-volume @DEFAULT_SINK@ -5% + + + + + pactl set-sink-mute @DEFAULT_SINK@ toggle + + @@ -444,98 +465,35 @@ EndSection EOF # ----------------------------------------------------------------------------- -# 10. Script waarmee av-admin het Chromium-beleid kan verversen na het -# aanpassen van /etc/kiosk/urls.txt. -# -# Het echte script staat centraal in /etc/kiosk/. -# av-admin krijgt een symlink in ~/kiosk/. +# 10. Script maken waarmee av-admin het Chromium-beleid kan verversen na het +# aanpassen van /etc/kiosk/urls.txt, zonder het hele installatiescript +# opnieuw te hoeven draaien. # ----------------------------------------------------------------------------- echo -echo "--> refresh_policies.sh installeren..." +echo "--> /etc/kiosk/refresh_policies.sh wegschrijven..." -AV_ADMIN_HOME="/home/av-admin" -ADMIN_KIOSK_DIR="${AV_ADMIN_HOME}/kiosk" -REFRESH_SCRIPT="/etc/kiosk/refresh_policies.sh" -REFRESH_LINK="${ADMIN_KIOSK_DIR}/refresh_policies.sh" - -# Zorg dat de directories bestaan -mkdir -p /etc/kiosk -mkdir -p "$ADMIN_KIOSK_DIR" - -# Schrijf het refresh-script -cat > "$REFRESH_SCRIPT" <<'REFRESH_EOF' +cat > "/etc/kiosk/refresh_policies.sh" <<'REFRESH_EOF' #!/bin/bash - -# Ververs de kiosk-browser nadat /etc/kiosk/urls.txt is gewijzigd. -# -# Gebruik als av-admin: -# -# sudo /home/av-admin/kiosk/refresh_policies.sh -# -# Chromium wordt beëindigd. De Openbox-bewakingslus in de kiosk-sessie -# start Chromium daarna automatisch opnieuw. - +# Herstart Chromium op de kiosk zodat gewijzigde /etc/kiosk/urls.txt en +# beleidsinstellingen opnieuw ingelezen worden. Voer uit met: sudo ./refresh_policies.sh set -euo pipefail if [ "$(id -u)" -ne 0 ]; then - echo "Voer dit script uit met sudo:" >&2 - echo " sudo /home/av-admin/kiosk/refresh_policies.sh" >&2 - exit 1 + echo "Voer dit script uit met sudo: sudo ./refresh_policies.sh" >&2 + exit 1 fi -echo "--> Chromium op de kiosk wordt herstart..." - -if pgrep -u kiosk chromium >/dev/null 2>&1; then - pkill -u kiosk chromium || true - echo " Chromium beëindigd." -elif pgrep -u kiosk chromium-browser >/dev/null 2>&1; then - pkill -u kiosk chromium-browser || true - echo " Chromium-browser beëindigd." -else - echo " Chromium draaide momenteel niet." -fi - -echo " De Openbox-bewakingslus start Chromium automatisch opnieuw." -echo " Klaar." +echo "--> Chromium op de kiosk wordt herstart om wijzigingen door te voeren..." +pkill -u kiosk chromium 2>/dev/null || pkill -u kiosk chromium-browser 2>/dev/null || true +echo " Klaar. De bewakingslus in de kiosk-sessie start de browser automatisch opnieuw." REFRESH_EOF -# Script uitvoerbaar maken -chmod 755 "$REFRESH_SCRIPT" +chmod +x "/etc/kiosk/refresh_policies.sh" +chown av-admin:av-admin "/etc/kiosk/refresh_policies.sh" -# Eigendom centraal script -chown root:root "$REFRESH_SCRIPT" - -# Verwijder eventueel oude versie/link -rm -f "$REFRESH_LINK" - -# Maak de symlink voor av-admin -ln -s "$REFRESH_SCRIPT" "$REFRESH_LINK" - -# Zorg dat av-admin eigenaar is van zijn eigen kiosk-directory -chown -R av-admin:av-admin "$ADMIN_KIOSK_DIR" - -# Controleer resultaat -echo -echo " Refresh-script:" -ls -l "$REFRESH_SCRIPT" - -echo -echo " Link voor av-admin:" -ls -l "$REFRESH_LINK" - -# Controleer dat de link daadwerkelijk naar het script wijst -if [ ! -e "$REFRESH_LINK" ]; then - echo "FOUT: refresh_policies.sh kon niet worden aangemaakt." >&2 - exit 1 -fi - -if [ ! -x "$REFRESH_LINK" ]; then - echo "FOUT: refresh_policies.sh is niet uitvoerbaar." >&2 - exit 1 -fi - -echo " refresh_policies.sh succesvol geïnstalleerd." +ln -sf /etc/kiosk/refresh_policies.sh "${ADMIN_KIOSK_DIR}/refresh_policies.sh" +chown -h av-admin:av-admin "${ADMIN_KIOSK_DIR}/refresh_policies.sh" # ----------------------------------------------------------------------------- # Klaar