Den Desktop-Kiosk sperren
Die Desktop-Kiosk-App handhabt, was sie aus ihrem eigenen Prozess heraus kann. Legen Sie für unbeaufsichtigte öffentliche Kiosks zusätzlich ein Profil auf Betriebssystemebene unter die App, damit das Betriebssystem selbst die Fluchtwege blockiert, die die App grundsätzlich nicht schließen kann.
Was die App selbst handhabt
Abschnitt betitelt „Was die App selbst handhabt“Beim Start als Kiosk-Client tut die Desktop-App Folgendes:
- Öffnet randlos und im Vollbildmodus und deckt die gesamte Bildschirmgeometrie ab, einschließlich der Menüleiste.
- Verbirgt unter macOS Menüleiste und Dock über native
NSApplicationPresentationOptions(.hideMenuBar | .hideDock) und setzt sie jedes Mal erneut durch, wenn die App den Fokus zurückerhält. - Blockiert ⌘+Q (und das „Beenden“ im App-Menü) unter macOS über den AWT-QuitHandler.
- Versucht, andere gängige Tastenkombinationen zu unterdrücken — Alt+F4, ⌘+W, Alt+Tab, ⌘+Tab, die Windows-/Super-Taste, F11 und Escape — soweit das Betriebssystem sie der App zustellt, bevor es sie selbst verarbeitet.
- Schützt das Verlassen mit einer Manager-PIN. Das Manager-Menü öffnet sich mit fünf schnellen Tipps in die obere rechte Ecke (bei Touchscreens) oder fünf F12-Tastendrücken (bei physischen Tastaturen), und die PIN-Eingabe hat eine Brute-Force-Sperre. Ein aufsichtsführender Betreiber legt die PIN beim ersten Start fest. Siehe Kiosk-Sperre verlassen und die PIN wiederherstellen für den vollständigen Betreiberablauf, einschließlich PIN-Wiederherstellung.
Die Schalter-App ist nicht gesperrt — sie ist ein Mitarbeiterwerkzeug und behält die normalen Fenstersteuerelemente.
Windows — Assigned Access / Shell Launcher
Abschnitt betitelt „Windows — Assigned Access / Shell Launcher“Windows bietet zwei Kiosk-Mechanismen. Der Desktop-Kiosk ist eine klassische Win32-Desktopanwendung, daher ist Shell Launcher die richtige Wahl — Assigned Access (Einzel-App-Kiosk) akzeptiert nur UWP-/MSIX-Apps oder Microsoft Edge.
Shell Launcher v2
ersetzt die Standard-Windows-Shell (explorer.exe) für ein bestimmtes Konto
durch die ausführbare Datei des Jonot-Kiosks. Ohne Explorer-Shell gibt es
keinen Desktop, kein Startmenü und keine Taskleiste; beendet sich die App,
startet Shell Launcher sie neu. Erfordert Windows 10/11 Enterprise,
Education oder IoT Enterprise.
- Aktivieren Sie das optionale Feature Shell Launcher
(
Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher) oder verteilen Sie es über Ihr MDM. - Erstellen Sie ein dediziertes Standard-(Nicht-Administrator-)-lokales Konto für den Kiosk.
- Konfigurieren Sie Shell Launcher so, dass die benutzerdefinierte Shell dieses Kontos auf den Jonot-Kiosk-Launcher gesetzt wird, mit der Aktion „Bei Beenden neu starten“ — über die Shell-Launcher-CSP Ihres MDM oder lokal mit dem im Shell-Launcher-Leitfaden dokumentierten WMI-Bridge-PowerShell-Beispiel.
- Stellen Sie das Kiosk-Konto auf automatische Anmeldung und deaktivieren Sie Sperrbildschirm, Ruhezustand und schnellen Benutzerwechsel.
Für eine schnelle beaufsichtigte Einrichtung ohne Enterprise-Lizenzierung
kann der Assigned-Access-„Kiosk-Browser“
direkt auf https://kiosk.jonot.io zeigen — er führt die SPA jedoch in Edge
ohne die native Bridge aus (kein lokaler Druck, kein Offline-Host-Failover),
ist also ein Fallback und kein Ersatz für die native App.
macOS — Runbook zur Fluchtverhinderung auf Betriebssystemebene
Abschnitt betitelt „macOS — Runbook zur Fluchtverhinderung auf Betriebssystemebene“Die App verbirgt Menüleiste und Dock und blockiert ⌘+Q app-seitig. Das Profil auf Betriebssystemebene deckt die Wege ab, die die App nicht schließen kann: Force Quit, Mission Control, Spaces-Wechsel, aktive Ecken, Spotlight und App-Wechsel.
Verwenden Sie ein dediziertes verwaltetes oder eingeschränktes Konto mit automatischer Anmeldung. Verteilen Sie über ein MDM (Jamf Pro, Kandji, Mosyle oder Intune):
-
Dediziertes Standardkonto + automatische Anmeldung. Erstellen Sie ein Nicht-Administrator-lokales Konto, das nur für den Kiosk verwendet wird. Aktivieren Sie die automatische Anmeldung für dieses Konto und deaktivieren Sie den Systemruhezustand mit einem Energieprofil. Eine Managed-Login-Items-Payload stellt sicher, dass die Kiosk-App beim Sitzungsstart startet.
-
Force Quit (⌘+⌥+Esc) deaktivieren. Force Quit ist der wichtigste Fluchtweg, den die App nicht blockieren kann. Deaktivieren Sie ihn mit einer benutzerdefinierten Managed-Preferences-Payload für
com.apple.loginwindow:DisableForceQuitCombinedKey = true -
Mission Control und Spaces-Wechsel deaktivieren. Verwenden Sie
com.apple.symbolichotkeys, um die Mission-Control-Tastenkombination (Taste 32) und die Spaces-Wechsel-Tastenkombinationen (Tasten 79–81, 118–123) zu deaktivieren. -
Aktive Ecken deaktivieren. Verteilen Sie eine
com.apple.dock-Einstellungs-Payload, bei der alle vierwvous-*-corner-Schlüssel auf0(deaktiviert) gesetzt sind. -
Spotlight deaktivieren. Deaktivieren Sie die Spotlight-Tastenkombination über
com.apple.symbolichotkeys(Taste 64 für die Spotlight-Suche). Hinweis: Der Spotlight-Schlüssel der Standard-Restrictions-Payload unterdrückt nur Internet-Ergebnisse, nicht Spotlight selbst — verwenden Sie stattdessen den symbolichotkeys-Ansatz. -
App-Wechsel (⌘+Tab) deaktivieren. Deaktivieren Sie die Tastenkombination des App-Wechslers über
com.apple.symbolichotkeys(Taste 27).
Linux — GNOME-Kiosk-Sitzung
Abschnitt betitelt „Linux — GNOME-Kiosk-Sitzung“Unter Linux ist die sauberste Sperre eine dedizierte GNOME-Kiosk-Sitzung, die die Jonot-Kiosk-App als einziges Fenster der Sitzung ausführt — kein Panel, keine Aktivitäten-Übersicht und kein App-Wechsler.
- Installieren Sie das Paket
gnome-kiosk(verfügbar auf aktuellen Fedora- und Debian/Ubuntu-Releases). Es stellt einen minimalen Wayland-Compositor bereit, der eine einzige Vollbild-App ausführt. - Erstellen Sie eine benutzerdefinierte Sitzung, die die ausführbare Datei des Jonot-Kiosks als Shell-Befehl startet, sodass die Kiosk-App die Sitzung ist.
- Konfigurieren Sie GDM-Auto-Login für einen dedizierten Standardbenutzer in diese Kiosk-Sitzung.
- Härten Sie das umgebende System: Deaktivieren Sie VT-Umschaltung und
Strg+Alt+Backspace, blockieren Sie TTY-Zugriff in
logind, und deaktivieren Sie automatisches Abdunkeln des Bildschirms und Energieverwaltung.
Da der GNOME-Kiosk-Compositor nie einen Wechsler oder eine Übersicht anzeigt, gibt es innerhalb der Sitzung keinen Weg zu einer anderen Anwendung — das Betriebssystem erzwingt, was die prozessinterne Tastenkombinations-Unterdrückung der App nur versuchen kann.
Empfohlene Schichtung
Abschnitt betitelt „Empfohlene Schichtung“| Schicht | Schützt vor |
|---|---|
| Sperre in der App | Menüleiste/Dock (macOS), ⌘+Q, versehentliches Verlassen, prozessintern abfangbare Tastenkombinationen |
| Kiosk-Profil auf Betriebssystemebene | Force Quit, Mission Control, Spaces, aktive Ecken, Spotlight, App-Wechsel auf Betriebssystemebene |
| Physisches Gehäuse | Hardwarezugriff — USB-Anschlüsse, Netzschalter, Tastatur |
Betreiben Sie für unbeaufsichtigte öffentliche Standorte immer die Sperre in der App und ein Profil auf Betriebssystemebene gemeinsam. Ein physisches Gehäuse ist die dritte Schicht für vollständig manipulationssichere Bereitstellungen.