Added Volume controls to kiosk user
This commit is contained in:
1 parent
6e5df35dc0
commit
249f36a83b
2 files changed
+37
-79
No files matched your search
Binary file not shown.
+37
-79
@@ -218,7 +218,7 @@ unset KIOSK_PASSWORD KIOSK_HASH
|
||||
|
||||
echo
|
||||
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 "--> 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'
|
||||
<command>dm-tool switch-to-greeter</command>
|
||||
</action>
|
||||
</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>
|
||||
<mouse>
|
||||
<context name="Frame"/>
|
||||
@@ -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
|
||||
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
|
||||
|
||||
Reference in new issue
Block a user