Настройка режима одного приложения

Режим одного приложения — это модифицированная GNOME Shell, в которой оболочка настроена на работу в формате интерактивного киоска. Администратор блокирует некоторые действия с целью наложения дополнительных ограничений на действия пользователей со стороны стандартного рабочего стола, предоставляя возможность сосредоточить на работе с выбранными элементами.

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

Ваш дистрибутив может предоставлять сеанс GNOME Kiosk, который обычно доступен в пакете gnome-kiosk. Вы можете использовать его для более простой настройки режима одного приложения. В противном случае воспользуйтесь приведённой ниже процедурой.

Настройка режима одного приложения

  1. Заблокируйте настройки, чтобы предотвратить доступ к печати, терминалу и т.д.

  2. Настройте автоматический вход для пользователя в файле /etc/gdm/custom.conf.

    Для получения дополнительной информации смотрите Настройка автоматического входа.

  3. Создайте следующие файлы с приведённым ниже содержимым:

    /usr/share/applications/org.gnome.Kiosk.Script.desktop
    [Desktop Entry]
    Name=Киоск
    Type=Application
    Exec=gnome-kiosk
    /usr/share/applications/org.gnome.Kiosk.WindowManager.desktop
    [Desktop Entry]
    Type=Application
    Name=Mutter
    Comment=Оконный менеджер
    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=Киоск
    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=Киоск
    Comment=Режим киоска
    Exec=/usr/bin/gnome-session --session=gnome-kiosk
    DesktopNames=GNOME-Kiosk;GNOME;
  4. Как пользователь, который будет открывать сеанс с одним приложением, создайте файл /home/user/.local/bin/gnome-kiosk:

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

    Например, чтобы запустить браузер Firefox в режиме одного приложения, введите следующее:

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

    Цикл while true гарантирует, что приложение перезапустится, если оно по какой-либо причине упадёт.

  6. Сделайте файл исполняемым:

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

    # chown -R user:group ~user/.local
  8. На экране входа в GNOME выберите сеанс киоска в меню кнопки с шестерёнкой и войдите в систему как пользователь одного приложения.