Un pinguino per ogni bambino

Da Lecco.
Versione del 2 apr 2009 alle 22:53 di Stemby (discussione | contributi) (.fvwm2rc: - bottone lxlauncher, grazie Gian!)
Attenzione: questo progetto è partito da poco, il materiale è già assolutamente utilizzabile,
ma si tratta di una versione ancora abbastanza primitiva.

Questa è la pagina che tratta di tutto ciò che gira intorno alla prima distro made in Glux. Il progetto è partito nell'agosto 2008 con questo scambio di e-mail in lista.

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à.

Guida per gli sviluppatori

Documentazione

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

Per quanto riguarda la scelta dei software da includere, si può iniziare scavando tra le pagine del Servizio Documentazione Software Didattico.

Dipendenze

Partendo da un sistema Debian minimale, bisogna aggiungere

  • ALSA: il server audio
  • CUPS: il server di stampa
  • 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
  • GNOME Themes: per cambiare il tema GTK+
  • 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
  • PySyCache: giochi didattici per imparare l'uso del mouse
  • Linux Letters and Numbers: giochino didattico per imparare numeri e lettere
  • Circus Linux!: giochino

Le dipendenze si risolvono con

# aptitude install alsa cups xorg slim fvwm ttf-sjfonts lxlauncher sudo gnome-themes \
tuxpaint tuxtype gcompris-sound-it childsplay-alphabet-sounds-it ktuberling \
kde-i18n-it pysycache lletters lbreakout2 circuslinux xpenguins

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.2                                                     #
# Authors: Carlo Stemberger, Gianni Fioretta                                  #
# Last updated: 28/Dec/2008                                                   #
# Released by the authors 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
*FvwmTaskBar: UseSkipList
WindowsSkipList: lxlauncher

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

Cambiare il tema GTK+

Creare il file ~/.gtkrc-2.0 contenente quest'unica riga:

include "/usr/share/themes/Glossy/gtk-2.0/gtkrc"

Cambiare il tema delle icone

Aggiungere al file ~/.gtkrc-2.0 la riga:

gtk-icon-theme-name = "Tango"

dove Tango è il nome del tema delle icone. I temi già installati si trovano in /usr/share/icons e in ~/.icons dove ogni cartella identifica un tema. Naturalmente i temi installati in ~/.icons saranno disponibili solo per l'utente interessato, mentre quelli presenti in /usr/share/icons saranno disponibili per tutti gli utenti. Per installare un nuovo tema, copiare la relativa cartella in uno dei path precedentemente specificati. Un sito dove possiamo trovare molti temi è gnome-look.

ESEMPIO: un tema con cartelle azzurre adatto a BimboTux è GNOME-colors. Selezioniamo il download di "(GNOME-Colors 3.0 Icon sets (32 MB))", che è un archivio contenente set di icone di colori diversi, ed estraiamolo in una directory a piacere.

$ mkdir ~/temp
$ tar xvf gnome-colors-3.0.tar.gz -C ~/temp

L'archivio con il tema con le icone azzurre è gnome-brave.tar.gz, estraiamolo in ~/.icons (se tale directory non esiste, va creata).

$ mkdir ~/.icons
$ tar xvf ~/temp/gnome-brave.tar.gz -C ~/.icons

Ora modifichiamo il file ~/.gtkrc-2.0 e impostiamo come tema di icone predefinito quello di gnome-brave.

$ ls ~/.icons   // verifico il nome del tema, che è poi il nome della cartella estratta
gnome-brave
$ echo gnome-icon-theme-name = \"gnome-brave\" >> ~/.gtkrc-2.0
(o in alternativa usate il vostro editor preferito)

ATTENZIONE: non tutti gli archivi compressi presenti su gnome-look sono temi di icone. Controllate la categoria a cui appartiene l'archivio prima di scaricare (GNOME Icon != GNOME Icon Theme, a noi interessa il secondo). Solitamente un tema di icone contiene nella propria cartella il file index.theme, in assenza di tale file, l'archivio potrebbe non essere un tema di icone.

Partenza di X automatica dopo il login da console

Settare l'opzione allowed_users=anybody nel file /etc/X11/Xwrapper.config, poi aggiungere startx & in ~/.bash_profile.

In alternativa http://www.ldlabs.org/blog/2009/02/05/xttydm/

Realizzazione di un CD live

BimboTux-live è la versione di BimboTux avviabile direttamente da CD-ROM senza dover installare niente sul disco rigido del computer. Differisce dalla versione installata unicamente per l'assenza del login manager SLiM, inutile in questo caso.

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 -- purtroppo al momento ancora in fase di realizzazione -- e al wiki del progetto Debian Live.

Creare una cartella di lavoro; dal suo interno lanciare

$ lh_config [-b usb-hdd] --bootappend-live "locale=it_IT.utf8 keyb=it" --hostname bimbotux \
--mirror-bootstrap "URL" --mirror-binary "http://ftp.it.debian.org/debian/" [--debian-installer live]

sostituendo ad URL l'URL del mirror da cui scaricare i pacchetti necessari all'assemblaggio della live; nel caso in cui si sia creata una cache locale usando apt-proxy, l'indirizzo sarà un qualcosa di analogo a http://localhost:9999/debian/. Attenzione: apt-proxy sembra avere una qualche incompatibilità con l'installer Debian, quindi non usarlo quando si mette l'opzione --debian-installer live. Usare l'opzione -b usb-hdd unicamente nel caso in cui si voglia ottenere un'immagine da mettere su una chiavetta USB.

Verrà a questo punto 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 bimbotuxpkg contenente l'elenco dei pacchetti da installare:

### bimbotuxpkg ###
alsa
cups
xorg
fvwm
ttf-sjfonts
lxlauncher
sudo
gnome-themes
tuxpaint
tuxtype
gcompris-sound-it
childsplay-alphabet-sounds-it
ktuberling
kde-i18n-it
pysycache
lletters
lbreakout2
circuslinux
xpenguins

In config/chroot sostituire

LH_PACKAGES_LISTS="standard"

con

LH_PACKAGES_LISTS="standard bimbotuxpkg"

Inserire in config/chroot_local-includes/home/user/.fvwm/ il file .fvwm2rc: creare il percorso con mkdir -p.

Inserire in config/chroot_local-includes/home/user/ il file .gtkrc-2.0. Infine, premunirsi di adeguata pazienza e far partire la costruzione dell'immagine:

# lh_build

Da fare

Live CD

  • Automatizzare avvio di XOrg
  • Testare il Debian-Installer
  • Cambiare immagine del boot loader

LXLauncher

  • Localizzarlo in italiano (è tutto in inglese). Qui la patch da applicare; qui le istruzioni.
  • Cambiare sfondo

FVWM

  • Finestre
    • Bottoni graficamente personalizzati
    • Rendere il bottone in alto a sinistra (mini-icona) non "cliccabile"
    • Fare in modo che i bottoni non restino cliccati anche quando si allontana il mouse
    • Capire perché chiudendo una finestra a volte non ne resta neppure una selezionata e sistemare
  • Barra delle applicazioni
    • Cambiare font
    • Fare in modo che, massimizzando le finestre, la barra non venga coperta
    • Fare sparire il bottone che indica che LXLauncher è avviato

Pacchetti Debian

  • Installare kde-i18n-it per avere l'Uomo patata in italiano
  • Installare ALSA, CUPS
  • Aggiungere pysycache, lletters, lbreakout2, circuslinux, xpenguins
  • Installare gnome-themes

Funzionalità da implementare

  • Lettore multimediale
  • Lettore e-book
  • Tema musicale

Download

L'ultima immagine da noi realizzata (solo per architettura x86 32bit, al momento) è scaricabile via BitTorrent attraverso LinuxTracker.

In alternativa si può scaricare via FTP da qui, mettendo Glux sia come nome utente che come password.

md5sum: c9a4ff61e64bc47c5a738872bd4b89ca

Guida per l'utente

Realizzare l'immagine ISO come indicato oppure, più semplicemente, scaricarla direttamente via BitTorrent o FTP, poi scriverla su un CD-ROM vergine con un qualunque programma di masterizzazione in grado di gestire le immagini ISO.

Inserire il CD-ROM nel lettore e riavviare il computer.

Alla schermata che si presenta, premere invio.

Attendere il caricamento del sistema operativo.

Il login è automatico. Per far partire l'interfaccia grafica, al momento è necessario digitare nella console

user@bimbotux:~$ startx

In caso di difficoltà cercare in rete la soluzione o contattarci di persona o in mailing-list. Ogni suggerimento è benvenuto.

Progetti simili