Scientific Linux 6 & CentOS 6 KIOSK

Jakiś czas temu kolega stanął przed zadaniem udostępnienia w sposób kontrolowany komputerów w bibliotece. Komputery są dostępne dla czytelników, i mają umożliwiać swobodne korzystanie z zasobów sieci Internet. Kolega znalazł odpowiednie przewodniki dla systemu Ubuntu. Ponieważ moje ulubione dystrybucje to Scientific Linux i CentOS, pokażę jak zrobic coś podobnego na nich.

Ten przewodnik został przygotowany na systemie Scientific Linux 6.5 (i386), na maszynie wyposażonej w 1 rdzeniowy procesor 2GHz i 512MB pamięci RAM. Przestrzeń dyskowa powinna wystarczyć w ilości 4GB. System został zainstalowany z LiveCD z interfejsem graficznym (domyślny Gnome2) ale przewodnik został przygotowany aby działać także na instalacji minimalnej (bez interfejsu graficznego). Scientific Linux 6.5 jest zupełnie kompatybilny z CentOS 6.5 dlatego ten tekst można śmiało stosować dla obu systemów.

Na końcu tego tekstu znajduje się link do skryptu, który skonfiguruje i zainstaluje wszystko automatycznie.

1. Dodanie użytkownika i instalacja Opery i Flash.

Zaczynamy od zalogowania się do systemu jako root. Jeżeli jesteśmy w trybie graficznym uruchamiamy terminal.
Dodajemy użytkownika o nazwie kiosk za pomocą komendy: useradd kiosk.

Ze względu na to, że przeglądarka Opera ma wbudowaną dobrą obsługę środowiska KIOSK wybrałem tą przeglądarkę.
Aby poprawnie działała konieczna jest instalacja środowiska X Window, co zrobimy jedną z komend. Jeżeli środowisko mamy już zainstalowane to owa komenda nic w naszym wypadku nie zmieni.
Aby wszystko zainstalować wykonujemy komendy (także jako root):
yum -y install wget
yum -y groupinstall basic-desktop desktop-platform x11 fonts
wget http://get.geo.opera.com/pub/opera/linux/1216/opera-12.16-1860.i386.rpm
yum -y localinstall opera-12.16*.rpm

Nastepnie aktualizujemy system i instalujemy wtyczkę Flash :
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
yum check-update
yum -y update
yum -y install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl

   

2. Konfiguracja systemu aby uruchamiał się w trybie graficznym.

Jeżeli nasz system po starcie pyta o nazwę użytkownika i hasło w trybie tekstowym, to system musimy ustawić tak, by automatycznie uruchamiał się do trybu graficznego. Jeżeli Twój uruchamia się od razu do ekranu logowania w trybie graficznym, to możesz pominąć ten krok i przejść do kolejnego (nr 3).

Edytujemy plik inittab komendą: vi /etc/inittab
Ostatni wiersz zamieniamy z id:3:initdefault na id:5:initdefault i zapisujemy zmiany.

Po tych zmianach wykonujemy restart by upewnić się, że nasz system uruchamia się w trybie graficznym (komenda reboot).

3. Konfiguracja i auto-logowanie użytkownika kiosk.

Domyślnie menadżer logowania GDM uruchamia menadżer okien Gnome. My chcemy aby uruchamiała się Opera, dlatego musimy utworzyć odpowiedni plik i wrzucić do niego komendę uruchamiająca Operę w trybie KIOSK.
Aby to zrobić musimy ustawić hasło dla użytkownika kiosk, którego wcześniej stworzyliśmy.
Wykonujemy to, zalogowani jako root komendą: passwd kiosk (zostaniemy zapytani o nowe hasło dwa razy).

Dodajemy obsługę skryptów startowych uzytkownika komendą: yum -y install xorg-x11-xinit-session .

Wylogowujemy się z konta root, w ekranie logowania GDM wybieramy konto kiosk, zanim wpiszemy hasło by się zalogować, na dole na pasku mamy rozwijana pozycję z wybraną opcją „GNOME”. Zmieniamy ją poprzez rozwinięcie na „User script”.

Następnie podajemy hasło i naciskamy ok aby się zalogować. Pojawi się normalny interfejs gnome. Uruchamiamy terminal, a w nim tworzymy plik uruchamiający operę taką komendą:
echo „exec opera -k -nomail -noexit -nochangebuttons -nosave -nodownload -nomaillinks -nomenu -nominmaxbuttons -nocontextmenu -resetonexit -nosession -activetab http://google.pl” > .xsession

Ustawiamy właściwości pliku, aby był uruchamiany: chmod +x .xsession

Kolejna operacja to podniesienie uprawnień do użytkownika root komendą: su –
Zostaniemy zapytani o hasło dla konta root.

Następnie edytujmy plik /etc/gdm/custom.conf (komenda: vi /etc/gdm/custom.conf). Możemy użyć innego edytora jak nano, mcedit, czy jakikolwiek który lubisz.
Plik ma strukturę podzieloną na sekcje. Do sekcji daemon dodajemy wiersze aby wyglądały tak jak poniżej:
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=kiosk

Po tych zmianach zapisujemy plik, i wyłączamy terminal (komenda exit).

Dokonujemy restartu systemu, i możemy używać.

W celu dodatkowych zmian czy zabaw, aby mieć możliwość używania systemu korzystamy ze skrótu CTRL+ALT+F2, gdzie pojawi się w trybie tekstowym możliwość zalogowania na użytkownika root.

Przygotowałem także skrypt, który automatyzuje cały proces instalacji i konfiguracji systemu do działania w trybie KIOS. Wystarczy go pobrać i uruchomić (jako root): http://www.marcinwilk.eu/make-kiosk.sh

6 myśli na temat “Scientific Linux 6 & CentOS 6 KIOSK”

  1. We tried to run the script in centos 7. The script executed successfully, but when we rebooted the system there was no changes in it.The user „kiosk” was not visible in the login page.

  2. Hi Wilk,
    Kindly ignore the previous comment.

    We tried to run the script in centos 7. The script executed successfully, but when we rebooted the system , we were able to login into the user „kiosk”. But a blank screen is appearing and it moves to the login page again after few seconds. Any help on this?

  3. This has worked quite well and thanks for taking the time to develop and script it. I have it working, but I need to be able to support the kiosk remotely. I’ve been trying to get tigervnc to work, but haven’t been successful. It appears that my problem is with tiger and the window manager. Can you offer any hints?

  4. I’m sorry, i never tried to use this remotely. I’m not sure if WM is the problem, maybe X server problem, hard to say.

  5. The older versions didn’t support CentOS version 7. Current version can do that, so try it.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *