У меня есть машина CentOS 7.4, которую мне нужно запустить в режиме киоска. К этому компьютеру подключен сенсорный экран, и при загрузке Google Chrome должен запускаться в полноэкранном режиме и загружать определенную веб-страницу.
До сих пор я делал следующее:
, создал следующий файл: /home/kiosk/.config/autostart/chrome-kiosk.desktop
, который содержит (среди нескольких строк) следующая строка:
Exec = / usr / bin / google-chrome-stable --incognito --kiosk --disable-web-security --user-data-dir = / home / kiosk / Documents / kiosk / tmp / --test-type file: ///home/kiosk/Documents/kiosk/offline.html
Когда компьютер запускается, пользователь киоска автоматически входит в систему, и Chrome запускается в полноэкранном режиме, загружая страницу offline.html, как я указал в указанный выше файл конфигурации.
Пока все хорошо. Но проблема в том, что при первой загрузке (после установки пользователя киоска на автоматический вход) система сообщает мне, что «приложение хочет создать новую связку ключей под названием« Связка ключей по умолчанию »
. Затем предлагает пользователю ввести пароль связки ключей.
Я избавился от этого, выполнив шаги, описанные здесь: http://ask.xmodulo.com/disable-entering-password-unlock-default-keyring.html . На самом деле я проинструктировал пользователя машины выполнить описанные там шаги, так как у меня есть только ssh-доступ к машине, и я не могу получить доступ к графическому интерфейсу.
Но мне нужно найти автоматический способ избавиться из этого брелока. Я нашел множество ссылок, описывающих, как решить эту проблему, но все они требуют доступа к графическому интерфейсу, но, как я уже сказал, у меня есть только ssh-доступ.
У меня есть сценарий оболочки, который устанавливает Chrome и другие пакеты, создает пользователя киоска, добавляет файл конфигурации /home/kiosk/.config/autostart/chrome-kiosk.desktop и т. Д. Я хочу полностью исправить брелок с помощью командной строки. Есть несколько машин, на которых мне придется запустить скрипт. Я не хочу инструктировать пользователей выполнять действия, описанные в приведенной выше ссылке, а вместо этого решать все из командной строки.
Есть ли способ сделать это? Безопасность не является проблемой, поскольку некоторые машины будут локальными (автономными).
Я делаю это с помощью:
Развертывания файлов .desktop
для отключения служб gnome-keyring (так: gnome-keyring-pkcs11.desktop
], gnome-keyring-secrets.desktop
, gnome-keyring-ssh.desktop
) пользователю киоска ~ / .config / autostart
со следующим содержимым :
[Desktop Entry]
Скрытый = правда
Установка разрешений 0700 для / usr / bin / gnome-keyring-daemon
, чтобы он мог выполняться только пользователем root и не загружался через PAM, когда пользователь киоска входит в систему.
Я не уверен, что первый шаг совершенно необходим - возможно, если бы службы не были отключены, вы бы просто получили ошибки в журналах, когда они попытаются подключиться к демону связки ключей; Я не пробовал.
Я развертываю это с помощью Ansible, но сценарий оболочки или что-то подобное подойдет.