dimecres, 20 de març del 2013

Terminals “Kiosk” amb Xubuntu

Per necessitats de la feina m'he decidit a actualitzar un vell sistema a mode “Kiosk” per a un equipament social. Aquí faig cinc cèntims a mode de recordatori per a mi mateix i, evidentment, esperant que a algú li pugui ser útil.
Bé, anem pam a pam amb que s'ha fet i per què
Instalació de GNU/Linux
Per a aquest projecte he escollit Xubuntu 12.10 per la seva potència, versatilitat i lleugeresa. Evidentment podeu fer servir qualsevol Linux i instal·lar-hi el entorn de finestres Xfce4, que és molt lleuger i bonic.
No explicarem aquí cóm instal·lar una distribucoó de Linux, però si no en sabeu podeu accedir a: https://help.ubuntu.com/12.10/ubuntu-help/index.html
També podeu veure cóm “tunejar” l'aspecte i components d'aquest lleuger escrtitori a: http://www.linuxnoveles.com/2012/xubuntu-12-10-ubuntu-xfce-configurar-despues-de-instalar/

Actualització d'Xubuntu
Un cop ja instal·lat Xubuntu cal fer algunes cosetes per que tot rutlli millor;
1.- Deshabilitar l'usuari “Invitado” (Guest user). A les darreres versions d'Unbuntu i les seves variants trobareu que existeix aquest usuari especial que, per al nostre cas, no interessa de mantenir. La idea d'aquest és bona, tenir un usuari molt limitat per quan ve algú al nostre ordinador i no volem que pugui toquerejar absolutament res de res. Amés un cop acabada la sessió, s'esborra tot el que hagi deixat :)
Per deshabilitar aquest usuari cal editar el fitxer /etc/lightdm/lightdm.conf i afeguir una línea amb allow-guest=false:
$ sudo vim /etc/lightdm/lightdm.conf
El fitxer quedarà similar a això:
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false

2.- Afegitons per a Xubuntu
Per gaudir d'algun programari propietari que molts usuaris necessiten:
  • Adobe Flash Plugin
  • GStreamer ffmpeg video plugin
  • Fluendo mp3 decoder
  • unarchiver for .rar files

Així que només cal anar al Terminal i:
$ sudo apt-get install ubuntu-restricted-extras

Per a la correcte reproducció de DVDs:
$ sudo apt-get install libdvdread4
 $ sudo /usr/share/doc/libdvdread4/install-css.sh

Recorda també de tenir sempre ben actualitzat el sistema
$ sudo apt-get update
$ sudo apt-get dist-upgrade

3.- Creació d'scripts per controlar la sessió d'usuari
Estic segur que existiràn millors formes de fer que l'usuari, un cop entri a la sessió, tingui un temps limintat (per aquest cas 60 minuts) i que amés se l'avisi amb un rellotge del temps que li resta.
Bé, el que jo he fet:
Creem l'script per fer un “log out” de la sessió cada 60 minuts. Bé, realment el que fa és cridar a 3 scripts a l'inici de sessió i aquestos inicien la sortida de sessió als 60 minuts i mostra una finestra emergent d'avis d'inici i, quan falten 5 minuts per tancar-se la sessió, un darrer recordatori.
3.1.- Creem l'script d'”autoapagat”. Aquest senzillament força la sortida de la sessió actual.
$ sudo vim /usr/bin/autoapagat
I copiem i engantxem aquestes líneas:
#!/bin/bash
echo 'xfce4-session-logout --logout' | at now

Posem permisos d'execució:
$ sudo chmod a+x/usr/bin/autoapagat

3.2.- Creem l'script d'avis inicial:
$ sudo vim /usr/bin/avis-inici.sh
I copiem i engantxem aquestes líneas:
#!/bin/bash
notify-send 'Teniu 60 minuts de sessió, controleu el rellotge de la part superior dreta per veure el temps restant' 'Alerta inici de sessió' --icon=dialog-information

Li posem permisos d'execució:
$ sudo chmod a+x /usr/bin/avis-inici.sh

3.3.- Creem l'script de darrer avis. Aquest mostra una finestra emergent als 55 minuts de l'inici de sessió (o quan falten 5 minuts per que aquesta es tenqui ;))
$ sudo vim /usr/bin/avis-final.sh
I copiem i engantxem aquestes líneas:
#!/bin/bash
notify-send 'Queden 5 minuts per que es tanqui la sessió!!' 'darrer avis' --icon=dialog-information

Li posem permisos d'execució:
$ sudo chmod a+x /usr/bin/avis-final.sh

3.4.- Finalment creem l'script que crida els tres anteriors:
$ sudo vim /etc/init.d/autoapagat

I copiem i engantxem aquestes líneas:
#!/bin/bash

### BEGIN INIT INFO
# Provides: autoapagat
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

at -f /usr/bin/autoapagat now +60 minutes
at -f /usr/bin/avis-inici.sh now +1 minutes
at -f /usr/bin/avis-final.sh now +55 minutes

3.5.- posem permisos d'execució a l'escript:

$sudo chmod a+x /etc/init.d/autoapagat

3.6. - Afegim l'script a l'arrancada init.d:

$  sudo update-rc.d autoapagat defaults

3.7.- Verifiqueu que no demani confirmació en tancar la sessió. Per defecte Xfce4 te marcada la opció “Pregunta al sortir” a les preferències generals de “Sessió i engegada”. Cal desmarcar aquesta opció per que pugui fer el “Log out” bé.


"Chapucilla"!
Inicialment aquest conjunt d'scripts els tenia pensats per un entorn d'escriptori Gnome, però degut a l'escassa potència dels ordinadors on s'ha de muntar tot plegat finalment vaig decantar-me per Xfce4. El problema, sembla ser, que no acaba de rutllar l'script a l'init.d ;(
A grans mals grans sol·lucions. Així que per el moment cridarem l'script des de la opció d'autoarrancada de les preferències de Xfce4


Creació d'usuari “Luser” i restringuir el que hi pot fer
Cal primerament crear un usuari "tonto", per això anirem a panell de preferències, usuaris, i allà especificarem que volem crear un nou usiari, li asignarem un nom (a mi m'encanta "luser") un password i llestos.
Ara caldrà, entrant al sistema amb aquest usuari, deshabilitar algunes cosetes:
1.- Instalem i afegim el rellotge de "compte enrera" per que l'usuari vegui el tems restant que li queda en la sessió actual.
$ sudo apt-get install Xfce4-goodies Xfce4-time-Out-pugin
Aleshores anem a editar el Panell superior i li afegim

2.- Editarem el menú per deshabilitat totes aquelles opcions que NO han de tocar per res, sobretot temes de sistema ;)
3.- Deshabilitarem que puguin entrar al menú d'aplicacions amb el botó secundari del retolí

4.- Farem desaparèixer també les icones de l'escriptori que no interesa que puguin accedir-hi

5.- També ens assegurarem que les opcions de tancar sessió no preguntin a l'usuari i que no recordi la darrera sessió.

6.- Carregarem l'script "Kiosk" a l'inici de sessió també a aquest usuari.

7.- Recomano que també personalitzeu les preferències del firefox per tal de que no desi l'historial, ni els passwords. Amés podeu especificar un web d'inici per defecte i fer desaparèixer el menú d'edició per que no hi merdegin.

Afegitons de darrera hora
Recomano també instal·lar LibreOffice.org per als usuaris:
$ sudo apt-get install libreoffice-base

Si teniu cap suggeriment, millora o comentari podeu fer-ho des d'aquest blog.

Cap comentari:

Publica un comentari a l'entrada