feat: give the classroom a desktop instead of a shell
The whole appliance UI is now configuration for a desktop Debian already ships: a Plasma 6.3 session with a colour scheme, a look and feel package that builds the bar, window rules, and KDE's own Kiosk restrictions. Two things were measured rather than assumed, and both changed a decision. Plasma restarts a crashed panel three times a minute and then gives up, which is the failure a classroom has already had. Four lines of systemd drop-in make it unconditional; the panel then survived eight SIGKILLs a second apart, back each time in 2.4s. Plasma draws a minimised task and a background task identically, so the five states the room needs cannot all be shown. Rather than write a task manager, the classroom removes minimise: clicking a launcher always means show me this. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
bfc7caf28f
commit
87b55761c6
@@ -50,3 +50,23 @@ CMD ["/sbin/init"]
|
||||
# sanctioned way to capture a KWin session that has no outer compositor.
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends kde-spectacle \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# The classroom's browser, from Google's own repository, the same way a
|
||||
# classroom machine gets it. Testing the browser question on a different
|
||||
# browser would not answer it.
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends gnupg \
|
||||
&& install -d -m 0755 /etc/apt/keyrings \
|
||||
&& curl -fsS https://dl.google.com/linux/linux_signing_key.pub \
|
||||
| gpg --dearmor --batch --yes --output /etc/apt/keyrings/google-chrome.gpg \
|
||||
&& echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] https://dl.google.com/linux/chrome/deb/ stable main' \
|
||||
> /etc/apt/sources.list.d/google-chrome.list \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends google-chrome-stable \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# VLC, CUPS and PipeWire: the rest of the classroom's runtime, so the
|
||||
# desktop is judged with the room's real applications in it.
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
vlc vlc-plugin-base cups cups-client cups-filters \
|
||||
pipewire pipewire-pulse wireplumber pulseaudio-utils \
|
||||
libnotify-bin \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
Reference in New Issue
Block a user