Налаштовування режиму однієї програми

Однопрограмний режим — змінений режим GNOME Shell, у якому Shell налаштовано на роботу у форматі інтерактивного кіоску. Адміністратор блокує частину можливостей середовища з метою накладання додаткових обмежень на дії користувачів з боку стандартної стільниці, надаючи змогу зосередити дії користувача на роботи із вибраними можливостями.

Налаштуйте однопрограмний режим для широкого діапазону функцій у декількох полях (від спілкування до розваг або освіти) і скористайтеся ним як машиною самообслуговування, засобом керування подіями, точкою реєстрації тощо.

Ваш дистрибутив може забезпечувати роботу сеансу GNOME Kiosk, який, зазвичай, доступний у пакунку gnome-kiosk. Ви можете скористатися ним для спрощення налаштовування режиму однієї програми. Якщо ви не хочете цього робити, скористайтеся описаною нижче процедурою.

Налаштовування однопрограмного режиму

  1. Блокування параметрів для запобігання друку, доступу до термінала тощо.

  2. Налаштуйте автоматичний вхід до системи у файлі /etc/gdm/custom.conf для користувача.

    Див. Налаштовування автоматичного входу до системи, щоб дізнатися більше.

  3. Створіть такі файли з таким вмістом:

    /usr/share/applications/org.gnome.Kiosk.Script.desktop
    [Desktop Entry]
    Name=Kiosk
    Type=Application
    Exec=gnome-kiosk
    /usr/share/applications/org.gnome.Kiosk.WindowManager.desktop
    [Desktop Entry]
    Type=Application
    Name=Mutter
    Comment=Window manager
    Exec=/usr/bin/mutter
    Categories=GNOME;GTK;Core;
    OnlyShowIn=GNOME;
    NoDisplay=true
    X-GNOME-Autostart-Phase=DisplayServer
    X-GNOME-Provides=windowmanager;
    X-GNOME-Autostart-Notify=true
    X-GNOME-AutoRestart=false
    X-GNOME-HiddenUnderSystemd=true
    /usr/share/gnome-session/sessions/gnome-kiosk.session
    [GNOME Session]
    Name=Kiosk
    RequiredComponents=org.gnome.Kiosk.WindowManager;org.gnome.Kiosk.Script;
    /usr/share/X11/xorg.conf.d/20-gnome-kiosk.conf
    Section "ServerFlags"
        Option "DontVTSwitch" "on"
    EndSection
    /usr/share/xsessions/org.gnome.Kiosk.desktop
    [Desktop Entry]
    Name=Kiosk
    Comment=Kiosk mode
    Exec=/usr/bin/gnome-session --session=gnome-kiosk
    DesktopNames=GNOME-Kiosk;GNOME;
  4. Від імені користувача, який відкриватиме сеанс однієї програми, створіть файл /home/користувач/.local/bin/gnome-kiosk:

    [user]$ mkdir -p ~/.local/bin
    
    [user]$ touch ~/.local/bin/gnome-kiosk
  5. Внесіть зміни до файла /home/користувач/.local/bin/gnome-kiosk, де вкажіть назву виконуваного файла програми, яку ви хочете запустити у режимі однієї програми.

    Наприклад, щоб запустити Firefox у режимі однієї програми, введіть такі рядки:

    #!/bin/sh
    
    while true; do
        firefox --kiosk https://example.org
    done

    Цикл while true забезпечує перезапуск програми, якщо з якоїсь причини вона завершує роботу.

  6. Зробіть файл виконуваним:

    [користувач]$ chmod +x ~/.local/bin/gnome-kiosk
  7. Якщо ви створили файл або каталоги, що його містять від імені іншого користувача, ніж користувач режиму однієї програми, зокрема, від імені користувача root, забезпечте належні права доступу до файла:

    # chown -R користувач:group ~користувач/.local
  8. На сторінці входу до GNOME виберіть сеанс Kiosk за допомогою меню кнопки із шестернею і увійдіть до сеансу від імені користувача однієї програми.