Cette section traite des sujets suivants :
définition des variables d'environnement ;
définition des ressources ;
utilisation de sessions dépendantes de l'écran ;
exécution de scripts lors de la connexion ;
récupération d'une session de sauvegarde.
Pour définir des variables d'environnement système, créez un fichier dans le répertoire /etc/dt/config/Xsession.d permettant de définir et d'exporter la variable.
Par exemple, si vous créez un script ksh exécutable, /etc/dt/config/Xsession.d/mesvars, contenant :
export VARIABLE="valeur"
la variable VARIABLE
sera définie dans chaque environnement utilisateur à la prochaine connexion.
Pour définir des variables d'environnement personnelles, définissez-les dans RépPersonnel/.dtprofile.
Par exemple :
export VARIABLE="valeur"
définit la variable VARIABLE
dans chaque environnement utilisateur à la prochaine connexion.
le Gestionnaire de sessions ne lit pas automatiquement le fichier .profile ou .login. Cependant, il peut être configuré de façon à utiliser ces fichiers (voir la section "Lancement facultatif du script .profile ou .login").
Pour définir des ressources système, ajoutez-les au fichier /etc/dt/config/langue/sys.resources (vous devrez peut-être créer ce fichier).
.dtprofile ne supporte que la syntaxe /bin/sh ou /bin/ksh.
Par exemple, si vous définissez la ressource suivante dans le fichier /etc/dt/config/C/sys.resources :
AnApplication*resource: valeur
la ressource AnApplication*resource sera définie dans la propriété RESOURCE_MANAGER
de chaque utilisateur à la prochaine connexion.
Pour définir des ressources personnelles, ajoutez-les au fichier RépPersonnel/.Xdefaults.
Vous pouvez définir des ressources spécifiques à un poste de travail pour tous les utilisateurs de bureau du système. Les utilisateurs peuvent également définir des ressources spécifiques à un poste de travail qui soient limitées à leur session. Vous pouvez ainsi faire varier les ressources en fonction du poste de travail utilisé pour la connexion au système.
Pour définir des ressources spécifiques à un poste de travail pour tous les utilisateurs du système, créez un fichier /etc/dt/config/langue/sys.resources définissant ces ressources.
Pour définir des ressources spécifiques à un poste de travail pour un utilisateur donné, définissez les ressources dans RépPersonnel/.Xdefaults.
Ces ressources doivent être incluses dans des instructions conditionnelles de type cpp. Une macro DISPLAY_
_nom_écran est définie en fonction de la valeur de la variable $DISPLAY
. Cette macro convertit tous les points (.) et les deux-points (:) en caractères de soulignement (_), supprime toute spécification relative à l'écran et attribue le préfixe DISPLAY_
au résultat.
Par exemple, si la variable $DISPLAY
a pour valeur :0, le nom de la macro sera DISPLAY_0
; si la variable $DISPLAY
a pour valeur blanco.gato.com:0.0, le nom de la macro sera DISPLAY_blanco_gato_com_0. Le résultat peut être utilisé comme partie d'un test cpp dans un fichier de ressources de la session. Par exemple, si vous définissez la ressource suivante dans le fichier /etc/dt/config/C/sys.resources :
Myapp*resource: value
#ifdef DISPLAY_blanco_gato_com_0 Myapp*resource: specialvalue1 #endif
#ifdef DISPLAY_pablo_gato_com_0 Myapp*resource: specialvalue2 #endif
la ressource MyApp*resource aura, dans RESOURCE_MANAGER
, la valeur specialvalue1 lorsque l'utilisateur se connectera à l'écran blanco.gato.com:0, et specialvalue2 lorsqu'il se connectera à l'écran pablo.gato.com:0;, et value lorsqu'il se connectera à un autre écran.
Vous pouvez intégrer d'autres applications à la session initiale de l'utilisateur.
Copiez /usr/dt/config/langue/sys.session dans /etc/dt/config/langue/sys.session.
Modifiez le nouveau fichier sys.session.
chaque entrée de sys.session apparaît sous la forme :
dtsmcmd -cmd commande_et_options
Pour ajouter une application à la session initiale d'un utilisateur, créez une nouvelle entrée sys.session avec son chemin d'accès complet. Par exemple, pour lancer /usr/bin/X11/xclock dans la session initiale d'un utilisateur, ajoutez une entrée xclock à /etc/dt/config/C/sys.session :
# Start up xclock... #dtsmcmd -cmd "/usr/bin/X11/xclock -digital"
L'utilisateur peut configurer une session spécifique pour adapter une session à un poste de travail particulier.
Copiez le répertoire RépPersonnel/.dt/sessions vers le répertoire RépPersonnel/.dt/écran, où écran représente le nom réel de la machine (par exemple, pablo:0 est correct, pablo.gato.com:0 ou unix:0 ne l'est pas).
Par exemple, pour créer une session spécifique au poste de travail pablo.gato.com:0 :
cp -r RépPersonnel/.dt/sessions RépPersonnel/.dt/pablo:0
Lorsque l'utilisateur se connecte ensuite à l'écran pablo.gato.com:0, le Gestionnaire de sessions lance la session spécifique à ce poste de travail.
L'utilisateur peut demander le lancement de commandes supplémentaires lorsqu'il se connecte à sa session. Cela est particulièrement utile pour configurer des paramètres X qui ne sont pas sauvegardés par le Gestionnaire de sessions. Par exemple, il peut utiliser xsetroot pour personnaliser l'aspect du pointeur de la souris dans la fenêtre principale (c'est-à-dire, dans l'espace de travail). Il peut également lancer des applications qui ne peuvent pas être sauvegardées ou restaurées par le Gestionnaire de sessions. Si une application n'est pas redémarrée lors de la restauration de la session, l'utilisateur peut la démarrer de cette façon.
Généralement, ce fichier est un script et doit disposer des droits d'exécution appropriés. Les processus lancés dans sessionetc doivent être exécutés en arrière-plan.
n'utilisez pas sessionetc pour lancer des clients restaurés automatiquement par le Gestionnaire de sessions. Sinon, vous risquez de lancer plusieurs copies d'une même application. Vous ne le remarquerez peut-être pas tout de suite, car les fenêtres des copies peuvent se chevaucher.
sessionexit est un fichier associé à sessionetc. Utilisez-le pour effectuer certaines opérations qui ne sont pas prises en charge par le Gestionnaire de sessions, lorsque vous quittez une session.
Créez le fichier RépPersonnel/.dt/sessions/sessionexit contenant les commandes.
Tout comme sessionetc, ce fichier est généralement un script accessible en exécution.
Lorsque le Gestionnaire de sessions sauvegarde une session, les informations s'y rapportant sont stockées dans le répertoire RépPersonnel/.dt/sessions ou RépPersonnel/.dt/écran si vous utilisez une session spécifique à un poste de travail. Le Gestionnaire de sessions crée, dans ces répertoires, un sous-répertoire appelé current ou home permettant de stocker les informations respectives des sessions en cours ou personnelles. Avant le stockage des informations, le Gestionnaire de sessions effectue une sauvegarde de la session précédente sous ce nom et la stocke dans current.old ou home.old.
Connectez-vous en utilisant la session monofenêtre ou la connexion à partir de la ligne de commande sur l'écran de connexion.
Copiez le répertoire de la session de sauvegarde vers le nom courant. Par exemple, pour récupérer une session personnelle de sauvegarde :
cp -r RépPersonnel/.dt/sessions/home.old \ RépPersonnel/.dt/sessions/home
Les sessions spécifiques à un poste de travail peuvent être récupérées de la même manière.
Le Gestionnaire de sessions consigne dans ce fichier les différentes phases du lancement des sessions de chaque utilisateur.