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

33

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

Любое предложение или полезная ссылка высоко ценится.

Puyo
источник
Любые предпочтения бренду / версии браузера или другим приложениям?
david6
Было ли какое-либо обновление по этому поводу? Есть ли способ добавить функцию возврата?

Ответы:

24

Я считаю, что эта замечательная статья объясняет, что вы хотите, с большим количеством скриншотов. Вы хотите создать специальный сеанс в менеджере входа, который запустит браузер, такой как 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
Чан-Хо Су
источник
1
Если я делаю это 12.04, браузер не заполняет весь экран. У меня есть граница. Как будто браузер думает, что экран не 1024x768. У тебя есть идеи?
Крис Вуллард
@ChrisWoollard Пробовали ли вы последний шаг «тестирования» в статье, на которую я ссылался?
Чан-Хо Су
@ Chan-HoSuh Я вижу, что та же проблема сохраняется с обычным приложением pyGtK. Любые идеи о том, как максимизировать пользовательские приложения?
Джузер Али
Все прошло гладко, пока: «не выберите режим киоска в качестве сеанса по умолчанию». Как мне это сделать?
Вик
7

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

Решение для киосков с Ubuntu + Firefox:

Установите Ubuntu / Lubuntu / что угодно

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

cd /home
sudo chmod 700 *

Проверьте, работает ли принтер и другое оборудование, которое вам может понадобиться.

Установите дополнения Firefox: «R-kiosk» и «Reset Kiosk» (поиск по «kiosk»), опционально: «Простой белый список». Создайте файл с именем «[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 для удаления лишних окон - это только смущает пользователя. Отредактируйте меню openbox (/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 - но он не знает пароль для входа в систему как администратор. Если он может выйти из openbox и перейти на lightdm, он может снова войти в систему как киоск, выбрать другой оконный менеджер и получить полный контроль, поэтому вам нужно удалить все остальные записи .desktop из / usr / share / xsessions /, кроме openbox. рабочий стол. Я не знаю, как вы можете привязать пользователя к конкретному wm. :-(

Преимущества использования Openbox вместо браузера поверх Xwindows:

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

Для чего это?

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

БИЛ
источник
3

Firefox Киоск

Конфигурации киоска Chromium-browser не позволяют использовать веб-страницы, требующие «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. Вам будет предложено предупреждение об использовании администраторами. Принять и двигаться дальше.

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

Примечания: На шаге 4, когда пользователь киоска нажимает любой из этих ключей в скобках, ему будет предложено ввести пароль администратора.

F1- Настройка mKiosk - Настройка параметров
F2Firefox
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 и войдите.

Autologon «пользователь киоска»

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

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

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

  3. Разблокировать пользователя киоска и установить автолог на да

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

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

  2. Войдите в систему как «администратор». Зайдите в Менеджер обновлений, Сканируйте обновления и установите.

  3. Перезагружать. Выполнено.

Bill_Friedkin
источник
2

Я настроил то же самое. Я предоставляю вам простой сценарий. Запустите этот скрипт, и вы сможете использовать веб-браузер с их сайтом в полноэкранном режиме. Нет адресной строки, нет кнопки, пользователь может только щелкнуть ссылку на странице.

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

sudo apt-get update sudo apt-get install google-chrome-stable -y

echo '[Desktop Entry]
Encoding=UTF-8
Name=Kiosk Mode
Comment=Chrome Kiosk Mode
Exec=/usr/share/xsessions/chromeKiosk.sh
Type=Application' >/usr/share/xsessions/kiosk.desktop

echo '#!/bin/bash
xset s off
xset s noblank
nm-applet &
sleep 5s
while true; do 
    google-chrome --window-size=1920,1080 --kiosk --window-position=0,0 http://google.com; 
    sleep 5s; 
done' >/usr/share/xsessions/chromeKiosk.sh

sudo chmod +x /usr/share/xsessions/chromeKiosk.sh

Скопируйте все это содержимое в файл .sh и запустите его. После завершения скрипта вам необходимо войти в режим киоска, как показано на рисунке.

Режим киоска

Картик Агарвал
источник