Sei qui: Home
Salve a tutti! questa area del sito www.verdebinario.org è a disposizione dei visitatori per discussioni di vario genere. Per inviare articoli, spunti di riflessione, commenti ed altro basta registrarsi sul sito (link nei menu).
verdebinario.org :: area forum  


quinto incontro
Date: 2006/05/04 15:49 By: emiliano Status: Utente  
Karma: 1  
Senior Boarder

Posts: 19
graph
cattivelli!

visto che questa settimana avete “tirato filone” in tanti, non meritereste questo riassunto...
ma che volete farci, ho il cuore tenero.

in ogni caso sarò sintetico.
Come al solito, seguite i link per approfondire ogni punto di questo resoconto.

Argomento del quinto (penultimo) incontro, dal titolo “Fattore X: una panoramica sull’ambiente grafico”, è stato appunto il sistema grafico più diffuso su GNU/Linux (e sulla maggior parte dei sistemi Unix-like) e cioè l’“X window system”.

X Window system nasce nel 1984, come successore di un programma mai realmente diffuso su larga scala chiamato semplicemente W (W sta per il termine inglese Window “finestra”).
Per evidenziare la parentela col vecchio W i programmatori decisero di usare anche per il nome del nuovo programma una sola lettera dell’alfabeto: X (X è la lettera successiva a W!).
Nacque così il sistema a finestre X, l’”X window system” appunto.
Se tutto questo parlare di finestre vi ricorda qualcosa vi state sbagliando: controllate bene le date...

http://it.wikipedia.org/wiki/ Storia_di_X_Window_System


nell’incontro è stato spiegato a grandi linee il funzionamento e la struttura di X.

X lavora in maniera particolare in quanto è un programma pensato per essere eseguito su una rete eterogenea di elaboratori, e pertanto è strutturato secondo il classico modello client/server (cliente/servente) anche se in un certo senso ne sovverte il paradigma.

Ma andiamo con ordine... cos'è un modello client/server?
in estrema sintesi un modello client/server è una tecnica che permette ad una coppia di programmi di comunicare tra loro attraverso una rete telemetica.
Il server offre dei servizi (!) al client.

http://it.wikipedia.org/wiki/Client_server

per capire meglio questo meccanismo abbiamo considerato un esempio

- la coppia di programmi ssh / sshd

http://it.wikipedia.org/wiki/Ssh

il servizio in questo caso è l'erogazione a distanza di una shell utente (l'interfaccia testo che abbiamo usato negli scorsi incontri). Attraverso questo servizio si può utilizzare "da remoto" un sistema operativo GNU/Linux (o comunque un qualsiasi sistema su cui sia stato portato ssh) come se ci si trovasse davanti ad esso, attraverso l'interfaccia testuale fornita dalla shell (come bash - la shell che abbiamo usato nelle esercitazioni). Ovviamente, l'utente deve essere in possesso di tutte le credenziali per accedere al sistema remoto (deve avere un account valido, con un username e una password).
l'intera sessione di lavoro (inclusa la trasmissione delle credenziali) è crittografata per ragioni di sicurezza (ssh significa Secure SHell - shell sicura)

In questo esempio il cliente è il programma ssh in esecuzione sulla macchina locale e il servente è il programma sshd, in esecuzione sulla macchina remota. Tradizionalmente, sui sistemi Unix-like i programmi server hanno un nome che finisce con la lettera "d"

http://it.wikipedia.org/wiki/Demone_% 28informatica%29

da un lato dunque l'utente esegue il client, con un comando simile a questo

$ ssh utente@nome_host

dove "utente" è il nome di un utente legittimo del sistema remoto e "nome_host" è il nome (o l'indirizzo di rete) del sistema remoto

all'altro capo della connessione sarà in esecuzione il programma sshd.
la linea di comando per eseguire sshd sarà qualcosa di simile

# /usr/sbin/sshd

un altro esempio di coppia client/server che usiamo tutti i giorni è la coppia browser/webserver (cliente e servente http).

nel paradigma classicodi erogazione servizi telematici "client/server ",dunque, il programma cliente viene eseguito sulla macchina locale e il programma servente sulla macchina remota. Per X vale l'esatto contrario: il server viene eseguito sulla macchina locale, ma i client possono essere eseguiti altrove, anche se di solito (nel comune utilizzo di una stazione di lavoro desktop "autonoma") essi risiedono sempre sulla stessa macchina. Questa inversione di ruoli risulta inizialmente difficile da capire perchè X nasconde molta della sua complessità all'utente, che lacora come è abituato a lavorare su altri sistemi: cliccando qua e la sullo schermo

Ma lo scopo di questo corso è proprio quello di scalfire la superficie della complessità di un tipico sistema GNU/lLinux per cercare di cominciare a comprenderne il funzionamento...
perciò, cerchiamo di capirci meglio...
X window system è un programma server.
Il servizio che X offre ai suoi clienti (vedremo subito chi sono) è la gestione delle periferiche di input (tastiera mouse etc) , della scheda video e del monitor.
I clienti di X sono tutti quei programmi che hanno bisogno di mostrare elementi grafici (finestre e "disegni") sul monitor.

facciamo un esempio: la coppia X/firefox
(per chi ha vissuto su marte negli ultimi anni Firefox è un browser grafico)

X è il server e firefox il cliente.
L'utente clicca sull'icona di firefox.
firefox chiede ad X di concedergli uno spazio sul display (sched video/monitor ) nel quale disegnare il contenuto della finestra.
X non fa nient'altro che disegnare roba sullo schermo su richiesta delle applicazioni e gestire le periferiche di input. NIENT'ALTRO.

la gestione delle finestre (spostamento - ingrandimento - riduzione a icona etc) viene delegata a un terzo programma detto "window manager" (gestore di finestre appunto).
quindi in realtà nell'esempio precedente avremmo dovuto parlare di una terna X/window manager/firefox piuttosto che di una coppia...

confusi? rimpiangete di non essere stati presenti all'incontro? peggio per voi! ghghghgh il fatto è che non è semplice spiegare questa cosa per iscritto senza il supporto di esempi pratici... perciò SEGUITE I LINK!

http://www.freebsd.org/doc/it_IT.ISO8859-15/books/ handbook/x11.html
http://a2.pluto.it/a2176.htm#almltitle1690

questa natura modulare del sistema grafico "X window system+applicazioni" permette

a) di eseguire applicazioni grafiche su macchine remote e di visualizzare il risultato sul display locale. abbiamo visto questa cosa durante l'incontro con l'ausilio di due pc collegati tra loro.

b) di avere a disposizione una vasta scelta di window managers e ambienti desktop. chi ha visto in azione il sistema grafico di GNU/Linux almeno un paio di volte sa di cosa parlo...

tutto ciò è perfettamente in linea con lo stile Unix:
Modularità! fornire strumenti, non politiche.
L'utente deve avere la libertà di assemblare il suo sistema in ogni sua parte, scegliendo gli strumenti che preferisce.

alla fine dell'incontro, grazie all'aiuto di Alessandro (grande!) dell'ass. Hacklab e del suo portatile abbiamo mostrato le ultime novità in campo di "giocattoli" grafici per il desktop, con una dimostrazione delle potenzielità di XGL

http://en.wikipedia.org/wiki/Xgl

trasparenze, animazioni, movimenti fluidi non sono più appannaggio esclusivo degli utenti mac! e Windows Vista ancora non è in Vista
beccati questa Bill Gates!

http://www.novell.com/linux/xglrelease/

ciao a tutti

ps
vi segnalo un interessantissimo articolo (in inglese) sullo stato dell'arte della grafica su GNU/Linux

http://people.freedesktop.org/~jonsmirl/ graphics.html

----
il prossimo (ultimo) appuntamento è per mercoledi 10 maggio 2006 alle 18:30 presso l'aula Zenith - cubo 13c ponte scoperto UniCal

il tema dell'incontro è "spacchetti ma non apra: la gestione del software sulle principali distribuzioni"

Post modificato da: emiliano, alle: 2006/05/05 10:34

Post modificato da: emiliano, alle: 2006/05/05 10:36
L´administrator ha disattivato l´accesso pubblico in scrittura.