[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 226.   X: «sessione»

Nell'ambito di X, il termine «sessione» si inserisce nel momento in cui esiste un sistema di autenticazione che controlla l'utilizzo della stazione grafica, trattandosi infatti di una sessione di lavoro riferita a un certo utente.

In pratica, si tratta di un'astrazione ulteriore nel sistema di script che servono all'avvio del sistema grafico, dove /etc/X11/xinit/xinitrc e ~/.xinitrc perdono il loro ruolo dominante, per passarlo allo script /etc/X11/Xsession e a ~/.xsession o ~/.Xsession.

226.1   Il problema che motiva il concetto di «sessione»

Le applicazioni che utilizzano il sistema grafico sono sempre più sofisticate e richiedono funzionalità che, da solo, X non può dare. Quindi, per poter usare certi programmi con certe funzionalità, si ha la necessità di avviarne altri, che eventualmente possono non mostrarsi, ma che comunicano con i primi.

Di norma, questi programmi che coadiuvano le attività svolte con il sistema grafico, non possono essere avviati prima che il servente X sia disponibile, inoltre devono operare con i privilegi dell'utente che ha avviato la sessione.

In un certo senso, è come se la sessione grafica corrispondesse all'avvio di un sottosistema personale, che richiede l'attivazione di certi servizi.

Dal momento che i servizi da avviare dipendono anche dai programmi che si intendono usare, diventa complicata e onerosa la compilazione di uno script /etc/X11/xinit/xinitrc che provveda a tutte queste cose, nel modo giusto. Pertanto, in un sistema operativo che prevede la grafica e anche le sessioni, lo script xinitrc si limita ad avviare a sua volta lo script Xsession, il quale però non è da modificare, in quanto a sua volta esegue ciò che trova, in sequenza, nella directory /etc/X11/Xsession.d/; ed è lì, eventualmente, che si deve intervenire.

226.2   Gli script che controllano l'avvio della sessione

In un sistema che preveda le sessioni grafiche, lo script /etc/X11/xinit/xinitrc si limita a eseguire il contenuto dello script Xsession, attraverso l'incorporazione:

#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
. /etc/X11/Xsession

In pratica, in questo modo il lavoro di /etc/X11/Xsession viene eseguito formalmente dallo stesso xinitrc.

Il codice contenuto nel file Xsession incorpora a sua volta, quello dei file contenuti nella directory /etc/X11/Xsession.d/, secondo l'ordine lessicografico. Per esempio, tale directory potrebbe contenere i file seguenti:

ls /etc/X11/Xsession.d[Invio]

/etc/X11/Xsession.d/20x11-common_process-args
/etc/X11/Xsession.d/30x11-common_xresources
/etc/X11/Xsession.d/50x11-common_determine-startup
/etc/X11/Xsession.d/90x11-common_ssh-agent
/etc/X11/Xsession.d/99x11-common_start

Al termine, se esiste il file ~/.xsession (oppure ~/.Xsession), viene eseguito anche il suo contenuto, altrimenti viene avviato ciò che si considera essere il «gestore di sessione» predefinito.

226.3   Gestori di sessione

Il gestori di sessione è un programma che dovrebbe facilitare l'uso del sistema grafico, ma che può anche complicarlo. Il suo compito è quello di consentire all'utente di configurare la propria sessione attraverso strumenti grafici, oltre che di facilitare la gestione dei servizi grafici necessari.

In pratica, se non si amano le complicazioni, si potrebbe usare benissimo un gestori di finestre puro e semplice, mentre un gestori di sessione vero e proprio si trova spesso a dover avvalersi a sua volta di un gestori di finestre.

Se si usa un sistema di autenticazione grafica sofisticato, può essere possibile la scelta tra diversi tipi di sessione, corrispondenti solitamente a script di avvio differenti, in cui può essere richiamato questo o quel gestore di sessione.

226.4   Gnome

Gnome (1) (pronunciato «g-a-n-o-m-e»), è un gestore di sessione altamente configurabile, contornato da diversi programmi realizzati specificatamente per rendere l'ambiente uniforme e confortevole. Naturalmente, i programmi realizzati per Gnome possono funzionare anche senza questo gestore di sessione: è sufficiente che siano disponibili le librerie grafiche necessarie.

Il programma eseguibile che rappresenta in pratica il gestore di sessione è gnome-session. Il fatto di avviarlo non produce nulla di particolare sullo schermo grafico, salvo che è possibile configurare l'avvio automatico di altri programmi di contorno, come per esempio il gestore di finestre.

A proposito del gestore di finestre, è da annotare che questo deve essere compatibile con Gnome; inoltre, se la propria distribuzione GNU non organizza bene i pacchetti, le prime volte che si avvia il gestore di sessione Gnome potrebbe essere complicato far partire anche il gestore di finestre. In mancanza d'altro, basta avviarlo da un terminale grafico, eventualmente dopo averlo ottenuto da un menù.

Infine, a proposito della dipendenza dei processi elaborativi, è da osservare che le applicazioni avviate dal gestore di sessione Gnome non risultano discendere da gnome-session, ma direttamente dal processo principale (Init). Nell'esempio seguente si vedono diversi processi relativi a Gnome, staccati da gnome-session, avviato a sua volta da Gdm:

init-+
     |
    ...
     |-enlightenment
     |-gdm---gdm-+-Xorg
     |           `-gnome-session---ssh-agent
     |-gnome-name-serv
     |-gnome-panel-pro
     |-gnome-smproxy
     |-gnome-terminal-+-bash
     |                `-gnome-pty-helpe
     |-gnomecc
    ...
     `-panel

Nelle sezioni seguenti vengono descritti brevemente alcuni programmi essenziali per l'uso del gestore di sessione Gnome.

226.4.1   Gnome control center

Gnome control center è il programma di configurazione di Gnome. Lo si può avviare attraverso l'eseguibile gnomecc, oppure da un menù, attraverso una voce che fa riferimento alle proprietà di qualcosa.

Figura 226.4. Gnome control center nella scelta del tipo di gestore di finestre.

gnome-control-center

226.4.2   Gnome panel

Gnome panel è un'altra applicazione importante che consente di avere sempre a portata di mano un menù da cui avviare le applicazioni. Sulla barra di questo menù possono risiedere anche delle icone per l'avvio rapido dei programmi più importanti, oppure delle applet (applicazioncine), ovvero programmi che graficamente hanno dimensioni ridotte. Il programma in questione corrisponde all'eseguibile panel.

Figura 226.5. Gnome panel, dove si vedono in particolare due bottoni per l'avvio rapido di applicazioni importanti.

gnome-panel

226.5   KDE

KDE, (2) ovvero K desktop environment, è un altro gestore di sessione, paragonabile a Gnome. Il programma eseguibile che rappresenta in pratica il gestore di sessione è kde2. Come nel caso di Gnome, il fatto di avviarlo non produce nulla di particolare sullo schermo grafico, salvo il fatto che è possibile configurare l'avvio automatico di altri programmi di contorno, come per esempio il gestore di finestre.

A proposito della dipendenza dei processi elaborativi, è da osservare che le applicazioni avviate dal gestore di sessione KDE non risultano discendere da kde2, ma da kdeinit; oppure, a seconda dei casi, possono discendere direttamente da Init. Nell'esempio seguente si vedono tre terminali aperti con la shell Bash:

init-+
     |
    ...
     |-kdeinit-+-artsd---artsd
     |         |-kdeinit
     |         `-3*[kdeinit---bash]
     |-7*[kdeinit]
     |-kdeinit---cat
     `-kdm-+-XFree86
           `-kdm---kde2-+-ksmserver
                        `-ssh-agent

È probabile che non si riesca a vedere se non si usa semplicemente ps per conoscere l'elenco dei processi attivi, ma esiste un programma fondamentale per KDE, denominato kdesktop, il cui scopo è quello di controllare il fondale, sul quale si depositano alcune icone. In altre parole, si tratta di un processo grafico che non si inserisce in una finestra e ricopre la superficie grafica, rappresentando in pratica la scrivania grafica di KDE.

In condizioni normali, KDE utilizza un menù alla base della superficie grafica dello schermo, corrispondente al programma kicker, come si vede qui sotto:

kde-kicker

I programmi che fanno parte della raccolta di KDE sono molti (spesso si tratta di derivazioni di altri programmi già esistenti, modificati in modo da usare le stesse librerie grafiche e armonizzare così l'estetica generale), caratterizzati comunemente dall'iniziale comune: «k». Alcuni di questi programmi sono molto importanti per l'ambiente e vengono descritti brevemente nelle sezioni seguenti.

226.5.1   Kpersonalizer

Kpersonalizer, a cui corrisponde l'eseguibile omonimo (kpersonalizer), consente una configurazione generale guidata. In particolare, come si vede nella figura 226.8, si imposta la disposizione della tastiera e la nazionalità.

Figura 226.8. Kpersonalizer.

kde-kpersonalizer

226.5.2   Kcontrol

Lo stesso Kpersonalizer suggerisce di usare Kcontrol, ovvero il centro di controllo, alla fine della personalizzazione generale, per la definizione più dettagliata della configurazione di KDE. L'eseguibile corrispondente è kcontrol.

Figura 226.9. Kcontrol.

kde-kcontrol

Kcontrol consente di visualizzare molti aspetti del sistema, anche se per questo, con GNU/Linux è sufficiente accedere alla directory /proc/.

226.5.3   Kmenuedit

Kmenuedit consente di modificare agevolmente l'elenco delle voci contenute nel menù (il menù è gestito in pratica da kicker).

Figura 226.10. Kmenuedit.

kde-kmenueditor

Eventualmente, è disponibile anche Kappfinder per ottenere una scansione automatica degli applicativi disponibili e il conseguente aggiornamento del menù in modo automatico.

Figura 226.11. Kappfinder.

kde-kappfinder

226.5.4   Khelpcenter

Khelpcenter è un sistema integrato per la navigazione della documentazione. In pratica, consente di leggere la documentazione specifica di KDE, ma anche quella comune dei sistemi Unix e dei sistemi GNU (Info). La figura 226.12 mostra in particolare l'accesso alle pagine di manuale.

Figura 226.12. Khelpcenter.

kde-khelpcenter

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Gnome   GNU GPL e GNU LGPL

2) KDE   GNU GPL, GNU LGPL e altre licenze a seconda della porzione di codice


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome x_171_sessione_187.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!