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
Налаштовування кіоскоподібної однопрограмної системи.
Юрій Чорноіван
yurchor@ukr.net 2021

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

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

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

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

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

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

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

Див. , щоб дізнатися більше.

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

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

Від імені користувача, який відкриватиме сеанс однієї програми, створіть файл /home/користувач/.local/bin/gnome-kiosk:

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

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

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

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

#!/bin/sh

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

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

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

[користувач]$ chmod +x ~/.local/bin/gnome-kiosk

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

# chown -R користувач:group ~користувач/.local

На сторінці входу до GNOME виберіть сеанс Kiosk за допомогою меню кнопки із шестернею і увійдіть до сеансу від імені користувача однієї програми.