Киоск: различия между версиями
Bne (обсуждение | вклад) (→Примеры: Расширил скрипт webkiosk для KDE) |
Bne (обсуждение | вклад) |
||
Строка 50: | Строка 50: | ||
#!/bin/bash | #!/bin/bash | ||
kwin_x11 --replace & | kwin_x11 --replace & | ||
PREFERENCES=~/.config/chromium/Default/Preferences | PREFERENCES=~/.config/chromium/Default/Preferences | ||
RESOLUTION=$(xdpyinfo | grep -Po "(?<=dimensions:)\s*([0-9]{1,}x[0-9]{1,})" | sed "s: ::g") | RESOLUTION=$(xdpyinfo | grep -Po "(?<=dimensions:)\s*([0-9]{1,}x[0-9]{1,})" | sed "s: ::g") | ||
Строка 56: | Строка 55: | ||
HEIGHT=$(echo $RESOLUTION | cut -d'x' -f2) | 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 $$ | 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 | 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 | chromium-gost --window-size=$WIDTH,$HEIGHT --start-maximized --no-default-browser-check --kiosk https://basealt.ru | ||
Версия от 22:47, 6 апреля 2021
Описание
Режим «киоск» служит для ограничения прав пользователей в системе.
Профиль киоска – файл .desktop (обычно из /usr/share/applications), размещаемый в каталог /etc/kiosk. Задать профиль киоска для пользователя можно в модуль ЦУС «Локальные учетные записи» alterator-users (только GUI).
В качестве примера рассмотрим настройку режима «киоск» для пользователя kiosk. Пользователю kiosk будет разрешено использовать только веб-браузер firefox.
Для настройки режима киоска для пользователя, необходимо выполнить следующие действия:
- Создать каталог /etc/kiosk (если он еще не создан):
# mkdir /etc/kiosk
- Скопировать файл firefox.desktop из /usr/share/applications, в каталог /etc/kiosk:
# cp /usr/share/applications/firefox.desktop /etc/kiosk/
- Если необходимо чтобы при запуске веб-браузера открывалась определенная страница, необходимо внести изменения в файл /etc/kiosk/firefox.desktop:
# vim /etc/kiosk/firefox.desktop [Desktop Entry] Exec=firefox http://<адрес_сайта>
- Запустить ЦУС и в модуле «Локальные учетные записи», выбрав учетную запись kiosk (если учетной записи не существует, необходимо ее создать), в выпадающем списке «Режим киоска» выбрать пункт «Веб-браузер (firefox.desktop)» и нажать кнопку «Применить»:
- Завершить сеанс текущего пользователя и войти в систему используя учетную запись пользователя kiosk. Пользователю kiosk будет доступен только веб-браузер firefox, по умолчанию будет загружена страница, адрес которой указан в параметре Exec в файле /etc/kiosk/firefox.desktop.
Так можно запускать любое приложение.
Примеры
Исходя из примечания выше, лучше всего сделать свой desktop-файл и скрипт, содержащий требуемое ПО, который будет запускаться. Ниже представлены примеры. marco --replace & в обоих случаях запускает менеджер окон, который позволит программе развернуться на весь экран.
WEB-киоск
Файл /etc/kiosk/webkiosk.desktop:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/webkiosk
Name=WEB-kiosk
Icon=start
Файл /usr/local/bin/webkiosk (его необходимо сделать исполняемым: chmod +x /usr/local/bin/webkiosk):
Конфигурация для Mate
#!/bin/bash
marco --replace &
chromium --kiosk --incognito https://ya.ru
Конфигурация в 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 chromium-gost --window-size=$WIDTH,$HEIGHT --start-maximized --no-default-browser-check --kiosk https://basealt.ru
RDP-киоск
Файл /etc/kiosk/rdpkiosk.desktop:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/rdpkiosk
Name=RDP-kiosk
Icon=start
Файл /usr/local/bin/rdpkiosk:
#!/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 #позволит выключать ПК при выходе из терминального сеанса