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

Материал из ALT Linux Wiki
мНет описания правки
Нет описания правки
Строка 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}}):
*Конфигурация для Mate:
*:<source lang="bash">
#!/bin/bash
marco --replace &
chromium --kiosk --incognito https://ya.ru</source>


*Конфигурация для KDE для запуска браузера на полный экран при любом разрешении:
[[Файл:Alterator-kiosk.png|Интерфейс модуля Настройка kiosk]]
*:Предварительно устанавливаем jq:
*:<source lang="text" highlight="1"># apt-get update && apt-get install jq</source>
*:Затем файл {{path|/usr/local/bin/webkiosk}} заполняем следующим содержимым:
*:<source lang="bash">#!/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
chromium-gost --window-size=$WIDTH,$HEIGHT --start-maximized --no-default-browser-check --kiosk https://basealt.ru</source>


*Конфигурация для LXDE с использованием браузера palemoon/newmoon
== Использование модуля ==
*:Palemoon/newmoon не имеет режима kiosk, будем его эмулировать сами. В пользовательском конфиге {{path|~/.config/openbox/lxde-rc.xml}} делаем правило, для браузера palemoon/newmoon работать в режиме fullscreen. Для этого в секции '''applications''', добавляем правило '''application'''
*:<source lang="bash"><applications>
...
  <application class="Pale moon" name="Navigator">
          <fullscreen>yes</fullscreen>
  </application>
...
</applications></source>
*:Параметры class, name - взяты из результата работы команды  - {{cmd|obxprop{{!}}grep '^_OB_APP'}}
*:Файл {{path|/usr/local/bin/webkiosk}} заполняем следующим содержимым:
*:<source lang="bash">#!/bin/sh
openbox-lxde &
while /usr/bin/palemoon; do true; done</source>
*:Это даст повторное открытие браузера, если он по какой-то причине будет закрыт


Для разрешения запуска определенных приложений, необходимо включить соответствующий профиль из списка «Профили» и установить отметку в поле «Включён»:
[[Файл:Alterator-kiosk2.png|Список приложений, из которых состоит профиль]]
Список приложений, из которых состоит профиль, можно увидеть в окне «Содержимое профиля» (профиль выделяется щелчком любой кнопки мыши).
{{note|Для создания нового профиля необходимо создать новый файл в {{path|/etc/alterator/kiosk/profiles/}} и вписать в него разрешённые к запуску программы. Например, создать профиль chromium-gost, можно так:
<source lang="text" highlight="1">
# vim /etc/alterator/kiosk/profiles/chromium-gost
U /usr/bin/chromium-gost
U /usr/bin/getconf
U /usr/lib64/chromium-gost/chromium-gost
</source> }}
== Управление режимом киоск в консоли ==
Для управления режимом киоск, можно воспользоваться командой {{cmd|kiosk}}.
Просмотреть пути в белом списке:
<source lang="text" highlight="1">
# kiosk --user-list
/usr/bin/chromium-gost
/usr/lib64/chromium-gost/chromium-gost
</source>
Добавить указанный путь в белый список:
<source lang="text" highlight="1"># kiosk --user-list-append /путь</source>
Удалить указанный путь из белого списка:
<source lang="text" highlight="1"># kiosk --user-list-remove /путь</source>
Установить режим киоск:
<source lang="text" highlight="1"># kiosk --set-mode 1</source>
Отключить режим киоск:
<source lang="text" highlight="1"># kiosk --set-mode 0</source>
Просмотреть состояние режима:
<source lang="text" highlight="1"># kiosk --get-mode</source>


====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}}}}

Версия от 23:03, 18 февраля 2022

Назначение

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

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


Запуск

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

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

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

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

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

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

Примечание: Для создания нового профиля необходимо создать новый файл в /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 --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