Матиас Класен (Matthias Clasen)
mclasen@redhat.com 2014
Яна Сварова (Jana Svarova)
jana.svarova@gmail.com 2014
Петр Ковар (Petr Kovar)
pknbe@volny.cz 2019
Марек Сучанек (Marek Suchánek)
msuchane@redhat.com 2023
Установка киоскоподобной системы с одним приложением.
Ser82-png
asvmail.as@gmail.com 2022-2023

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

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

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

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

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

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

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

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

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

# /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;

Как пользователь, который будет открывать сеанс с одним приложением, создайте файл /home/user/.local/bin/gnome-kiosk:

[user]$ mkdir -p ~/.local/bin

[user]$ touch ~/.local/bin/gnome-kiosk

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

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

#!/bin/sh

while true; do firefox --kiosk https://example.org done

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

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

[user]$ chmod +x ~/.local/bin/gnome-kiosk

Если вы создали файл или содержащие его каталоги от имени пользователя, отличного от пользователя одного приложения, например root, убедитесь, что файл имеет правильные разрешения:

# chown -R user:group ~user/.local

На экране входа в GNOME выберите сеанс киоска в меню кнопки с шестерёнкой и войдите в систему как пользователь одного приложения.