У меня есть машина 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, как я указал в приведенном выше файле конфигурации.
Все идет нормально. Но проблема в том, что при первой загрузке (после настройки пользователя киоска на автоматический вход) система сообщает мне, что 'an application wants to create a new keyring called "Default keyring"'
. Затем предлагает пользователю ввести пароль связки ключей.
Я избавился от этого, выполнив шаги, описанные здесь: http://ask.xmodulo.com/disable-entering-password-unlock-default-keyring.html. На самом деле я проинструктировал пользователя машины выполнить описанные там шаги, так как у меня есть только ssh-доступ к машине, и я не могу получить доступ к графическому интерфейсу.
Но мне нужно найти автоматический способ избавиться от этого брелка. Я нашел множество ссылок, описывающих, как решить эту проблему, но все они требуют доступа к графическому интерфейсу, но, как я уже сказал, у меня есть только ssh-доступ.
У меня есть сценарий оболочки, который устанавливает хром и другие пакеты, создает пользователя киоска, добавляет файл конфигурации /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]
Hidden=true
Установка разрешений 0700 на /usr/bin/gnome-keyring-daemon
поэтому он может выполняться только пользователем root и не загружается через PAM, когда пользователь киоска входит в систему.
Я не уверен, что первый шаг полностью необходим - возможно, если бы службы не были отключены, вы бы просто получили ошибки в журналах, когда они попытаются подключиться к демону связки ключей; Я не пробовал.
Я развертываю это с помощью Ansible, но сценарий оболочки или что-то подобное будет работать так же.