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"
alors, 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 "Lancement facultatif du script .profile ou .login".
Pour définir les ressources au niveau système, ajoutez-les au fichier /etc/dt/config/langue/sys.resources. Il vous sera peut-être demandé de créer ce fichier.
.dtprofile ne supporte que la syntaxe /bin/sh ou /bin/ksh.
Par exemple, si dans /etc/dt/config/C/sys.resources, vous indiquez :
AnApplication*resource: valeur
alors la ressource AnApplication*resource sera définie dans la caractéristique RESOURCE_MANAGER
de chaque utilisateur à la prochaine connexion.
Pour définir des ressources personnelles, ajoutez les ressources au fichier RépPersonnel/.Xdefaults.
Vous pouvez définir des ressources spécifiques à un poste de travail pour tous les utilisateurs du système. Les utilisateurs peuvent également définir des ressources spécifiques à leur poste de travail, mais celles-ci sont limitées à leur session. Vous pouvez ainsi faire varier les ressources en fonction du poste de travail utilisé pour la connexion au Bureau.
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 de l'écran 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, une valeur d'écran $DISPLAY
de :0 donnerait DISPLAY_0
et une autre valeur d'écran $DISPLAY
blanco.gato.com:0.0 donnerait 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 dans /etc/dt/config/C/sys.resources vous indiquez :
Myapp*resource: valeur
#ifdef DISPLAY_blanco_gato_com_0 Myapp*resource: valeur1 #endif
#ifdef DISPLAY_pablo_gato_com_0 Myapp*resource: valeur2 #endif
la ressource MyApp*resource aura, dans RESOURCE_MANAGER
, la valeur valeur1 lorsque l'utilisateur se connectera à l'écran blanco.gato.com:0, valeur2 lorsqu'il se connectera à pablo.gato.com:0 et valeur lorsqu'il se connectera sur 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 dans RépPersonnel/.dt/écran où écran correspond au nom réel de l'hôte (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
Lors de la prochaine connexion de l'utilisateur depuis le poste de travail pablo.gato.com:0, le Gestionnaire de sessions lancera la session spécifique de l'écran.
L'utilisateur peut demander le lancement de commandes supplémentaires lorsqu'il se connecte à sa session du Bureau. 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 racine (c'est-à-dire, dans l'espace de travail). Une autre utilisation possible est de lancer des applications qui ne peuvent pas être sauvegardées et restaurées par le Gestionnaire de sessions. Si une application n'est pas relancée lorsque la session est restaurée, l'utilisateur peut la lancer à l'aide de cette méthode.
Généralement, ce fichier est un script et doit être affecté 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 risqueriez 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 ce fichier 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.
Comme sessionetc, ce fichier est généralement un script affecté des droits d'exécution appropriés.
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 initiales personnalisées. Avant le stockage des informations, le Gestionnaire de sessions fait une sauvegarde de la session précédente avec 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 initiale personnalisée de sauvegarde :
cp -r RépPersonnel/.dt/sessions/home.old \ RépPersonnel/.dt/sessions/home
Les sessions spécifiques de l'écran 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.