Przejdź do głównej zawartości

Zablokuj kiosk desktopowy

Aplikacja kiosku desktopowego blokuje te działania, nad którymi ma kontrolę. W nienadzorowanym publicznym kiosku zastosuj dodatkowo profil na poziomie systemu operacyjnego. Profil blokuje drogi wyjścia, nad którymi aplikacja desktopowa nie ma kontroli.

Uruchomiona jako klient kiosku, aplikacja desktopowa:

  • Otwiera się bez obramowania i na pełnym ekranie, zajmując całą powierzchnię ekranu, łącznie z paskiem menu.
  • Na macOS ukrywa pasek menu i dok za pomocą natywnego NSApplicationPresentationOptions (.hideMenuBar | .hideDock) i wymusza to ponownie za każdym razem, gdy odzyskuje fokus.
  • Blokuje ⌘+Q (oraz „Zakończ” w menu aplikacji) na macOS za pomocą AWT QuitHandler.
  • Próbuje zablokować inne popularne skróty klawiszowe — Alt+F4, ⌘+W, Alt+Tab, ⌘+Tab, klawisz Windows/Super, F11 i Escape — o ile system dostarcza je do aplikacji, zanim sam je obsłuży.
  • Zabezpiecza wyjście PIN-em menedżera. Menu menedżera otwiera się po pięciu szybkich dotknięciach w prawym górnym rogu (na ekranach dotykowych) lub pięciu naciśnięciach F12 (na klawiaturach fizycznych), a wprowadzanie PIN-u ma blokadę przed atakiem siłowym. Nadzorujący operator ustawia PIN przy pierwszym uruchomieniu. Pełny przebieg działań operatora, w tym odzyskiwanie PIN-u, opisuje Wyjście z blokady kiosku i odzyskanie PIN-u.

Aplikacja stanowiska obsługi nie jest blokowana — to narzędzie dla personelu, które zachowuje standardowe elementy sterujące okna.

Windows oferuje dwa mechanizmy kiosku. Kiosk desktopowy jest klasyczną aplikacją Win32, dlatego użyj Shell Launcher. Assigned Access w trybie kiosku jednej aplikacji przyjmuje wyłącznie aplikacje UWP/MSIX lub przeglądarkę Microsoft Edge.

Shell Launcher v2 zastępuje domyślną powłokę Windows (explorer.exe) aplikacją kiosku Jonot dla wskazanego konta. Bez Eksploratora konto nie ma pulpitu, menu Start ani paska zadań. Jeśli kiosk się zakończy, Shell Launcher uruchamia go ponownie. Shell Launcher wymaga systemu Windows 10/11 Enterprise, Education lub IoT Enterprise.

  1. Włącz opcjonalną funkcję Shell Launcher (Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher) albo wdróż ją z poziomu swojego MDM.
  2. Utwórz dedykowane, standardowe (nieadministracyjne) konto lokalne dla kiosku.
  3. Skonfiguruj Shell Launcher tak, aby niestandardową powłoką tego konta był launcher kiosku Jonot, z akcją ponownego uruchamiania po zakończeniu — za pomocą CSP Shell Launcher z Twojego MDM albo lokalnie, korzystając z przykładu PowerShell z mostkiem WMI opisanego w przewodniku Shell Launcher.
  4. Ustaw dla konta kiosku automatyczne logowanie i wyłącz ekran blokady, uśpienie oraz szybkie przełączanie użytkowników.

W nadzorowanej konfiguracji bez licencji Enterprise „przeglądarka kiosku” Assigned Access może otworzyć bezpośrednio https://kiosk.jonot.io. Uruchamia jednak aplikację webową w Edge bez natywnego połączenia, więc lokalne drukowanie i przełączanie na hosta offline nie działają. Skorzystaj z tego rozwiązania tylko wtedy, gdy nie potrzebujesz tych natywnych funkcji.

macOS — instrukcja blokowania dróg wyjścia na poziomie systemu

Dział zatytułowany „macOS — instrukcja blokowania dróg wyjścia na poziomie systemu”

Aplikacja ukrywa pasek menu i dok oraz blokuje ⌘+Q po swojej stronie. Profil na poziomie systemu obejmuje drogi, których aplikacja nie może zamknąć: Force Quit, Mission Control, przełączanie Spaces, aktywne narożniki, Spotlight i przełączanie aplikacji.

Użyj dedykowanego, zarządzanego lub ograniczonego konta z automatycznym logowaniem. Wdrażaj za pomocą MDM (Jamf Pro, Kandji, Mosyle lub Intune):

  1. Dedykowane konto standardowe i automatyczne logowanie. Utwórz nieadministracyjne konto lokalne używane wyłącznie do kiosku. Włącz dla niego automatyczne logowanie i wyłącz uśpienie systemu profilem energetycznym. Payload Managed Login Items zapewnia uruchomienie aplikacji kiosku na starcie sesji.

  2. Wyłącz Force Quit (⌘+⌥+Esc). Force Quit to główna droga wyjścia, której aplikacja nie może zablokować. Wyłącz ją niestandardowym payloadem managed-preferences dla com.apple.loginwindow:

    DisableForceQuitCombinedKey = true
  3. Wyłącz Mission Control i przełączanie Spaces. Użyj com.apple.symbolichotkeys, aby wyłączyć skrót Mission Control (klawisz 32) oraz skróty przełączania Spaces (klawisze 79–81, 118–123).

  4. Wyłącz aktywne narożniki. Wdróż payload preferencji com.apple.dock ze wszystkimi czterema kluczami wvous-*-corner ustawionymi na 0 (wyłączone).

  5. Wyłącz Spotlight. Wyłącz skrót klawiszowy Spotlight za pomocą com.apple.symbolichotkeys (klawisz 64 dla wyszukiwania Spotlight). Uwaga: klucz Spotlight w standardowym payloadzie Restrictions tłumi wyłącznie wyniki z internetu, a nie samo Spotlight — użyj podejścia z symbolichotkeys.

  6. Wyłącz przełączanie aplikacji (⌘+Tab). Wyłącz skrót Przełącznika aplikacji za pomocą com.apple.symbolichotkeys (klawisz 27).

W Linuksie użyj dedykowanej sesji GNOME Kiosk, w której aplikacja kiosku Jonot jest jedynym oknem. Sesja nie ma panelu, podglądu Aktywności ani przełącznika aplikacji.

  1. Zainstaluj pakiet gnome-kiosk (dostępny w nowszych wydaniach Fedory oraz Debiana i Ubuntu). Udostępnia on minimalny kompozytor Wayland, który uruchamia jedną aplikację pełnoekranową.
  2. Utwórz niestandardową sesję, która uruchamia plik wykonywalny kiosku Jonot jako polecenie powłoki, tak aby aplikacja kiosku była sesją.
  3. Skonfiguruj automatyczne logowanie GDM dedykowanego użytkownika standardowego do tej sesji kiosku.
  4. Wzmocnij otaczający system: wyłącz przełączanie VT oraz Ctrl+Alt+Backspace, zablokuj dostęp do TTY w logind i wyłącz automatyczne wygaszanie ekranu oraz zarządzanie energią.

Ponieważ kompozytor GNOME Kiosk nigdy nie udostępnia przełącznika ani podglądu, w ramach sesji nie ma drogi do innej aplikacji — system egzekwuje to, co wewnątrzprocesowe tłumienie skrótów może jedynie próbować osiągnąć.

WarstwaChroni przed
Blokada w aplikacjiPaskiem menu i dokiem (macOS), ⌘+Q, przypadkowym wyjściem, skrótami przechwytywalnymi wewnątrz procesu
Profil kiosku na poziomie systemuForce Quit, Mission Control, Spaces, aktywnymi narożnikami, Spotlight, przełączaniem aplikacji na poziomie systemu
Obudowa fizycznaDostępem do sprzętu — portami USB, przyciskiem zasilania, klawiaturą

W nienadzorowanym publicznym kiosku zawsze stosuj blokadę w aplikacji razem z profilem na poziomie systemu operacyjnego. Dodaj obudowę fizyczną, gdy musisz też uniemożliwić dostęp do sprzętu.