Fixing reefresh script
This commit is contained in:
1 parent
ca5854e87a
commit
11db22f1ba
1 file changed
+79
-16
+79
-16
@@ -444,35 +444,98 @@ EndSection
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# 10. Script maken waarmee av-admin het Chromium-beleid kan verversen na het
|
# 10. Script waarmee av-admin het Chromium-beleid kan verversen na het
|
||||||
# aanpassen van /etc/kiosk/urls.txt, zonder het hele installatiescript
|
# aanpassen van /etc/kiosk/urls.txt.
|
||||||
# opnieuw te hoeven draaien.
|
#
|
||||||
|
# Het echte script staat centraal in /etc/kiosk/.
|
||||||
|
# av-admin krijgt een symlink in ~/kiosk/.
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "--> /etc/kiosk/refresh_policies.sh wegschrijven..."
|
echo "--> refresh_policies.sh installeren..."
|
||||||
|
|
||||||
cat > "/etc/kiosk/refresh_policies.sh" <<'REFRESH_EOF'
|
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'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Herstart Chromium op de kiosk zodat gewijzigde /etc/kiosk/urls.txt en
|
|
||||||
# beleidsinstellingen opnieuw ingelezen worden. Voer uit met: sudo ./refresh_policies.sh
|
# 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.
|
||||||
|
|
||||||
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: sudo ./refresh_policies.sh" >&2
|
echo "Voer dit script uit met sudo:" >&2
|
||||||
exit 1
|
echo " sudo /home/av-admin/kiosk/refresh_policies.sh" >&2
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "--> Chromium op de kiosk wordt herstart om wijzigingen door te voeren..."
|
echo "--> Chromium op de kiosk wordt herstart..."
|
||||||
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."
|
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."
|
||||||
REFRESH_EOF
|
REFRESH_EOF
|
||||||
|
|
||||||
chmod +x "/etc/kiosk/refresh_policies.sh"
|
# Script uitvoerbaar maken
|
||||||
chown av-admin:av-admin "/etc/kiosk/refresh_policies.sh"
|
chmod 755 "$REFRESH_SCRIPT"
|
||||||
|
|
||||||
ln -sf /etc/kiosk/refresh_policies.sh "${ADMIN_KIOSK_DIR}/refresh_policies.sh"
|
# Eigendom centraal script
|
||||||
chown -h av-admin:av-admin "${ADMIN_KIOSK_DIR}/refresh_policies.sh"
|
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."
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Klaar
|
# Klaar
|
||||||
|
|||||||
Reference in new issue
Block a user