İçeriğe geç

Masaüstü kiosk uygulamasını kilitleme

Masaüstü kiosk uygulaması, kendi süreci içinden yapabildiklerini kendisi halleder. Gözetimsiz genel kullanıma açık kiosklar için, uygulamanın temelden kapatamadığı kaçış yollarını işletim sisteminin kendisinin engellemesi için altına bir işletim sistemi düzeyinde profil katmanı ekleyin.

Kiosk istemcisi olarak başlatıldığında, masaüstü uygulaması:

  • Kenarlıksız ve tam ekran açılır; menü çubuğu şeridi dahil olmak üzere tüm ekran alanını kaplar.
  • macOS üzerinde, menü çubuğunu ve dock’u yerel NSApplicationPresentationOptions (.hideMenuBar | .hideDock) ile gizler ve uygulama her odağı yeniden kazandığında bunları tekrar uygular.
  • macOS’ta AWT QuitHandler aracılığıyla ⌘+Q’yu (ve uygulama menüsündeki “Quit” seçeneğini) engeller.
  • İşletim sisteminin kendisi harekete geçmeden önce uygulamaya ilettiği ölçüde, diğer yaygın kısayolları — Alt+F4, ⌘+W, Alt+Tab, ⌘+Tab, Windows/Super tuşu, F11 ve Escape — bastırmaya çalışır.
  • Çıkışı bir yönetici PIN’i ile kilitler. Yönetici menüsü, sağ üst köşeye beş hızlı dokunuşla (dokunmatik ekranlar için) veya beş F12 tuşuna basılarak (donanım klavyeler için) açılır ve PIN girişinde kaba kuvvet saldırılarına karşı kilitleme bulunur. PIN, ilk çalıştırmada gözetimci bir operatör tarafından belirlenir. PIN kurtarma dahil tüm operatör akışı için Kiosk kilidinden çıkma ve PIN’i kurtarma bölümüne bakın.

Gişe uygulaması kilitlenmemiştir — bu, bir personel aracıdır ve normal pencere kontrollerini korur.

Windows iki kiosk mekanizması sunar. Masaüstü kiosk uygulaması klasik bir Win32 masaüstü uygulaması olduğundan Shell Launcher doğru seçimdir — Assigned Access (tek uygulama kiosku) yalnızca UWP/MSIX uygulamalarını veya Microsoft Edge’i kabul eder.

Shell Launcher v2, Windows’un varsayılan kabuğunu (explorer.exe) belirlenen bir hesap için Jonot kiosk yürütülebilir dosyasıyla değiştirir. Explorer kabuğu olmadığında masaüstü, Başlat menüsü veya görev çubuğu bulunmaz; uygulama kapanırsa Shell Launcher onu yeniden başlatır. Windows 10/11 Enterprise, Education veya IoT Enterprise gerektirir.

  1. Shell Launcher isteğe bağlı özelliğini etkinleştirin (Enable-WindowsOptionalFeature -Online -FeatureName Client-EmbeddedShellLauncher) veya MDM’inizden gönderin.
  2. Kiosk için özel bir standart (yönetici olmayan) yerel hesap oluşturun.
  3. Shell Launcher’ı, MDM’inizdeki Shell Launcher CSP’si üzerinden ya da Shell Launcher kılavuzunda belgelenen WMI köprüsü PowerShell örneğiyle yerel olarak, o hesabın özel kabuğunu çıkışta yeniden başlatma eylemiyle birlikte Jonot kiosk başlatıcısı olarak ayarlayacak şekilde yapılandırın.
  4. Kiosk hesabını otomatik oturum açma (auto-logon) olarak ayarlayın ve kilit ekranını, uyku modunu ve hızlı kullanıcı değiştirmeyi devre dışı bırakın.

Enterprise lisansı olmadan hızlı, denetimli bir kurulum için, Assigned Access “kiosk browser” doğrudan https://kiosk.jonot.io adresine yönlendirilebilir — ancak SPA’yı yerel köprü olmadan Edge içinde çalıştırır (yerel yazdırma yok, çevrimdışı ana bilgisayara geçiş yok); bu nedenle bu bir yedek yöntemdir, yerel uygulamanın yerini tutmaz.

macOS — işletim sistemi düzeyinde kaçış-önleme el kitabı

Bölüm başlığı “macOS — işletim sistemi düzeyinde kaçış-önleme el kitabı”

Uygulama menü çubuğunu ve dock’u gizler ve uygulama tarafında ⌘+Q’yu engeller. İşletim sistemi düzeyindeki profil, uygulamanın kapatamadığı yolları kapsar: Force Quit, Mission Control, Spaces geçişi, sıcak köşeler, Spotlight ve uygulama geçişi.

Otomatik girişli, özel yönetilen veya kısıtlanmış bir hesap kullanın. Bir MDM’den dağıtın (Jamf Pro, Kandji, Mosyle veya Intune):

  1. Özel standart hesap + otomatik giriş. Yalnızca kiosk için kullanılan, yönetici olmayan bir yerel hesap oluşturun. Bu hesap için otomatik girişi etkinleştirin ve bir enerji profiliyle sistem uykusunu devre dışı bırakın. Bir Managed Login Items yükü, kiosk uygulamasının oturum başlangıcında başlamasını sağlar.

  2. Force Quit’i (⌘+⌥+Esc) devre dışı bırakın. Force Quit, uygulamanın engelleyemediği birincil kaçış yoludur. com.apple.loginwindow için özel bir yönetilen tercihler yüküyle devre dışı bırakın:

    DisableForceQuitCombinedKey = true
  3. Mission Control ve Spaces geçişini devre dışı bırakın. Mission Control kısayolunu (tuş 32) ve Spaces geçiş kısayollarını (tuşlar 79–81, 118–123) devre dışı bırakmak için com.apple.symbolichotkeys kullanın.

  4. Sıcak köşeleri devre dışı bırakın. Dört wvous-*-corner anahtarının tamamı 0 (devre dışı) olarak ayarlanmış bir com.apple.dock tercih yükü gönderin.

  5. Spotlight’ı devre dışı bırakın. com.apple.symbolichotkeys (Spotlight araması için tuş 64) üzerinden Spotlight klavye kısayolunu devre dışı bırakın. Not: standart Restrictions yükündeki Spotlight anahtarı yalnızca İnternet sonuçlarını bastırır, Spotlight’ın kendisini değil — bunun yerine symbolichotkeys yaklaşımını kullanın.

  6. Uygulama geçişini (⌘+Tab) devre dışı bırakın. Application Switcher kısayolunu com.apple.symbolichotkeys (tuş 27) üzerinden devre dışı bırakın.

Linux’ta en temiz kilitleme yöntemi, Jonot kiosk uygulamasını oturumun tek penceresi olarak çalıştıran özel bir GNOME Kiosk oturumudur — panel yoktur, Activities genel görünümü yoktur ve uygulama geçiştiricisi yoktur.

  1. gnome-kiosk paketini kurun (güncel Fedora ve Debian/Ubuntu sürümlerinde mevcuttur). Tek bir tam ekran uygulamayı çalıştıran minimal bir Wayland derleyicisi sağlar.
  2. Jonot kiosk yürütülebilir dosyasını kabuk komutu olarak başlatan özel bir oturum oluşturun; böylece kiosk uygulaması oturumun kendisi olur.
  3. Bu kiosk oturumuna özel standart bir kullanıcı için GDM otomatik girişini yapılandırın.
  4. Çevredeki sistemi sağlamlaştırın: VT geçişini ve Ctrl+Alt+Backspace’i devre dışı bırakın, logind içinde TTY erişimini engelleyin ve otomatik ekran kararmasını ve güç yönetimini devre dışı bırakın.

GNOME Kiosk derleyicisi hiçbir zaman bir geçiştirici veya genel görünüm sunmadığından, oturum içinde başka bir uygulamaya geçecek bir yol yoktur — işletim sistemi, uygulamanın süreç içi kısayol bastırmasının yalnızca deneyebildiği şeyi zorunlu kılar.

KatmanNeye karşı korur
Uygulama içi kilitlemeMenü çubuğu/dock (macOS), ⌘+Q, kazara çıkışlar, süreç içinde yakalanabilen kısayollar
İşletim sistemi düzeyinde kiosk profiliForce Quit, Mission Control, Spaces, sıcak köşeler, Spotlight, işletim sistemi düzeyinde uygulama geçişi
Fiziksel muhafazaDonanım erişimi — USB bağlantı noktaları, güç düğmesi, klavye

Gözetimsiz genel kullanıma açık yerleşimler için her zaman uygulama içi kilitlemeyi ve işletim sistemi düzeyinde bir profili birlikte çalıştırın. Fiziksel muhafaza, tamamen kurcalamaya dayanıklı dağıtımlar için üçüncü katmandır.