Zum Inhalt springen

Den Desktop-Kiosk sperren

Die Desktop-Kiosk-App blockiert die Aktionen, die sie selbst steuern kann. Wenden Sie für einen unbeaufsichtigten öffentlichen Kiosk zusätzlich ein Betriebssystemprofil an. Dieses Profil blockiert Wege zum Verlassen, die eine Desktop-App nicht steuern kann.

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 durch fünfmaliges schnelles Tippen 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 bietet zwei Kiosk-Mechanismen. Der Desktop-Kiosk ist eine Win32-Desktopanwendung. Verwenden Sie daher Shell Launcher. Assigned Access im Einzel-App-Modus 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.

  1. Aktivieren Sie das optionale Feature Shell Launcher (Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher) oder verteilen Sie es über Ihr MDM.
  2. Erstellen Sie ein dediziertes Standard-(Nicht-Administrator-)-lokales Konto für den Kiosk.
  3. 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.
  4. 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 — Anleitung zur Sperrung auf Betriebssystemebene

Abschnitt betitelt „macOS — Anleitung zur Sperrung 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):

  1. 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.

  2. 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
  3. 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.

  4. Aktive Ecken deaktivieren. Verteilen Sie eine com.apple.dock-Einstellungs-Payload, bei der alle vier wvous-*-corner-Schlüssel auf 0 (deaktiviert) gesetzt sind.

  5. 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.

  6. App-Wechsel (⌘+Tab) deaktivieren. Deaktivieren Sie die Tastenkombination des App-Wechslers über com.apple.symbolichotkeys (Taste 27).

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.

  1. 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.
  2. Erstellen Sie eine benutzerdefinierte Sitzung, die die ausführbare Datei des Jonot-Kiosks als Shell-Befehl startet, sodass die Kiosk-App die Sitzung ist.
  3. Konfigurieren Sie GDM-Auto-Login für einen dedizierten Standardbenutzer in diese Kiosk-Sitzung.
  4. 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.

SchichtSchützt vor
Sperre in der AppMenüleiste/Dock (macOS), ⌘+Q, versehentliches Verlassen, prozessintern abfangbare Tastenkombinationen
Kiosk-Profil auf BetriebssystemebeneForce Quit, Mission Control, Spaces, aktive Ecken, Spotlight, App-Wechsel auf Betriebssystemebene
Physisches GehäuseHardwarezugriff — 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.