Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Altre opzioni per personalizzare l'avvio delle sessioni

Questa sezione descrive le seguenti operazioni:

Impostare le variabili d'ambiente

    Per impostare una variabile d'ambiente a livello di sistema, creare un file nella directory /etc/dt/config/Xsession.d che imposti ed esporti la variabile desiderata.

Ad esempio, si potrà creare uno script ksh eseguibile /etc/dt/config/Xsession.d/var_pers, che contenga l'istruzione:

	export NUOVA_VARIABILE="valore"

In questo modo la variabile NUOVA_VARIABILE sarà impostata negli ambienti di tutti gli utenti al login successivo.

    Per impostare una variabile d'ambiente personale sarà necessario definirla nel file DirectoryIniziale/.dtprofile.

Ad esempio, l'istruzione:

	export NUOVA_VARIABILE="valore"

imposterà la variabile NUOVA_VARIABILE negli ambienti di tutti gli utenti al login successivo.


Nota -

La Gestione delle sessioni non legge automaticamente il file .profile o .login. Può tuttavia essere configurata in modo da utilizzarli; vedere a questo riguardo la sezione "Lettura opzionale dello script .profile o .login".


Impostare le risorse

    Per impostare una risorsa a livello di sistema, aggiungerla al file /etc/dt/config/lingua/sys.resources. (Se necessario, creare il file.)


Nota -

.dtprofile supporta solo la sintassi della shell /bin/sh o /bin/ksh.


Ad esempio, se in /etc/dt/config/C/sys.resources si specifica l'istruzione:

	Risorsa*Applicazione: valore

la risorsa Risorsa*Applicazione verrà impostata nella proprietà RESOURCE_MANAGER di tutti gli utenti al login successivo.

    Per impostare risorse personali, aggiungere le risorse al file DirectoryIniziale/.Xdefaults.

Impostare le risorse associate a un display

Le risorse associate a un determinato display possono essere impostate sia a livello di sistema che per utenti specifici. In questo caso, le risorse possono essere impostate in base al display usato dall'utente per il login nel desktop.

    Per impostare un insieme di risorse associato a un display per tutti gli utenti di un sistema, creare un file /etc/dt/config/lingua/sys.resources che specifichi le risorse desiderate.

    Per impostare un insieme di risorse associato a un display solo per un determinato utente, specificare le risorse nel file DirectoryIniziale/.Xdefaults.

    Per delimitare queste risorse sarà necessario racchiuderle tra dichiarazioni condizionali cpp. Occorrerà definire una macro DISPLAY_nomedisplay basata sul valore della variabile $DISPLAY convertendo tutti i punti (.) e i due punti (:) in caratteri di sottolineatura (_), eliminando tutte le informazioni associate allo schermo e infine anteponendo la stringa DISPLAY_ al risultato.

    Ad esempio, una variabile $DISPLAY di valore :0 diventerà DISPLAY_0, mentre una variabile $DISPLAY di valore bianco.arcobaleno.com:0.0 diventerà DISPLAY_bianco_arcobaleno_com_0. Il valore risultante potrà essere usato nell'ambito di un test cpp in un file di risorse della sessione. Ad esempio, se nel file /etc/dt/config/C/sys.resources si specifica quanto segue:

    Risorsa*Applicazione: valore
    #ifdef DISPLAY_bianco_arcobaleno_com_0
     Risorsa*Applicazione: valorespeciale1
     #endif
    #ifdef DISPLAY_rosa_arcobaleno_com_0
     Risorsa*Applicazione: valorespeciale2
     #endif

    la risorsa Risorsa*Applicazione in RESOURCE_MANAGER verrà impostata su valorespeciale1 quando l'utente effettuerà il login sul display bianco.arcobaleno.com:0 e su valorespeciale2 quando effettuerà il login su rosa.arcobaleno.com:0; verrà invece impostata su valore quando il login verrà eseguito su qualsiasi altro display.

Cambiare le applicazioni per la sessione iniziale

Per specificare applicazioni alternative da avviare nella sessione iniziale dell'utente, procedere come segue.

  1. Copiare /usr/dt/config/lingua/sys.session in /etc/dt/config/lingua/sys.session.

  2. Modificare la nuova copia del file sys.session.

    Ogni istruzione di sys.session apparirà nella forma:

    	dtsmcmd -cmd comando_e_opzioni
    

    Per aggiungere un'applicazione nella sessione iniziale dell'utente, specificare una nuova istruzione in sys.session indicando il percorso completo del file eseguibile. Ad esempio, per avviare /usr/bin/X11/xclock in una sessione iniziale, aggiungere un'istruzione per xclock al file /etc/dt/config/C/sys.session:

    	#
     	# Avvio di xclock...
     	#
     	dtsmcmd -cmd "/usr/bin/X11/xclock -digital"

Impostare una sessione associata a un display

Usando la procedura descritta qui di seguito, ogni utente può impostare una sessione associata a un determinato display.

    Copiare la directory DirectoryIniziale/.dt/sessions in DirectoryIniziale/.dt/display, dove display è il nome reale e non qualificato dell'host (rosa:0 sarà un nome valido, mentre rosa.arcobaleno.com:0 o unix:0 non saranno accettati).

Ad esempio, per creare una sessione associata al display rosa.arcobaleno.com:0, digitare:

cp -r DirectoryIniziale/.dt/sessions DirectoryIniziale/.dt/rosa:0

Al login successivo dell'utente sul display rosa.arcobaleno.com:0, la Gestione delle sessioni avvierà la sessione definita con questa procedura.

Esecuzione di comandi personalizzati all'avvio delle sessioni e al logout

Gli utenti hanno la possibilità di impostare l'esecuzione di comandi personalizzati al momento del login nel desktop. Questa opzione è particolarmente utile per specificare impostazioni X che non possono essere salvate dalla Gestione delle sessioni. Ad esempio, si potrà usare xsetroot per personalizzare il puntatore del superutente (nello spazio di lavoro), oppure per avviare applicazioni che non possono essere salvate e ripristinate dalla Gestione delle sessioni.

Eseguire comandi personalizzati all'avvio di una sessione

    Creare un file DirectoryIniziale/.dt/sessions/sessionetc che contenga i comandi desiderati.

In genere, questo file è uno script e richiede le autorizzazioni di esecuzione. I processi avviati con sessionetc dovrebbero essere eseguiti in background.


Nota -

Non usare sessionetc per avviare applicazioni client che vengono ripristinate automaticamente dalla Gestione delle sessioni, per evitare di avviare più copie della stessa applicazione. La presenza di più copie di un'applicazione potrebbe non essere immediatamente notata per la sovrapposizione delle finestre o delle icone.


Eseguire comandi personalizzati al logout

Il file da utilizzare per questa procedura è sessionexit. Come per sessionetc, si potrà usare sessionexit per eseguire operazioni che non possano essere avviate dalla Gestione delle sessioni.

    Creare il file DirectoryIniziale/.dt/sessions/sessionexit contenente i comandi desiderati.

Come sessionetc, questo file è generalmente uno script e richiede le autorizzazioni di esecuzione.

Ripristinare una sessione da un backup

Quando la Gestione delle sessioni salva una sessione, le informazioni vengono memorizzate sotto DirectoryIniziale/.dt/sessions o, nel caso delle sessioni associate a un display, sotto DirectoryIniziale/.dt/display. In queste directory, la Gestione delle sessioni crea una directory secondaria di nome current o home in cui memorizza rispettivamente le informazioni della sessione corrente o di quella iniziale. Prima di memorizzare queste informazioni, la Gestione delle sessioni crea una copia di backup della sessione precedentemente salvata con quel nome e la colloca in current.old o home.old.

  1. Effettuare il login usando l'opzione "Sessione a finestra singola" o "Login dalla riga di comando" della videata di login.

  2. Copiare la directory della sessione di backup nella directory attiva. Ad esempio, per ripristinare la sessione iniziale di backup, digitare:

    	cp -r DirectoryIniziale/.dt/sessions/home.old \
     	DirectoryIniziale/.dt/sessions/home

    La stessa procedura può essere usata per ripristinare una sessione associata a un display.

Esaminare i problemi di avvio delle sessioni

    Esaminare il file DirectoryIniziale/.dt/startlog.

La Gestione delle sessioni registra in questo file le procedure di avvio di tutte le sessioni degli utenti.