Bureau CDE Guide de l'administrateur

Personnalisations supplémentaires du lancement d'une session

Cette section traite des sujets suivants :

Définition de variables d'environnement

    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.


Remarque :

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".


Définition des ressources

    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.


Remarque :

.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.

Définition de ressources spécifiques à un poste de travail

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.

Modification des applications de la session initiale

Vous pouvez intégrer d'autres applications à la session initiale de l'utilisateur.

  1. Copiez /usr/dt/config/langue/sys.session dans /etc/dt/config/langue/sys.session.

  2. 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"

Configuration d'une session spécifique à un poste de travail

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é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.

Exécution de commandes supplémentaires lors du lancement de la session et lors de la déconnexion

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.

Exécution de commandes supplémentaires lors du lancement de la session

    Créez le fichier RépPersonnel/.dt/sessions/sessionetc contenant les commandes.

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.


Remarque :

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.


Exécution de commandes supplémentaires lors de la déconnexion

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.

Récupération d'une session à partir d'une sauvegarde

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.

  1. Connectez-vous en utilisant la session monofenêtre ou la connexion à partir de la ligne de commande sur l'écran de connexion.

  2. 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.

Analyse des incidents lors du lancement d'une session

    Vérifiez le fichier RépPersonnel/.dt/startlog.

Le Gestionnaire de sessions consigne dans ce fichier les différentes phases du lancement des sessions de chaque utilisateur.