#!/bin/bash
set -euo pipefail

# The maintenance terminal, for the one person who is allowed one.
#
# Normal administration is over SSH. This exists for the case where
# somebody is standing at a classroom machine and SSH is not available,
# and it is reached only by a deliberately awkward chord that no teacher
# will find by accident.
#
# Why it is a wrapper rather than plain Konsole:
#
#   the classroom's Kiosk policy sets shell_access=false, and Konsole
#   honours it — measured: with the classroom configuration in its
#   cascade it starts and prints "Program to run not set." rather than
#   opening a shell. That restriction is worth keeping for everything
#   else, so it is lifted for this one process by leaving the classroom's
#   configuration directory out of its cascade. Nothing is patched and no
#   binary is replaced; XDG_CONFIG_DIRS is the documented way to say
#   which configuration an application sees.
#
# The terminal therefore looks like stock KDE rather than like the
# classroom, which is fair: it is not part of the classroom.
#
# This grants no privilege. The classroom user has no sudo rule, and
# anything that needs root still needs the administrator's own account
# and password. The Kiosk restriction was always a barrier in the
# interface, never a privilege boundary.

exec env XDG_CONFIG_DIRS=/etc/xdg konsole "$@"
