Киоск: различия между версиями

Материал из ALT Linux Wiki
(→‎Примеры: Расширил скрипт webkiosk для KDE)
 
(не показано 11 промежуточных версий 3 участников)
Строка 1: Строка 1:
=Описание=
== Назначение ==
Режим «киоск» служит для ограничения прав пользователей в системе.


Профиль киоска – файл .desktop (обычно из {{path|/usr/share/applications}}), размещаемый в каталог {{path|/etc/kiosk}}. Задать профиль киоска для пользователя можно в модуль ЦУС [[Alterator-users|«Локальные учетные записи» alterator-users]] (только GUI).
В режиме киоск пользователь имеет право запускать программы только явно разрешенные администратором.  


В качестве примера рассмотрим настройку режима «киоск» для пользователя kiosk. Пользователю kiosk будет разрешено использовать только веб-браузер firefox.  
{{note|Для работы киоска должны быть установлены пакеты {{pkg|alterator-kiosk}} и {{pkg|kiosk}}, а также должно быть загружено ядро с поддержкой kiosk. }}


Для настройки режима киоска для пользователя, необходимо выполнить следующие действия:
== Включение/Выключение режима киоск ==
#Создать каталог {{path|/etc/kiosk}} (если он еще не создан):
#:<source lang="text" highlight="1"># mkdir /etc/kiosk</source>
#Скопировать файл firefox.desktop из /usr/share/applications, в каталог /etc/kiosk:
#:<source lang="text" highlight="1"># cp /usr/share/applications/firefox.desktop /etc/kiosk/</source>
#Если необходимо чтобы при запуске веб-браузера открывалась определенная страница, необходимо внести изменения в файл /etc/kiosk/firefox.desktop:
#:<source lang="text" highlight="1"># vim /etc/kiosk/firefox.desktop
[Desktop Entry]
Exec=firefox http://<адрес_сайта></source>
#Запустить ЦУС и в модуле «Локальные учетные записи», выбрав учетную запись kiosk (если учетной записи не существует, необходимо ее создать), в выпадающем списке «Режим киоска» выбрать пункт «Веб-браузер (firefox.desktop)» и нажать кнопку «Применить»:
#:[[Изображение:Kiosk.png|Режим «киоск» для пользователя kiosk]]
#Завершить сеанс текущего пользователя и войти в систему используя учетную запись пользователя kiosk. Пользователю kiosk будет доступен только веб-браузер firefox, по умолчанию будет загружена страница, адрес которой указан в параметре Exec в файле {{path|/etc/kiosk/firefox.desktop}}.


Так можно запускать любое приложение.
Для включения режима киоск необходимо в [[ЦУС|Центре управления системой]] перейти в раздел {{nav|Система|Настройка kiosk}}:
{{Note|Приложение в режиме киоска будет запускаться не на полном экране, поэтому используйте параметры запуска приложения в режиме киоска (например, {{cmd|chromium --kiosk}}) или разверните окно иными способами.}}
=Примеры=
Исходя из примечания выше, лучше всего сделать свой desktop-файл и скрипт, содержащий требуемое ПО, который будет запускаться.
Ниже представлены примеры. {{cmd|marco --replace &}} в обоих случаях запускает менеджер окон, который позволит программе развернуться на весь экран.
====WEB-киоск====
Файл {{path|/etc/kiosk/webkiosk.desktop}}:
<source lang="bash">#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/webkiosk
Name=WEB-kiosk
Icon=start</source>
Файл {{path|/usr/local/bin/webkiosk}} (его необходимо сделать исполняемым: {{cmd|chmod +x /usr/local/bin/webkiosk}}):
<source lang="bash">


  Конфигурация для Mate
[[Файл:Alterator-kiosk.png|Интерфейс модуля Настройка kiosk]]
  #!/bin/bash
  marco --replace &
  chromium --kiosk --incognito https://ya.ru</source>


  Конфигурация в KDE для запуска браузера на полный экран при любом разрешении
Здесь необходимо выбрать соответствующий профиль из списка «Профили», установить отметку в поле «Включён» и нажать кнопку «Применить».
  Предварительно устанавливаем jq
  # apt-get update && apt-get install jq
 
  Затем файл /usr/local/bin/webkiosk заполняем следующим содержимым
  #!/bin/bash
  kwin_x11 --replace &


  PREFERENCES=~/.config/chromium/Default/Preferences
Режим киоск будет включён сразу после нажатия кнопки «Применить».
  RESOLUTION=$(xdpyinfo | grep -Po "(?<=dimensions:)\s*([0-9]{1,}x[0-9]{1,})" | sed "s: ::g")
  WIDTH=$(echo $RESOLUTION | cut -d'x' -f1)
  HEIGHT=$(echo $RESOLUTION | cut -d'x' -f2)
  printf -v WINDOW_PLACEMENT '.browser.window_placement |= {bottom: %s, right: %s, top: 0, left: 0, maximized: true}' $WIDTH $$


  jq "$WINDOW_PLACEMENT" $PREFERENCES > tmp.json && mv tmp.json $PREFERENCES
Для выключения режима киоск необходимо зарегистрироваться в системе под пользователем root (например, на второй консоли Ctrl+Alt+F2), выполнить команду:


  chromium-gost --window-size=$WIDTH,$HEIGHT --start-maximized --no-default-browser-check --kiosk https://basealt.ru
<syntaxhighlight lang="bash"># echo "0" > /etc/alterator/kiosk/mode</syntaxhighlight>
 
И перезагрузить систему.
 
== Использование модуля ==
 
Для разрешения запуска определенных приложений, необходимо включить соответствующий профиль из списка «Профили» и установить отметку в поле «Включён»:
 
[[Файл:Alterator-kiosk2.png|Список приложений, из которых состоит профиль]]
 
Список приложений, из которых состоит профиль, можно увидеть в окне «Содержимое профиля» (профиль выделяется щелчком любой кнопки мыши).
 
{{note|Для создания нового профиля необходимо создать новый файл в {{path|/etc/alterator/kiosk/profiles/}} и вписать в него разрешённые к запуску программы. Например, создать профиль chromium-gost, можно так:
<syntaxhighlight lang="bash">
# vim /etc/alterator/kiosk/profiles/chromium-gost
U /usr/bin/chromium-gost
U /usr/bin/getconf
U /usr/lib64/chromium-gost/chromium-gost
</syntaxhighlight> }}
 
== Управление режимом киоск в консоли ==
 
Для управления режимом киоск, можно воспользоваться командой {{cmd|kiosk}}.
 
{{Attention|Утилита {{cmd|kiosk}} используется для ''временного'' включения/отключения режима киоск. Если, например, отключить режим киоск с помощью данной утилиты, то после перезагрузки компьютера, режим снова будет включён. ''Постоянный'' режим киоска можно включить в модуле [[Alterator-kiosk]] [[ЦУС]] (см.выше).}}
 
Просмотреть пути в белом списке:
 
<syntaxhighlight lang="bash">
# kiosk --user-list
/usr/bin/chromium-gost
/usr/lib64/chromium-gost/chromium-gost
</syntaxhighlight>
 
Добавить указанный путь в белый список:
 
<syntaxhighlight lang="bash"># kiosk --user-list-append /путь</syntaxhighlight>
 
Удалить указанный путь из белого списка:
 
<syntaxhighlight lang="bash"># kiosk --user-list-remove /путь</syntaxhighlight>
 
Активировать режим киоск:
 
<syntaxhighlight lang="bash"># kiosk --set-mode 1</syntaxhighlight>
 
Деактивировать режим киоск:
 
<syntaxhighlight lang="bash"># kiosk --set-mode 0</syntaxhighlight>
 
Просмотреть состояние режима:
<syntaxhighlight lang="bash"># kiosk --get-mode</syntaxhighlight>


====RDP-киоск====
Файл {{path|/etc/kiosk/rdpkiosk.desktop}}:
<source lang="bash">#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/rdpkiosk
Name=RDP-kiosk
Icon=start</source>
Файл {{path|/usr/local/bin/rdpkiosk}}:
<source lang="bash">
#!/bin/bash
marco --replace &
xfreerdp /v:192.168.0.250 /t:'TS' /f +clipboard /drives /bpp:32 /gdi:sw /cert-ignore +auto-reconnect -sec-nla
/sbin/poweroff #позволит выключать ПК при выходе из терминального сеанса</source>


[[Категория:HOWTO]]
[[Категория:HOWTO]]
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}

Текущая версия от 08:29, 15 ноября 2023

Назначение

В режиме киоск пользователь имеет право запускать программы только явно разрешенные администратором.

Примечание: Для работы киоска должны быть установлены пакеты alterator-kiosk и kiosk, а также должно быть загружено ядро с поддержкой kiosk.


Включение/Выключение режима киоск

Для включения режима киоск необходимо в Центре управления системой перейти в раздел Система ▷ Настройка kiosk:

Интерфейс модуля Настройка kiosk

Здесь необходимо выбрать соответствующий профиль из списка «Профили», установить отметку в поле «Включён» и нажать кнопку «Применить».

Режим киоск будет включён сразу после нажатия кнопки «Применить».

Для выключения режима киоск необходимо зарегистрироваться в системе под пользователем root (например, на второй консоли Ctrl+Alt+F2), выполнить команду:

# echo "0" > /etc/alterator/kiosk/mode

И перезагрузить систему.

Использование модуля

Для разрешения запуска определенных приложений, необходимо включить соответствующий профиль из списка «Профили» и установить отметку в поле «Включён»:

Список приложений, из которых состоит профиль

Список приложений, из которых состоит профиль, можно увидеть в окне «Содержимое профиля» (профиль выделяется щелчком любой кнопки мыши).

Примечание: Для создания нового профиля необходимо создать новый файл в /etc/alterator/kiosk/profiles/ и вписать в него разрешённые к запуску программы. Например, создать профиль chromium-gost, можно так:
# vim /etc/alterator/kiosk/profiles/chromium-gost
U /usr/bin/chromium-gost
U /usr/bin/getconf
U /usr/lib64/chromium-gost/chromium-gost


Управление режимом киоск в консоли

Для управления режимом киоск, можно воспользоваться командой kiosk.

Внимание! Утилита kiosk используется для временного включения/отключения режима киоск. Если, например, отключить режим киоск с помощью данной утилиты, то после перезагрузки компьютера, режим снова будет включён. Постоянный режим киоска можно включить в модуле Alterator-kiosk ЦУС (см.выше).


Просмотреть пути в белом списке:

# kiosk --user-list
/usr/bin/chromium-gost
/usr/lib64/chromium-gost/chromium-gost

Добавить указанный путь в белый список:

# kiosk --user-list-append /путь

Удалить указанный путь из белого списка:

# kiosk --user-list-remove /путь

Активировать режим киоск:

# kiosk --set-mode 1

Деактивировать режим киоск:

# kiosk --set-mode 0

Просмотреть состояние режима:

# kiosk --get-mode