PDF, 567 Kb - Leoncavallo

Transcript

PDF, 567 Kb - Leoncavallo
Un po' di storia
X nasce nel 1984 al Massachusetts Institute of Technology da una collaborazione tra Jim
Gettys dell'Athena Project e Bob Scheifler del MIT Laboratory for Computer Science,
per uniformare la gestione alla grafica tra diversi sistemi Unix
Nel settembre 87 viene rilasciata la prima versione di X11, la versione del protocollo
ancora in uso.
Gennaio 88,viene creato il MIT X Consortium, in febbraio viene rilasciato X11R2.
Ottobre 88, X11R3, viene rilasciato XDM.
1993, il controllo passa a X Consortium
Maggio 94, X11R6 (la versione attuale), nasce Xfree86.
1997, nasce The Open Group
1999, The Open Group crea la X Org Foundation
Nel gennaio 2004, in risposta all'introduzione di licenze non libere in Xfree86, X.Org
Foundation decide di creare un fork di Xfree86.
Ad aprile esce il primo rilascio di X.Org. In breve tempo le maggiori distribuzioni
abbandonano Xfree86 per X.Org.
Lavoriamo in grafica
1
La struttura di X
Con X si parla di client e server. Il server X e' il
programma che interfaccia le varie periferiche
(mouse, tastiera, schermo), i client sono le singole
applicazioni grafiche che ne fanno uso.
E' possibile, come per altri protocolli, che client e
server 'girino' su macchine diverse e comunichino
attraverso la rete.
Un singolo computer puo' ospitare piu' X server,
gestendo quindi piu' postazioni grafiche.
Il server X fornisce solo primitive grafiche di basso
livello, cioe' non determina l'aspetto di quello che
appare sullo schermo. Questo dipende dai client e
da programmi specializzati chiamati Window
Manager che gestiscono l'apparenza e la
funzionalita' delle finestre.
Lavoriamo in grafica
2
Display e schermi
All'interno di un elaboratore possono funzionare teoricamente più serveri grafici per
controllare altrettante stazioni grafiche di lavoro. Inoltre, sempre teoricamente, una stazione
grafica può utilizzare più di uno schermo grafico contemporaneamente.
Nel gergo di X la stazione grafica è il display, che viene identificato da un numero a partire
da zero, nella forma :n. Se una stazione grafica è dotata di più di uno schermo, quando si
deve fare riferimento a uno di questi occorre aggiungere all'indicazione del numero della
stazione grafica quello dello schermo. Anche in questo caso, il primo corrisponde a zero. La
forma diventa quindi :n.m, dove n è la stazione grafica e m è lo schermo. La figura dovrebbe
chiarire il meccanismo. Il valore predefinito di stazione grafica e schermo è zero, per cui,
quando non si specificano queste informazioni, si intende implicitamente lo schermo :0.0.
Lavoriamo in grafica
3
L'avvio di X
Startx
Quando il computer e' configurato per fare il login in modalita' testo, e' abitualmente
presente uno script chiamato startx che si occupa di avviare l'ambiente grafico.
Il Display Manager
Il sistema puo' essere configurato, tramite gli scripts di init, per avviare un
programma chiamato display manager, che si occupa di inizializzare il display e
gestire il login in modalita' grafica, quindi iniziare una sessione di lavoro. Al
termine della sessione, il controllo torna al display manager. Tra i piu' comuni
display manager in ambiente Linux abbiamo xdm, gdm e kdm. Il primo e' il piu'
semplice, ed e' fornito con X, gli altri fanno parte rispettivamente dei progetti
Gnome e KDE, e contengono molte funzionalita' aggiuntive.
Lavoriamo in grafica
4
Il window manager
Il window manager e' il programma che si occupa di far si che le finestre create dalle varie
applicazioni abbiano tutte la stessa funzionalita' (menu, bottoni per iconizzare,
massimizzare, chiudere), e di fornire un sistema di menu per il lancio delle applicazioni.
Senza di esso e' comunque possibile usare X, ma l'interfaccia che ci si puo' aspettare e'
veramente spartana (vedi immagine).
Esistono moltissimi window managers. La loro
scelta e' dettata dai gusti personali, ed
eventualmente dal fatto che un window
manager piu' “leggero” puo' rendere molto piu'
utilizzabile un computer non proprio
recentissimo.
Tra i wm piu' diffusi ricordiamo: twm, fvwm,
wmaker, blackbox, enlightment, xfce, etc...
Se si utilizza un Desktop Environment,
generalmente viene utilizzato il wm fornito con
questo ambiente.
Lavoriamo in grafica
5
Il Desktop Environment
Il Desktop Environment e' un insieme di programmi che realizza un'implementazione
della famosa metafora della scrivania, sviluppata originariamente dalla Xerox e
ormai adottata praticamente da tutti i sistemi operativi commerciali e non.
Tralasciando quelli 'storici' come OpenLook della Sun e CDE, al momento le scelte
piu' diffuse su Linux sono 2, Gnome e KDE.
Lavoriamo in grafica
6
Alcuni files importanti
Il file di configurazione /etc/X11/xorg.conf (XF86Config-4 per Xfree86 versione 4)
contiene tutte le informazioni di configurazione per le periferiche gestite dal server X.
Questo file viene scritto dal programma di configurazione di X, ma puo' capitare di
doverlo modificare a mano. Nelle distribuzioni piu' recenti la configurazione e' spesso
automatica, in altri casi puo' essere necessario conoscere la configurazione esatta del
proprio hardware. Il file di configurazione di X è diviso in sezioni (quelle normalmente
presenti sono: Files, ServerFlags, InputDevice, Monitor, Device, Screen), la cui sintassi
ad esempio puo' essere:
Section "Device"
Identifier "Standard VESA"
Driver
"vesa"
EndSection
Il file /var/log/Xorg.0.log (Xfree86.0.log per Xfree86) e' ovviamente il file di log del
server X. Se il server non si dovesse avviare, e' spesso utile consultarlo per individuare
la causa del problema.
Il file /etc/X11/xinit/xinitrc e' il file di inizializzazione di X, qui ad esempio si
possono specificare dei programmi da avviare automaticamente. Il file .xinitrc
nella home di un utente ha la stessa funzione, ovviamente limitatamente a
quell'utente.
Lavoriamo in grafica
7
Uso delle periferiche
Installando un moderno desktop grafico come Gnome e KDE, la gestione delle periferiche
(mount) viene spesso affidata al sistema di Hotplug, che si occupa di riconoscere
automaticamente l'inserimento di Cdrom, penne USB, etc, e di far comparire un icona
associata ad essi, resta comunque all'utente il compito di provvedere all smontaggio
(umount) del dispositivo prima della sua rimozione fisica, e questo con un menu associato
all'icona del dispositivo.
Anche in mancanza del sistema di Hotplug, e' comunque possibile creare delle icone a cui
e' associato un menu contenenti i comandi necessari al montaggio e allo smontaggio dei
dispositivi.
Lavoriamo in grafica
8
Scorciatoie di tastiera
Alcune delle piu' comuni scorciatoie di tastiera:
Ctrl-Alt-Del causa il riavvio del sistema (questo anche lavorando in modalita' testo)
Ctrl-Alt-Backspace Uccide la sessione X e torna al prompt (se X e' stato avviato da
prompt (altrimenti ne causa il riavvio)
Ctrl-Alt-+ e - cambiano la risoluzione video, ciclando tra quelle definite nel file di
configurazione di X
Ctrl-Alt-numero (Alt-Numero in una sessione testuale) Cambia sessione. Con molte
distribuzioni, le sessioni da 1 a 6 sono console testuali, la 7 e' quella grafica
Alt-Tab Cambia l'applicazione attiva.
Alt-F4 Chiude l'applicazione attiva
Lavoriamo in grafica
9
Usare X senza il mouse
In mancanza di un mouse, e' possibile controllare il puntatore usando il tastierino
numerico. Questa modalità richiede che NON sia presente nel file di configurazione (o
sia commentata) l'opzione XkbDisable e viene attivata e disattivata con Ctrl-ShiftBlocNum.
Lavoriamo in grafica
10
Bibliografia
Wikipedia:
http://en.wikipedia.org/wiki/X_Window_System
Xfree86:
http://www.xfree86.org
X.Org:
http://www.x.org/
KDE:
http://www.kde.org
GNOME:
http://www.gnome.org/
GNU:
http://www.gnu.org/philosophy/x.html
Appunti di informatica libera:
http://a2.swlibero.org
Lavoriamo in grafica
11