Added Volume controls to kiosk user

This commit is contained in:
henrov committed 2026-09-11 22:10:04 +02:00
1 parent 6e5df35dc0
commit 249f36a83b
2 files changed
+38 -80

No files matched your search

BIN
View File
Binary file not shown.
+38 -80
View File
@@ -218,7 +218,7 @@ unset KIOSK_PASSWORD KIOSK_HASH
echo echo
echo "--> Openbox, LightDM GTK-greeter en hulpprogramma's installeren..." echo "--> 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
echo "--> Chromium installeren (deb-pakket, geen snap)..." echo "--> Chromium installeren (deb-pakket, geen snap)..."
@@ -381,6 +381,10 @@ xset s noblank
# Muisaanwijzer verbergen bij inactiviteit # Muisaanwijzer verbergen bij inactiviteit
unclutter -idle 2 & 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 # Bewakingslus: herstart de browser als deze ooit gesloten wordt of vastloopt
( (
while true; do while true; do
@@ -400,6 +404,23 @@ cat > /home/kiosk/.config/openbox/rc.xml <<'EOF'
<command>dm-tool switch-to-greeter</command> <command>dm-tool switch-to-greeter</command>
</action> </action>
</keybind> </keybind>
<!-- Volumetoetsen -->
<keybind key="XF86AudioRaiseVolume">
<action name="Execute">
<command>pactl set-sink-volume @DEFAULT_SINK@ +5%</command>
</action>
</keybind>
<keybind key="XF86AudioLowerVolume">
<action name="Execute">
<command>pactl set-sink-volume @DEFAULT_SINK@ -5%</command>
</action>
</keybind>
<keybind key="XF86AudioMute">
<action name="Execute">
<command>pactl set-sink-mute @DEFAULT_SINK@ toggle</command>
</action>
</keybind>
</keyboard> </keyboard>
<mouse> <mouse>
<context name="Frame"/> <context name="Frame"/>
@@ -444,98 +465,35 @@ EndSection
EOF EOF
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 10. Script waarmee av-admin het Chromium-beleid kan verversen na het # 10. Script maken waarmee av-admin het Chromium-beleid kan verversen na het
# aanpassen van /etc/kiosk/urls.txt. # aanpassen van /etc/kiosk/urls.txt, zonder het hele installatiescript
# # opnieuw te hoeven draaien.
# Het echte script staat centraal in /etc/kiosk/.
# av-admin krijgt een symlink in ~/kiosk/.
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
echo echo
echo "--> refresh_policies.sh installeren..." echo "--> /etc/kiosk/refresh_policies.sh wegschrijven..."
AV_ADMIN_HOME="/home/av-admin" cat > "/etc/kiosk/refresh_policies.sh" <<'REFRESH_EOF'
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'
#!/bin/bash #!/bin/bash
# Herstart Chromium op de kiosk zodat gewijzigde /etc/kiosk/urls.txt en
# Ververs de kiosk-browser nadat /etc/kiosk/urls.txt is gewijzigd. # beleidsinstellingen opnieuw ingelezen worden. Voer uit met: sudo ./refresh_policies.sh
#
# 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.
set -euo pipefail set -euo pipefail
if [ "$(id -u)" -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
echo "Voer dit script uit met sudo:" >&2 echo "Voer dit script uit met sudo: sudo ./refresh_policies.sh" >&2
echo " sudo /home/av-admin/kiosk/refresh_policies.sh" >&2 exit 1
exit 1
fi fi
echo "--> Chromium op de kiosk wordt herstart..." 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
if pgrep -u kiosk chromium >/dev/null 2>&1; then echo " Klaar. De bewakingslus in de kiosk-sessie start de browser automatisch opnieuw."
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."
REFRESH_EOF REFRESH_EOF
# Script uitvoerbaar maken chmod +x "/etc/kiosk/refresh_policies.sh"
chmod 755 "$REFRESH_SCRIPT" chown av-admin:av-admin "/etc/kiosk/refresh_policies.sh"
# Eigendom centraal script ln -sf /etc/kiosk/refresh_policies.sh "${ADMIN_KIOSK_DIR}/refresh_policies.sh"
chown root:root "$REFRESH_SCRIPT" chown -h av-admin:av-admin "${ADMIN_KIOSK_DIR}/refresh_policies.sh"
# 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."
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Klaar # Klaar