Added Volume controls to kiosk user
This commit is contained in:
1 parent
6e5df35dc0
commit
249f36a83b
2 files changed
+38
-80
No files matched your search
Binary file not shown.
+38
-80
@@ -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
|
||||||
|
|||||||
Reference in new issue
Block a user