Здравствуйте, уважаемые читатели!
С декабря, когда я написал крайнюю статью, уже много воды утекло. За это время я отгулял свой отпуск и побывал в очередной командировке, где моей задачей было сделать так, чтобы “экран телевизора разделился на 4 части – на одной было видео, на второй новости, а на остальных – я сам ещё не придумал, придумай ты :-)”.
Когда нибудь я буду скучать по своей “крупной бюджетной организации”, а пока “улыбаемся и машем”.
Но не об этом сегодня! Сегодня я планирую миграцию с AL 1.6 на 1.7 – и одна из задач данной миграции обеспечить работу моей “Доски информации” (монитора, непрерывно показывающего слайды) в режиме графического киоска.
Как-то давно я решил разработать такой проект – чтобы каждый пользователь (имеющий на это право) смог размещать презентации (объявления, информацию) в сетевом каталоге, и эта презентация автоматически включилась бы в ротацию показа на экране. Об этом проекте я расскажу как-нибудь отдельно.
В сегодняшней реализации я решил сделать пользователя, который запускает эти презентации доменным. Раньше он был локальным, там вопросов по настройке графического киоска не возникало.
Что такое графический киоск и зачем он мне нужен?
Это особый режим – в котором пользователю разрешается запускать только приложения, явно указанные в их профиле. Ограничения накладываются на уровне графической среды (если нужно что-то более серьёзное – смотрите в сторону системного киоска).
Выставлять в коридоре открытую сессию пользователя не слишком безопасно – необходимо максимально лишить его прав и возможностей выполнять действия, которые не предусмотрены моим проектом.
Для настройки графического киоска локального пользователя нужно открыть “Панель управления”, запустить “Политику безопасности”, выбрать пользователя и открыть вкладку “Графический киоск”.
Выставить галочку напротив “Режим графического киоска (ограниченный набор приложений)” и поместить требуемое приложение в необходимую категорию (на картинке, для примера, настроен автоматический запуск браузера Firefox).
Но мне нужно было настроить доменного пользователя. И тут на минуту я задумался. Вкладка настройки находится у локального пользователя – соответственно, тут её искать не стоит. Во FreeIPA я тоже настроек киоска не видел…
Сразу возникла мысль “пересадить” файлы киоска от локального доменному пользователю. Но как говорится, лучше прочитать сначала справку – можно сэкономить много времени и избежать ошибок.
К слову, ознакомиться с официальной документацией можно здесь.
Собственно, в справочной документации так и написано – “никакого Вам GUI – осваивайте CLI”.
Честно сказать, я считаю, что CLI – приоритет для администратора – но если сделали GUI настройку для локальных пользователей, сделайте для доменных (думаю, разработчики Astra Linux однозначно к этому придут – для этого нужно просто создать отдельное приложение для графического киоска, а не использовать вкладку у соответствующего локального пользователя).
Я выполнил настройку следующим образом – для начала я создал через GUI (а вот нечего было писать, что CLI в приоритете для администратора и обвинять разработчиков, не было бы этого неловкого момента :-)) все необходимые мне настройки и сохранил их.
Далее открыл консоль и перешёл в каталог киоска:
cd /etc/fly-kiosk
В нём и располагаются настройки графического киоска – для каждого пользователя с настроенным киоском создаётся соответствующий каталог с названием, аналогичным пользователю.
В моём случае пользователя, которого я настроил в GUI, зовут alex, а доменного пользователя – desk.
Чтобы настроить доменного пользователя desk, переименуем каталог alex в desk:
mv ./alex ./desk
Собственно – вот и всё. Ну раз мы добрались до CLI, давайте посмотрим, как устроен каталог с настройками графического киоска.
В каталоге с именем пользователя видим следующую иерархию каталогов:
autostart – автостарт приложений, чьи ярлыки размещены в данном каталоге;
desktop – ярлыки, расположенные в данном каталоге, будут на рабочем столе пользователя;
single – режим работы одного приложения – запустится только одно приложение, если его закрыть – сессия пользователя завершится;
toolbar – ярлыки, размещённые здесь, появятся на панели задач;
scripts – каталог для скриптов, которые должны выполниться при входе в сессию.
Также в каталоге расположены файлы exit.desktop – ярлык завершения работы и fly-kiosk.conf – конфигурационный файл режима киоска.
Собственно, так задача и была решена. Вам желаю успехов и до новых встреч!
Доброго!
Есть возможность изменить exit.desktop чтобы происходил рестарт сессии?
Здравствуйте, не было такой задачи. Думаю гипотетически возможно, но зачем это нужно?
Интересно, как запустить терминал в режиме киоска? просто размещенный ярлык на рабочем столе (/etc/fly-kiosk/username/desktop/) не дает результата.
Соответственно любая консольная прога тоже не будет работать, пока не разрешен терминал.
Здравствуйте, честно сказать не вижу практического применения данной идеи. Терминал нужен для того, чтобы ограничить пользователя. Консоль же наоборот даёт простор для действий).