Un pinguino per ogni bambino

Da Lecco.
Versione del 4 gen 2009 alle 23:05 di Stemby (discussione | contributi) (Realizzazione di un cd live: hostname)
Attenzione: questo progetto è partito da poco, il materiale è utilizzabile ma si tratta di una versione ancora abbastanza primitiva.

Obiettivo

Realizzazione di una distribuzione GNU/Linux a misura di bimbo. L'età a cui ci rivolgiamo è quella dell'ultimo anno della scuola materna, cioè 5-6 anni. In futuro si potranno eventualmente prevedere anche altre fasce d'età.

Documentazione

Chi volesse contribuire al progetto potrebbe iniziare leggendo questa guida, comprendente una buona bibliografia.

Dipendenze

Partendo da un sistema Debian minimale, bisogna aggiungere

  • XOrg: il server grafico
  • SLiM: Simple Login Manager
  • FVWM: il window manager
  • Some Juicy Fonts: font in stile "scrittura a mano"
  • LXLauncher: interfaccia stile EeePC
  • Sudo: per permettere agli utenti di spegnere il pc
  • Tux Paint: programma di disegno per bambini
  • Tux Typing: per imparare ad usare la tastiera
  • GCompris: giochi didattici per bambini dai 2 anni in su
  • Childsplay: giochi educativi per bambini
  • Uomo Patata: giochino

Le dipendenze si risolvono con

# aptitude install xorg slim fvwm ttf-sjfonts lxlauncher sudo tuxpaint tuxtype gcompris-sound-it childsplay-alphabet-sounds-it ktuberling

Configurazione di FVWM

Il Desktop Environment proposto è di semplicissimo utilizzo da parte dell'utente finale. Essendo destinato all'età prescolare, le scritte sono pochissime mentre le icone, molto grosse, permettono ai bambini di gestire il computer autonomamente.

Il desktop è organizzato a schede (tab), in modo del tutto analogo all'Easy Mode dell'EeePc. Il risultato è ottenuto grazie ad LXLauncher, uno dei programmi facenti parte del Desktop Environment LXDE.

Per le scritte in stampatello minuscolo viene utilizzato il font SteveHand; Delphine per quelle interamente in stampatello maiuscolo.

Rappresentazione grafica

           +--- .fvwm2rc   <-- file di configurazione
           |
~/.fvwm ---+

.fvwm2rc

Lo script seguente è rilasciato dall'autore sotto pubblico dominio. C'è un commento esplicativo quasi per ogni riga.

################################## .fvwm2rc  ##################################
# Version: BimboTux 0.0.1                                                     #
# Author: Carlo Stemberger                                                    #
# Last updated: 28/Dec/2008                                                   #
# Released by the author into the public domain.                              #
###############################################################################

#----------------------------------------------------- Impostazioni globali --#
# percorso immagini
#ImagePath /usr/share/pixmaps: /usr/include/X11/pixmaps

# un'unica pagina (niente desktop virtuali)
DeskTopSize 1x1

# mini-icone
#Style *		MiniIcon mini.x.xpm

#----------------------------------------------------------------- Finestre --#
# COMPORTAMENTO
# posizionamento: ignora la posizione suggerita dal programma lanciato
Style * NoPPosition

# attivazione finestra con un click
Style * ClickToFocus

# riduzione a icona: non appare nessuna icona sul desktop
Style * NoIcon

# BARRA DEL TITOLO
# font: SteveHand
Style * Font "StringEncoding=UTF-8:xft:Steve:bold:pixelsize=20"
#Style * Font -adobe-helvetica-bold-r-*-*-20-*-*-*-*-*-*-*

# colore del testo e dello sfondo, finestra attiva: bianco e blu acciaio
Style * HilightFore white, HilightBack steelblue

# colore del testo e dello sfondo, finestre inattive: nero e grigio
Style * Color Black/Grey

# spessore del bordo e delle maniglie: 7
Style * BorderWidth 7, HandleWidth 7

# barra del titolo "piatta", niente effetto "bottone"
TitleStyle -- Flat

# BOTTONI
# mini-icona del programma lanciato, a sinistra
ButtonStyle 1 MiniIcon -- Flat

# icona "chiudi"
#ButtonStyle 2 Pixmap mini.cross.xpm -- Flat # non funziona ###################

# icona "riduci a icona"
#ButtonStyle 4 Pixmap mini.lower2.xpm -- Flat # non funziona ##################

# COMPORTAMENTO DEL MOUSE
# mini-icona del programma lanciato
Mouse 0 1 A # non fa niente

# bottoni della barra del titolo
Mouse 0 2 A Close
Mouse 0 4 A Maximize 100 100
Mouse 0 6 A Iconify

#---------------------------------------------------------------- Menu Esci --#
AddToMenu "HaltMenu"
+ "Arresta la macchina%mini.stop.xpm%"  Exec    sudo shutdown -h now

#------------------------------------------------- Barra delle applicazioni --#
Style FvwmTaskBar NoTitle, Sticky, BorderWidth 0, HandleWidth 0
AddToFunc InitFunction I Module FvwmTaskBar
AddToFunc RestartFunction I Module FvwmTaskBar
*FvwmTaskBarStartName Esci
*FvwmTaskBarStartMenu HaltMenu
*FvwmTaskBarStartIcon mini.stop.xpm

#--------------------------------------------- Programmi lanciati all'avvio --#
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Exec exec /usr/bin/lxlauncher &

Configurazione di Sudo

Per permettere ad un utente normale di spegnere la macchina, occorre configurare Sudo come indicato.

Lanciare il comando

# visudo

e aggiungere la seguente riga:

ALL	ALL=NOPASSWD: /sbin/shutdown

Ora il file /etc/sudoers dovrebbe assomigliare a questo:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults	env_reset

# Uncomment to allow members of group sudo to not need a password
# %sudo ALL=NOPASSWD: ALL

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL) ALL
ALL	ALL=NOPASSWD: /sbin/shutdown

Realizzazione di un cd live

Paragrafo in fase di realizzazione! Pazientate...

Per lo scopo si farà uso di una macchina Debian Lenny con installati i pacchetti ufficiali cdebootstrap e live-helper. Per ogni necessità di chiarimento fare riferimento al manuale del progetto Debian Live, purtroppo al momento ancora in fase di realizzazione.

Creare una cartella di lavoro; dal suo interno lanciare

$ lh_config --bootappend-live "locale=it_IT.utf8 keyb=it" --hostname bimbotux

Verrà creato lo scheletro dei file di configurazione necessari a live-helper per generare l'immagine della nostra live.

Creare all'interno della directory config/chroot_local-packageslists un file chiamato ad esempio bimbotux_pkg contenente l'elenco dei pacchetti da installare:

### bimbotux_pkg ###
xorg
slim
fvwm
ttf-sjfonts
lxlauncher
sudo
tuxpaint
tuxtype
gcompris-sound-it
childsplay-alphabet-sounds-it
ktuberling

Far partire la costruzione dell'immagine con

# lh_build

Da fare

FVWM

  • Finestre
    • Bottoni graficamente personalizzati
  • Barra delle applicazioni
    • Cambiare font
  • Pacchetti Debian
    • Installare kde-i18n-it per avere l'Uomo patata in italiano

Problemi

FVWM

  • Finestre
    • Il bottone in alto a sinistra (mini-icona) non deve essere "cliccabile"
    • I bottoni restano cliccati anche quando si allontana il mouse
    • Chiudendo una finestra a volte non ne resta neppure una selezionata
  • Barra delle applicazioni
    • Massimizzando le finestre, la barra viene coperta
    • È visibile un bottone che indica che LXLauncher è avviato: sarebbe bene farlo sparire

LXLauncher

  • Non presenta l'icona di Tux Typing
  • Manca la localizzazione in italiano (è tutto in inglese); qui si può trovare una patch per lo spagnolo, ci si potrebbe ispirare; qui per partecipare alla traduzione di LXDE, di cui LXLauncher fa parte