Настройка Ubuntu для интернет-киоска

Материал из My WiKi
Перейти к навигации Перейти к поиску

Задача

  • Настроить Ubuntu для интернет-киоска
  • Киоск должен отображать веб-браузер со своим сайтом в полноэкранном режиме
  • Нет адресной строки
  • Ни одна кнопка не может только щелкнуть ссылку на странице
  • Если сотрудники вводят имя и пароль администратора, ни может изменять любые настройки в Ubuntu

http://ubuntu.fliplinux.com/ubuntu-16-04-02-splash-screen-kiosk.html

Installed Ubuntu Server 18.04.3 with OpenSSH Server

Updates:

 sudo apt update && sudo apt upgrade -y

Display Server + Windows Manager:

 sudo apt install xorg openbox -y

Note: I tried to install openbox with --no-install-recommends but half of the screen (right side) was black.

Google Chrome

 sudo add-apt-repository 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt update && sudo apt install google-chrome-stable -y 


Create a "Kiosk" user: sudo adduser kiosk Start Script for Chrome:

sudo tee -a /home/kiosk/startchrome.sh <<EOF #!/bin/bash # Turn off DPMS (Display Power Management Signaling) xset -dpms # Disable screen saver blanking xset s off # Start OpenBox openbox-session & # Make sure Chrome is always started - restart if needed while true; do rm -rf ~/.{config,cache}/google-chrome/ google-chrome --ignore-certificate-errors --kiosk --no-first-run --disable-infobars --disable-session-crashed-bubble --disable-translate 'http://localhost:8080' done EOF


sudo tee -a /home/kiosk/startchrome.sh < Make it executable and run on login:

 sudo chmod +x /home/kiosk/startchrome.sh
 echo "/usr/bin/startx /etc/X11/Xsession /home/kiosk/startchrome.sh -- :0 &> /dev/null" | sudo tee -a /home/kiosk/.profile

Configure Auto-Login:

Configure Getty:

sudo mkdir /etc/systemd/system/getty@tty1.service.d/ sudo tee -a /etc/systemd/system/getty@tty1.service.d/autologin.conf < Enable Getty:

sudo systemctl enable getty@tty1.service Hide Banner message on boot

sudo touch /home/kiosk/.hushlogin sudo chown kiosk:kiosk /home/kiosk/.hushlogin

Problem - X not starting

Я хочу удалить все загрузочные сообщения. Я попробовал GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск" в /etc/default/grub , но теперь все, что я вижу, - это маленький курсор в верхнем левом углу экрана. Chrome больше не отображается?

<�Сильный> Решение

Пользователь киоска должен быть добавлен в группу видео! Не знаю, почему он работал, прежде чем я установил plymouth:

   sudo usermod -a -G audio kiosk
   sudo usermod -a -G video kiosk

Примечание. Я пробовал свою собственную процедуру в Ubuntu 17.04, и мне приходилось делать эти дополнительные шаги:

   sudo apt install xserver-xorg-legacy
   sudo dpkg-reconfigure xserver-xorg-legacy

Теперь вы выбираете «Anyone» в меню. Затем измените /etc/X11/Xwrapper.config и установите:

   needs_root_rights=yes
   allowed_users=anybody

Question - How to configure a new theme

Мне также нужен Splash Screen, я думаю, что мне нужно установить plymouth? Что я должен установить и как его настроить?

<�Сильный> Решение

Я создал тему, основанную на ubuntu-logo, и скопировал ее в /usr/share/plymouth/themes/, чем я:

   sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/MY_THEME/MY_THEME.plymouth 150
   sudo update-alternatives --config default.plymouth

Он будет запрашивать выбор темы, я выбираю мой и после того, как вы это сделаете:

   sudo update-initramfs -u
   sudo update-grub

Благодаря!


=====

startx, поскольку пользователь при загрузке системы не работает Как запустить ярлык приложения google-chrome / chromium в полноэкранном режиме / режиме киоска .desktop-файл в папке xsessions не авторизован как отключить закрытие окна с помощью комбинации клавиш <Alt> F4? Как настроить простой, дружелюбный компьютер с открытым доступом, открытый доступ


Скрытие мыши после нескольких секунд бездействия на X-дисплее Как настроить Ubuntu для использования общего киоска? Сервер Ubuntu 16.04.02 с режимом Splash Screen и Kiosk Киоск с Chrome на 16.04 Экран Google Chrome Kiosk не максимизирует Я считаю, что эта замечательная статья объясняет, чего вы хотите, с скриншотами в изобилии. Вы хотите создать специальный сеанс в диспетчере входа, который запустит браузер, например Google Chrome, с помощью опции киоска. Вы можете настроить его таким образом, чтобы обычные пользователи автоматически регистрировались в этом сеансе киоска, но вводили короткую задержку времени, чтобы позволить пользователю администратора входить в обычный сеанс Ubuntu для администрирования изменений в системе.

Шаги довольно детализированы, поэтому я не буду воспроизводить их целиком здесь. Но так как Ask Ubuntu препятствует простому соединению (в случае, если связанный сайт идет вниз), я вырезаю и вставляю здесь ключевые шаги. Вы должны перейти к ссылке для получения полных инструкций.

Файл рабочего стола, который необходимо создать в /usr/share/xsessions/ должен иметь:

[Desktop Entry] Encoding=UTF-8 Name=Kiosk Mode Comment=Chromium Kiosk Mode Exec=/usr/share/xsessions/chromeKiosk.sh Type=Application 

Сценарий chromeKiosk.sh должен быть помещен в тот же каталог с разрешениями на выполнение и выглядеть так:

#!/bin/bash xscreensaver -nosplash & cat ~/.config/chromium/Local\ State | perl -pe "s/\"bottom.*/\"bottom\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f2),/" > ~/.config/chromium/Local\ State cat ~/.config/chromium/Local\ State | perl -pe "s/\"right.*/\"right\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f1),/" > ~/.config/chromium/Local\ State while true; do chromium-browser %u --start-maximized; sleep 5s; done 

Я нашел способ использовать Firefox вместо этого, потому что я хотел избежать полноэкранного режима:

Решение киоска с Ubuntu + Firefox: Установите Ubuntu / Lubuntu / что угодно

Сделать пользователь admin Сделать киоск пользователя Установить киоск для автолога, без пароля Исправить разрешения (так киоск не может ctrl-s и заглянуть в / home / admin)

cd /home sudo chmod 700 * 

Проверьте, работает ли принтер и другое оборудование.

Установите дополнения Firefox: «R-киоск» и «Сбросить киоск» (поиск «киоска»), опционально: «Легкий белый список». Создайте файл с именем '[profile] /user.js' (profile – это имя вашего профиля профиля firefox, возможно '.default') и добавьте в него следующие строки:

user_pref("rkiosk.navbar", true); user_pref("browser.fullscreen.autohide",false); user_pref("browser.link.open_newwindow", 3); user_pref("browser.link.open_newwindow.restriction", 0); user_pref("privacy.popups.policy", 1); 

(Последние 3 строки могут потребовать объяснения: я должен был использовать это для определенного веб-приложения, предназначенного для IE, которое полагалось на всплывающие окна, поэтому я хотел, чтобы Firefox открыл все всплывающие окна, как это делает IE).

Создайте файл с именем '[profile] /chrome/userChrome.css' и добавьте в него следующие строки:

#bookmarks-menu { display: none !important;} #window-controls { display: none !important;} #personal-bookmarks { display: none !important;} #autohide-context { display: none !important;} #urlbar { display: none !important; } #searchbar { display: none !important; } 

Это приведет к удалению всех нежелательных значков / меню из окна. В случае, если я забыл, используйте функцию настройки, чтобы удалить элементы с панели инструментов или переместить их, например, на панель инструментов закладки, которая будет скрыта от просмотра.

Возможно, вы захотите установить Firefox, чтобы никогда не сохранять историю. Установите домашнюю страницу по умолчанию и перезапустите Firefox. Помните, что вы все равно можете закрыть Firefox с помощью alt-f4 и запустить его с помощью «firefox -safe-mode», чтобы отключить режим киоска.

Установите Openbox (sudo apt-get install openbox obconf) Используйте obconf для удаления дополнительных окон – это только смущает пользователя. Измените открытое меню (/etc/xdg/openbox/menu.xml), чтобы удалить все нежелательные элементы меню. Это, вероятно, оставит вас только с «выходом» или вообще ничего. Если вы покидаете «выход», пользователь киоска может выйти из системы и выйти на экран входа в систему, но он может только войти в систему снова в качестве киоска, если он не сможет угадать пароль для администратора. Если вы полностью удалите его, возможно, что вы сами не сможете выйти из киоска (например, чтобы войти в систему как администратор и выполнить техническое обслуживание). На моей ubuntu-установке оба ctrl-alt-backspace и ctrl-alt-sysrq-k отключены, поэтому я могу перезагружать только ctrl-alt-sysrq-b. Кроме того, вы можете войти в систему удаленно или использовать ctrl-alt-f1 и выполнить свою работу по обслуживанию из командной строки. Редактировать файл ~ / .config / openbox / autostart:

# run firefox: while true; do firefox; sleep 5s; done & 

Что пользователь может сделать в этой настройке: Закройте Firefox с помощью alt-f4 (но он перезапускается через несколько секунд). Используйте alt-tab для переключения между программами (но Firefox – единственная программа). Он может только следить за ссылками с домашней страницы, поэтому он не может злоупотреблять Интернетом. Перезагрузите компьютер (но пароль в BIOS) ctrl-alt-f1 – но он не знает пароль для входа в систему как admin. Если он может выйти из openbox и перейти на lightdm, он может снова войти в систему в качестве киоска и выбрать другой диспетчер окон и получить полный контроль, поэтому вам нужно удалить все остальные записи .desktop из / usr / share / xsessions / except openbox. рабочий стол. Я не знаю, как вы можете привязать пользователя к определенному wm. 🙁

Преимущества использования Openbox вместо браузера поверх Xwindows: Режим Chromium / Firefox в режиме киоска всегда максимизируется. Когда я не использую wm, он никогда не заполняет весь экран. Я получаю опцию меню «Выход» (необязательно).

Для чего это? Полноэкранный киоск хорош для просмотра определенного веб-сайта, например, школы, библиотеки или веб-сайта музея. Однако приятно иметь возможность вернуться на главную / стартовую страницу, если вы потерялись, поэтому веб-сайт должен быть спроектирован с помощью большой кнопки дома и очень простой навигации. И вы не можете иметь какие-либо ссылки, ведущие пользователи за пределами сайта, так как они не могут вернуться. Конечно, браузер будет сброшен после периода бездействия или если вы закроете его с помощью alt-f4, но большинство пользователей этого не узнают и будут очень расстроены. Вот почему полноэкранный режим обычно не всегда является удобным для пользователя, и именно поэтому я хотел сохранить некоторые функциональные возможности панели инструментов, и только Firefox мог бы дать мне это, а не Chrome. В качестве альтернативы, попробуйте Openkiosk, это не сработало для меня из-за всплывающей проблемы, но это может сработать для вас.

Киоск Firefox

Конфигурации киосков с хромовым браузером не позволяют веб-страницам, требующим «java». Java (IcedTea) не имеет доступного плагина PPAPI, и поэтому он не может использоваться в Chromium, поскольку Chromium 34 в Trusty переключился на структуру рендеринга Aura и больше не позволяет плагинам NPAPI.

Firefox киоск делает! Эта конфигурация работает как на Ubuntu 12.04 LTS, так и на Ubuntu 14.04 LTS.

Первый шаг – создать пользователя «Киоск».

Установите Cinnamon (мне нужно было уйти от рабочего стола Unity)

sudo add-apt-repository ppa:lestcape/cinnamon sudo apt-get update && sudo apt-get install cinnamon 

Установить mKiosk

Установите mKiosk Web Browser (Public Terminal) – (надстройка для Firefox) из профиля пользователей Kiosk. Вам будет предложено предупредить об использовании Администраторами. Принять и двигаться дальше.

На вкладке «Основные»: выберите «Всегда запускать в полноэкранном режиме» и оставьте все остальное на этой вкладке по умолчанию На вкладке «Сеть»: «Параметры прокси» – «Оставить ограниченного пользователя» в «Отключено» (только для прямых подключений) На вкладке «Внешний вид»: Показать в полноэкранном режиме – выберите «Показать адресную строку» в полноэкранном режиме, «Показать вкладки», «Показать панель закладок». Отмените выбор кнопки «Показать принтер» и «Показать кнопку сброса» (если вы не хотите, конечно). На вкладке «Безопасность»: «Очистить», чтобы закрыть сеанс, выберите «Удалить кеш-файлы» и «Очистить историю с ограничениями» (откат только в безопасном режиме!) – выберите «Использовать Passwd (F1, F2, F11 / Ctrl + Shift + F и F12 / Ctrl + Shift + W)! И укажите пароль администратора. На вкладке «Итеративность»: оставьте по умолчанию. Примечания. На шаге 4, когда пользователь киоска нажимает на любой из этих ключей в скобках, им будет предложено ввести пароль администратора.

F1 – настройка mKiosk F2 – Конфигурирование настроек Firefox Ctrl + Shift + F и F11 – Выход из полноэкранного режима Ctrl + Shift + W и F12 – выход из Firefox

После настройки mKiosk вам снова будет предложено ввести пароль администратора. Вам может потребоваться несколько раз нажать кнопку «Назад», чтобы вернуться в режим «Главная страница» и «Полноэкранный режим» (или просто нажать F11 ). Вам будет сообщено, что пароль администратора изменен.

Теперь вы можете настроить кнопку «Закладки» для панели инструментов, например «Главная страница» (иначе кнопка «Назад» – единственный способ вернуться на главную страницу, и пользователи этого не сделают).

Установите Oracle Java 7 в Ubuntu

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer sudo apt-get install oracle-java7-set-default 

Теперь вы можете добавить Firefox в «Startup apps» для пользователей киосков. Вам нужно будет выйти из браузера ( F12 )

Создайте рабочий стол Firefox

Откройте файл ( sudo nano /usr/share/xsessions/Firefox.desktop ) и вставьте:

[Desktop Entry] Name=Firefox (No effects) Comment=This session only opens Firefox Exec=/usr/bin/firefox -height 768 -width 1024 Icon= Type=Application 

Выйдите из системы, выберите учетную запись Firefox (без эффектов) для пользователя Kiosk и войдите в систему.

Авторизованный пользователь киоска

Вам нужно будет выйти из системы и войти в систему как «администратор», чтобы управлять «автологом» для пользователя «киоска».

Вход в систему как «администратор» на рабочий стол gnome

Приложения> Системные инструменты> Администрирование> Учетные записи пользователей

Разблокируйте пользователя киоска и установите autologon на yes

Управление обновлениями для Ubuntu

Нажмите кнопку F12 . Вам будет предложено ввести пароль администратора mKiosk. Firefox выйдет, и вы вернетесь к экрану входа в систему.

Войдите в систему как «администратор». Перейдите в диспетчер обновлений, найдите обновления и установите.

Перезагружать. Готово.


http://ubuntu.fliplinux.com/ubuntu-22.html