Dostosuj Ubuntu do kiosku internetowego z biblioteką

33

Chciałbym dostosować ubuntu do biblioteki, chcą tylko wyświetlać przeglądarkę internetową z witryną na pełnym ekranie. Brak paska adresu, żaden użytkownik przycisku nie może kliknąć tylko linku na stronie. Jeśli pracownicy biblioteki wprowadzą nazwę użytkownika i hasło administratora, mogą zmienić dowolne ustawienia w Ubuntu.

Wszelkie sugestie lub przydatne linki są bardzo mile widziane.

puyo
źródło
Czy preferujesz markę / wersję przeglądarki lub inne aplikacje?
david6
Czy była na to jakaś aktualizacja? Jakikolwiek sposób na dodanie funkcji powrotu?

Odpowiedzi:

24

Wierzę, że ten świetny artykuł wyjaśnia, czego chcesz, z dużą ilością zrzutów ekranu. Chcesz utworzyć specjalną sesję w menedżerze logowania, która uruchomi przeglądarkę taką jak Google Chrome przy użyciu opcji kiosku. Można to ustawić tak, aby normalni użytkownicy automatycznie logowali się do tej sesji kiosku, ale wprowadzili krótkie opóźnienie, aby umożliwić administratorowi zalogowanie się do normalnej sesji Ubuntu w celu administrowania zmianami w systemie.

Kroki są dość szczegółowe, więc nie będę ich tutaj reprodukował w całości. Ale ponieważ Ask Ubuntu odradza tylko linkowanie (na wypadek, gdyby połączona strona uległa awarii), wytnę i wkleję tutaj kluczowe kroki. Powinieneś przejść do linku, aby uzyskać pełne instrukcje.

Plik na pulpicie, w którym chcesz utworzyć, /usr/share/xsessions/powinien mieć:

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

Skrypt chromeKiosk.shpowinien zostać umieszczony w tym samym katalogu z uprawnieniami do wykonywania i wyglądać następująco:

#!/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
Chan-Ho Suh
źródło
1
Jeśli zrobię to 12.04, przeglądarka nie wypełnia całego ekranu. Mam granicę. To tak, jakby przeglądarka myśli, że ekran nie ma rozdzielczości 1024x768. Czy masz jakies pomysły?
Chris Woollard
@ChrisWoollard Czy próbowałeś ostatniego kroku „testowania” w artykule, do którego linkowałem?
Chan-Ho Suh
@ Chan-HoSuh Widzę, że ten sam problem utrzymuje się w przypadku aplikacji pyGtK dla klienta. Wszelkie pomysły na maksymalizację niestandardowych aplikacji?
Juzer Ali,
Wszystko poszło gładko, dopóki: „wybierz tryb kiosku jako sesję domyślną” Jak to zrobić?
Wyck
7

Znalazłem sposób korzystania z Firefoksa, ponieważ chciałem uniknąć trybu pełnoekranowego:

Rozwiązanie kiosku z Ubuntu + Firefox:

Zainstaluj Ubuntu / Lubuntu / cokolwiek

Ustaw użytkownika administratora Utwórz kiosk użytkownika Ustaw kiosk na automatyczne logowanie, bez hasła Napraw uprawnienia (aby kiosk nie mógł ctrl-s i zaglądał do / home / admin)

cd /home
sudo chmod 700 *

Sprawdź, czy drukarka i inny sprzęt, który może być potrzebny, działa.

Zainstaluj dodatki do przeglądarki Firefox: „R-kiosk” i „Reset Kiosk” (wyszukaj „kiosk”), opcjonalnie: „Easy Whitelist”. Utwórz plik o nazwie „[profil] /user.js” (profil to nazwa katalogu profilu Firefoksa, prawdopodobnie „.default”) i dodaj do niego następujące wiersze:

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);

(Ostatnie 3 wiersze mogą wymagać wyjaśnienia: musiałem użyć tego do konkretnej aplikacji internetowej zaprojektowanej dla IE, która opierała się na wyskakujących oknach, więc chciałem, aby Firefox otworzył wszystkie wyskakujące okienka tak, jak robi to IE).

Utwórz plik o nazwie „[profil] /chrome/userChrome.css” i dodaj do niego następujące wiersze:

#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; }

Spowoduje to usunięcie wszystkich niechcianych ikon / menu z okna. W przypadku, gdy je zapomniałem, użyj funkcji dostosowywania, aby usunąć elementy z paska narzędzi lub przenieść je np. Do paska narzędzi zakładek, który będzie ukryty.

Możesz ustawić Firefoksa, aby nigdy nie zapisywał historii. Ustaw domyślną stronę główną i uruchom ponownie Firefox. Pamiętaj, że nadal możesz zamknąć Firefoksa za pomocą alt-f4 i uruchomić go za pomocą „firefox -safe-mode”, aby wyłączyć tryb kiosku.

Zainstaluj Openbox (sudo apt-get install openbox obconf) Użyj obconf, aby usunąć dodatkowe okna - to tylko dezorientuje użytkownika. Edytuj menu openbox (/etc/xdg/openbox/menu.xml), aby usunąć wszystkie niechciane elementy menu. To prawdopodobnie pozostawi tylko „wyjście” lub nic. Jeśli wyjdziesz w „wyjściu”, użytkownik kiosku może się wylogować i przejść do ekranu logowania, ale może zalogować się tylko jako kiosk, chyba że odgadnie hasło administratora. Jeśli go całkowicie usuniesz, możliwe, że sam nie będziesz w stanie wylogować się z kiosku (np. Aby zalogować się jako administrator i przeprowadzić konserwację). Podczas mojej instalacji Ubuntu zarówno ctrl-alt-backspace, jak i ctrl-alt-sysrq-k są wyłączone, więc mogę zrestartować się tylko z ctrl-alt-sysrq-b. Alternatywnie możesz zalogować się zdalnie lub użyć ctrl-alt-f1 i wykonać prace konserwacyjne z wiersza poleceń. Edytuj plik ~ / .config / openbox / autostart:

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

Co użytkownik może zrobić w tej konfiguracji:

Zamknij Firefoksa za pomocą alt-f4 (ale uruchamia się ponownie po kilku sekundach). Użyj Alt-Tab, aby przełączać się między programami (ale Firefox jest jedynym programem). Może podążać tylko za linkami ze strony głównej, więc nie może nadużywać Internetu. Uruchom ponownie maszynę (ale hasło w bios) ctrl-alt-f1 - ale nie zna hasła do zalogowania się jako administrator. Jeśli może wylogować się z openbox i przejść do lightdm, może zalogować się ponownie jako kiosk i wybrać innego menedżera okien i uzyskać pełną kontrolę, więc musisz usunąć wszystkie inne wpisy .desktop z / usr / share / xsessions / oprócz openbox. pulpit. Nie znam żadnego sposobu na powiązanie użytkownika z konkretnym wm. :-(

Zalety używania Openbox zamiast tylko przeglądarki na Xwindows:

Chromium / Firefox w trybie kiosku jest zawsze zmaksymalizowany. Kiedy nie używam WM, nigdy nie wypełnia on całego ekranu. Dostaję opcję Wyjdź z menu (opcjonalnie).

Do czego to jest dobre?

Kiosk pełnoekranowy jest dobry do przeglądania określonej witryny, np. Szkoły, biblioteki lub strony internetowej muzeum. Jednak miło jest móc wrócić do strony głównej / początkowej na wypadek zgubienia się, dlatego stronę internetową należy zaprojektować z dużym przyciskiem głównym i bardzo łatwą nawigacją. I nie możesz mieć żadnych linków prowadzących użytkowników poza witrynę, ponieważ nie mogą oni odzyskać. Oczywiście przeglądarka zresetuje się po pewnym czasie bezczynności lub jeśli zamkniesz ją za pomocą Alt-F4, ale większość użytkowników nie będzie tego wiedziała i stanie się bardzo sfrustrowana. Dlatego tryb pełnoekranowy zwykle nie zawsze jest tak przyjazny dla użytkownika i dlatego chciałem zachować pewne funkcje paska narzędzi i tylko Firefox może mi to dać, a nie Chrome. Alternatywnie wypróbuj Openkiosk, nie działało to dla mnie z powodu problemu z wyskakującymi oknami, ale może działać dla ciebie.

BIL
źródło
3

Firefox Kiosk

Konfiguracje kiosku Chromium-przeglądarka nie zezwalają na strony internetowe wymagające „java”. Java (IcedTea) nie ma dostępnej wtyczki PPAPI, więc nie można jej używać w Chromium, ponieważ Chromium 34 w Trusty przeszedł na strukturę renderowania Aura i nie pozwala już na wtyczki NPAPI.

Kiosk Firefox działa! Ta konfiguracja działa zarówno na Ubuntu 12.04 LTS, jak i Ubuntu 14.04 LTS.

Pierwszym krokiem jest utworzenie użytkownika „Kiosku”.

Zainstaluj Cinnamon (musiałem uciec od pulpitu Unity)

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

Zainstaluj mKiosk

Zainstaluj przeglądarkę internetową mKiosk (terminal publiczny) - (dodatek do przeglądarki Firefox) z profilu użytkowników kiosku. Zostaniesz poproszony z ostrzeżeniem o użyciu Administratorów. Zaakceptuj i przejdź dalej.

  1. Z zakładki Podstawowa: Wybierz „Zawsze zaczynaj na pełnym ekranie” i pozostaw wszystko inne na tej karcie domyślnie
  2. Z karty Sieć: Opcje proxy - Pozostaw Użytkownik z ograniczeniami w „Wyłączone (tylko połączenia bezpośrednie)
  3. Z karty Wygląd: Pokaż na pełnym ekranie - Wybierz Wyświetl pasek adresu na pełnym ekranie, Pokaż karty, Pokaż pasek narzędzi zakładek. Usuń zaznaczenie przycisku Show Printer i Show reset (chyba że chcesz).
  4. Z zakładki Bezpieczeństwo: Włącz Wyczyść, aby zamknąć sesję - Wybierz, aby usunąć pliki pamięci podręcznej i Wyczyść historię przy ograniczeniach (wycofywanie tylko w trybie awaryjnym !!) - Wybierz „Użyj Passwd (F1, F2, F11 / Ctrl + Shift + F i F12 / Ctrl + Shift + W)! I podaj hasło administratora.
  5. Z zakładki Iteracyjność: Pozostaw domyślne.

Uwagi: W kroku 4, gdy użytkownik kiosku naciśnie dowolny z tych kluczy w nawiasie, zostanie wyświetlony monit o podanie hasła administratora.

F1- Konfiguracja mKiosków
F2- preferencje Confgure Firefox
Ctrl+ Shift+ Fi F11- Wyjście Tryb pełnoekranowy
Ctrl+ Shift+ Wi F12- Wychodzi Firefox

Po skonfigurowaniu mKioska zostaniesz ponownie zapytany o hasło administratora. Być może trzeba będzie nacisnąć kilka razy przycisk Wstecz, aby wrócić do strony głównej i trybu pełnego ekranu (lub po prostu nacisnąć F11). Zostaniesz powiadomiony o zmianie hasła administratora.

Możesz teraz skonfigurować przycisk Zakładki dla paska narzędzi, takiego jak „Strona główna” (w przeciwnym razie przycisk Wstecz jest jedynym sposobem powrotu do strony głównej, a użytkownicy tego nie zrobią).

Zainstaluj Oracle Java 7 w 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

Teraz możesz dodać Firefoksa do „Aplikacji startowych” dla użytkownika kiosku. Musisz wyjść z przeglądarki ( F12)

Utwórz pulpit Firefox

Otwórz plik ( sudo nano /usr/share/xsessions/Firefox.desktop) i wklej:

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

Wyloguj się, wybierz login Firefoksa (bez efektów) dla użytkownika Kiosk i zaloguj się.

Autologon „użytkownik kiosku”

Musisz wylogować się i zalogować ponownie jako „administrator”, aby zarządzać „autologonem” dla „użytkownika kiosku”.

  1. Zaloguj się jako „administrator” na pulpicie gnome

  2. Aplikacje> Narzędzia systemowe> Administracja> Konta użytkowników

  3. Odblokuj użytkownika kiosku i ustaw autologon na tak

Zarządzanie aktualizacjami dla Ubuntu

  1. Naciśnij F12przycisk. Zostaniesz poproszony o podanie hasła administratora mKiosk. Firefox zakończy pracę i wrócisz do ekranu logowania.

  2. Zaloguj się jako „administrator”. Przejdź do Menedżera aktualizacji, wyszukaj aktualizacje i zainstaluj.

  3. Restart. Gotowy.

Bill_Friedkin
źródło
2

Skonfigurowałem to samo. Udostępniam ci prosty skrypt. Uruchom ten skrypt, a będziesz mógł korzystać z przeglądarki internetowej z ich witryną na pełnym ekranie. Bez paska adresu, bez przycisku, użytkownik może tylko kliknąć link na stronie.

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

Skopiuj całą zawartość do pliku .sh i uruchom ją. Po zakończeniu skryptu musisz zalogować się w trybie kiosku, jak pokazano na obrazku.

Tryb kiosku

Kartik Agarwal
źródło