Salta ai contenuti

Bloccare il chiosco desktop

L’app chiosco desktop gestisce ciò che può dall’interno del proprio processo. Per i chioschi pubblici non presidiati, aggiungi un profilo a livello di sistema operativo sotto l’app, così il sistema operativo stesso blocca le vie di fuga che l’app non può fondamentalmente chiudere.

Quando avviata come client chiosco, l’app desktop:

  • Si apre senza bordi e a schermo intero, coprendo l’intera geometria dello schermo, inclusa la barra dei menu.
  • Su macOS, nasconde la barra dei menu e il dock tramite le native NSApplicationPresentationOptions (.hideMenuBar | .hideDock) e le ripristina ogni volta che l’app riottiene il focus.
  • Blocca ⌘+Q (e “Esci” nel menu dell’app) su macOS tramite il QuitHandler AWT.
  • Tenta di sopprimere altre scorciatoie comuni — Alt+F4, ⌘+W, Alt+Tab, ⌘+Tab, il tasto Windows/Super, F11 ed Esc — per quelle che il sistema operativo consegna all’app prima di agire su di esse stesso.
  • Protegge l’uscita dietro un PIN manager. Il menu manager si apre con cinque tocchi rapidi nell’angolo in alto a destra (per touchscreen) o cinque pressioni di F12 (per tastiere fisiche), e l’inserimento del PIN ha un blocco anti-forza-bruta. Un operatore supervisore imposta il PIN al primo avvio. Vedi Uscire dal blocco chiosco e recuperare il PIN per il flusso completo dell’operatore, incluso il recupero del PIN.

L’app sportello non è bloccata — è uno strumento per il personale e mantiene i normali controlli finestra.

Windows offre due meccanismi kiosk. Il chiosco desktop è un’applicazione Win32 desktop classica, quindi Shell Launcher è la scelta giusta — Assigned Access (chiosco a singola app) accetta solo app UWP/MSIX o Microsoft Edge.

Shell Launcher v2 sostituisce la shell Windows predefinita (explorer.exe) con l’eseguibile del chiosco Jonot per un account designato. Senza la shell Explorer non c’è desktop, menu Start o barra delle applicazioni; se l’app termina, Shell Launcher la riavvia. Richiede Windows 10/11 Enterprise, Education o IoT Enterprise.

  1. Abilita la funzionalità opzionale Shell Launcher (Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher), oppure distribuiscila dal tuo MDM.
  2. Crea un account locale standard (non amministratore) dedicato per il chiosco.
  3. Configura Shell Launcher per impostare la shell personalizzata di quell’account sul launcher del chiosco Jonot, con l’azione di riavvio-all’uscita — tramite la CSP di Shell Launcher del tuo MDM, o localmente con l’esempio PowerShell del bridge WMI documentato nella guida Shell Launcher.
  4. Imposta l’account chiosco su accesso automatico e disattiva schermata di blocco, sospensione e cambio utente rapido.

Per una configurazione supervisionata rapida senza licenza Enterprise, il “browser kiosk” di Assigned Access può puntare direttamente a https://kiosk.jonot.io — ma esegue la SPA in Edge senza il bridge nativo (nessuna stampa locale, nessun failover host offline), quindi è un ripiego, non un sostituto dell’app nativa.

macOS — runbook di prevenzione della fuga a livello di sistema operativo

Sezione intitolata “macOS — runbook di prevenzione della fuga a livello di sistema operativo”

L’app nasconde la barra dei menu e il dock e blocca ⌘+Q lato app. Il profilo a livello di sistema operativo copre le vie che l’app non può chiudere: Force Quit, Mission Control, cambio Spaces, angoli attivi, Spotlight e cambio app.

Usa un account gestito o limitato dedicato con accesso automatico. Distribuisci da un MDM (Jamf Pro, Kandji, Mosyle o Intune):

  1. Account standard dedicato + accesso automatico. Crea un account locale non amministratore usato solo per il chiosco. Abilita l’accesso automatico per quell’account e disattiva la sospensione di sistema con un profilo energetico. Un payload Managed Login Items assicura che l’app chiosco si avvii all’inizio della sessione.

  2. Disattiva Force Quit (⌘+⌥+Esc). Force Quit è la principale via di fuga che l’app non può bloccare. Disattivala con un payload managed-preferences personalizzato per com.apple.loginwindow:

    DisableForceQuitCombinedKey = true
  3. Disattiva Mission Control e il cambio Spaces. Usa com.apple.symbolichotkeys per disattivare la scorciatoia di Mission Control (tasto 32) e le scorciatoie di cambio Spaces (tasti 79–81, 118–123).

  4. Disattiva gli angoli attivi. Distribuisci un payload di preferenze com.apple.dock con tutti e quattro i tasti wvous-*-corner impostati su 0 (disabilitato).

  5. Disattiva Spotlight. Disattiva la scorciatoia da tastiera di Spotlight tramite com.apple.symbolichotkeys (tasto 64 per la ricerca Spotlight). Nota: il tasto Spotlight del payload Restrictions standard sopprime solo i risultati Internet, non Spotlight stesso — usa invece l’approccio symbolichotkeys.

  6. Disattiva il cambio app (⌘+Tab). Disattiva la scorciatoia del cambio applicazione tramite com.apple.symbolichotkeys (tasto 27).

Su Linux il blocco più pulito è una sessione GNOME Kiosk dedicata, che esegue l’app chiosco Jonot come unica finestra della sessione — nessun pannello, nessuna panoramica Attività e nessun cambio applicazione.

  1. Installa il pacchetto gnome-kiosk (disponibile sulle recenti release Fedora e Debian/Ubuntu). Fornisce un compositor Wayland minimale che esegue una singola app a schermo intero.
  2. Crea una sessione personalizzata che avvia l’eseguibile del chiosco Jonot come comando shell, così l’app chiosco è la sessione.
  3. Configura l’accesso automatico GDM per un utente standard dedicato in quella sessione chiosco.
  4. Rafforza il sistema circostante: disattiva il cambio VT e Ctrl+Alt+Backspace, blocca l’accesso TTY in logind, e disattiva l’oscuramento automatico dello schermo e la gestione energetica.

Poiché il compositor GNOME Kiosk non espone mai un cambio applicazione o una panoramica, non c’è alcuna via all’interno della sessione verso un’altra applicazione — il sistema operativo impone ciò che la soppressione delle scorciatoie interna al processo dell’app può solo tentare.

LivelloProtegge da
Blocco nell’appBarra dei menu/dock (macOS), ⌘+Q, uscite accidentali, scorciatoie intercettabili nel processo
Profilo kiosk a livello di sistema operativoForce Quit, Mission Control, Spaces, angoli attivi, Spotlight, cambio app a livello di sistema operativo
Involucro fisicoAccesso hardware — porte USB, pulsante di accensione, la tastiera

Esegui sempre insieme il blocco nell’app e un profilo a livello di sistema operativo per le installazioni pubbliche non presidiate. Un involucro fisico è il terzo livello per distribuzioni completamente a prova di manomissione.