Par Chris Carlson et Mark Lielsen mark@gtltd.com
Cet article est basé sur deux articles parus dans le numéro 43 de la Linux Gazette : An xdm session par Chris Carlson et Configuring XDM - a graphical login interface for linux or Unix par Mark Lielsen.
Pour être simple, Xdm est juste un écran de login graphique servant à impressionner collaborateurs et patrons, en leur montrant que vous n'avez pas une console ennuyeuse comme fenêtre de login à l'allumage du PC. Cela rend Linux un peu plus convivial que l'on aurait pu le penser auparavant.
Pour la suite, je considère que votre système fonctionne correctement, et qu'X-Window est correctement configuré. Vous avez aussi configuré votre système pour qu'XDM se lance automatiquement avec le run state par défaut à 5 [NdR: man runlevel]. Maintenant vous voulez donc configurer votre fenêtre de login personnelle pour que certaines applications se lancent juste après que vous vous loguiez.
Au travail, j'aime me déloguer du système chaque soir avant de rentrer, comme cela d'autres peuvent se logger quand je ne suis pas là. Cela n'arrive pas souvent, mais je ne veux pas que quelqu'un rentre dans mon bureau et utilise ma session à ma place. Vous ne savez jamais quand quelqu'un devient curieux et regarde par exemple les courriers électroniques sauvegardés. Le problème est : je veux que certaines applications se lancent automatiquement, comme ma liste de choses à faire, et mon programme de calendrier.
Dans cet article, je vais expliquer comment se déroule une session X-Window, comment elle commence, et comment la configurer. Cela va vous montrer comment lancer automatiquement le gestionnaire de fenêtres (Window Manager) de votre choix, comment lancer automatiquement des applications, et configurer les couleurs et les fontes comme vous voulez. Depuis que X-Window est quasiment identique sur les differentes plateformes, beaucoup de ce que je vais décrire fonctionnera sur d'autres version qu'XFree86 sur Linux. D'une manière pratique, je ferai quelques comparaisons entre les version XFree86 qui proviennent de la RedHat 5.x et celles qui proviennent d'IRIX Silicon Graphics. Vous pourrez noter que les fichiers dont je parle ont le même nom mais ne se situent pas dans les mêmes répertoires.
Je me rend compte que d'autres articles ont été écrits sur le sujet à propos de la configuration d'X-Window, comme par exemple l'excellent article de Jay Ts dans le numéro de décembre 1998 intitulé "L'administration système d'X-Window". X-Window est un environement graphique extrèmement souple et, à cause de cela, peut être réllement très complexe. Pour cette raison, je crois que cela nécessite différents articles qui se chevauchent, mais qui procurent chacun des perspectives différentes. Cet article est déstiné à se placer d'un point de vue utilisateur, plutôt que d'un point de vue administrateur.
Pour éviter à cet article de devenir un livre, je pars du principe que :
/etc/X11/xdm
N'ayant pas d'autre distribution que la RedHat, je suppose que leur
configuration par défaut est la même ou assez simmilaire pour ne pas
causer de problèmes. Gardant cela à l'esprit, je me référerai aux
fichiers utilisés et référencés par xdm (et leur contenu) comme
spécifiés dans le fichier de configuration. Notons toutefois que ces
fichiers peuvent être modifiés en changeant
/etc/X11/xdm/xdm-config
ou en spécifiant d'autres fichiers sur
la ligne de commande lançant xdm. Sur SGI, le fichier de
configuration est /var/X11/xdm/xdm-config
et j'ai vu que
quelques installations utilisaient
/usr/lib/X11/xdm/xdm-config
.
id:3:initdefault:
par celle-ci :
id:5:initdefault:
dans le fichier /etc/inittab
La RedHat 6.0 utilise gdm. Lequel est lancé à la fin de
/etc/inittab
, avec la ligne :
x:5:respawn:/etc/X11/prefdm -nodaemon
Pour lancer xdm il suffit de la changer par
:5:respawn:/usr/bin/X11/xdm -nodaemon
Quand le serveur X est automatiquement lancé par xdm, l'utilisateur est accueilli par un écran de login. Quand un utilisateur s'est logué via cet écran, xdm lance la session utilisateur. Cette session est un shell script qui, une fois fini, termine la session utilisateur avant qu'xdm ne réinitialise le serveur X pour revenir à l'écran de login.
Avant de lancer la session, xdm lance un petit script avec les
privilèges root pour effectuer les quelques initialisations qui peuvent
être requises. Couramment, ce fichier,
/etc/X11/xdm/GiveConsole
, change le propriétaire de
/dev/console
pour que l'utilisateur puisse voir les
messages envoyés. De la même manière, quand la session se termine, xdm
lance un autre petit script de sortie avec les privilèges root pour
effacer tout ce qui aurait été installé par le script de
lancement. Courament ce script, /etc/X11/xdm/TakeConsole
,
change le propriétaire de /dev/console
pour root.
Notez que ces 2 fichiers sont /var/X11/xdm/GiveConsole
et
/var/X11/xdm/TakeConsole
sur SGI.
Le sujet de cet article est le lancement de la session de
l'utilisateur. Ici xdm lance un sous-processus en lançant le
script /etc/X11/xdm/Xsession
(/var/X11/xdm/Xsession
sur SGI) et attend sa fin pour sortir. Quand il sort, xdm lance le
sous-processus de sortie et retourne à l'écran de login. Ce script
de session est lancé avec les privilèges utilisateur.
Une ressource a été instituée qui provoque le passage du paramètre "failsafe" à la session de l'utilisateur si celui-ci utilise la touche F1 au lieu de la touche Enter pour se loguer. Cela peut être très utile si l'utisateur fait une erreur dans son script de session qui rend impossible le login. Coment peut-on prendre avantage de cette possibilité est expliquée plus bas. Il faut noter que j'ai trouvé cette ressource définie sous Linux et sous SGI et qu'elle est utilisée de la même manière sur les deux systèmes.
Le fichier /etc/X11/xdm/Xsession
fourni par RedHat est très
simple, spécialement quand on le compare au
/var/X11/xdm/Xsession
fourni par SGI. Ce fichier est un shell
script standard bash qui exécute tout les lancements et les
initialisations que l'administrateur système veut effectuer pour tout
les utilisateurs.
Comme décrit plus haut, si l'utilisateur se logue et tape la touche F1
à la place de Enter, le paramètre "failsafe" est passé au fichier
session. La première chose que le fichier
/etc/X11/xdm/Xsession
fait est de vérifier si ce paramètre
existe et s'il existe, de lancer un xterm. Ceci se passe avant toute
autre initialisation et offre à l'utilisateur un terminal sur lequel
il peut travailler. Noter que c'est une bonne méthode pour un
utilisateur qui a fait une erreur en modifiant son propre fichier de session
, ce qui l'empêche de se loguer.
Pour ceux qui ne comprennent pas la fonction de exec
, c'est
une commande standard offertes par la majorité des interpréteurs de
commande en ligne (shells). Elle provoque l'éxecution du programme en
lieu et place du shell. De cette facon, le shell ne reprend jamais la
main (à moins que le programme ne se lance pas à cause d'un problème
quelconque) et le processus parent n'est pas avertis des changement
effectués dans les processus enfants. Le programme exec retient l'ID
du processus du shell et lorsqu'il se termine, cela se passe comme si
le shell et la session utilisateur étaient terminée. Pensant que
failsafe n'est pas un paramètre passé à Xsession, le script continue
en redirigeant stderr
vers un fichier erreur. Si il peut écrire dans
celui-ci, ce fichier utilisera .xsession-errors
dans le repertoire
/home
de l'utilisateur. Si Xsession ne peut pas écrire dans le
répertoire de l'utilisateur, ou que ce fichier est protégé en écriture
pour une raison quelconque, le script tentera d'écrire sur
/tmp/xses-$USER
, ou $USER
est le nom de login de
l'utilisateur.
Ce fichier d'erreur est trés utile pour déterminer les problèmes durant la session de l'utilisateur. Toutes les erreurs générées par les application qui sont lancées (incluant le gestionnaire de fenêtre et les applications lancées par celui-ci) seront envoyées dans ce fichier. Si l'utilisateur a des problèmes en lancant une session après s'être logué, il peut effectuer un login "failsafe" (comme décrit plus haut) et regarder dans ce fichier. Les messages d'erreurs peuvent être utile pour déterminer le problème.
Enfin, le fichier standard Xsession donne la main à un ensemble de scripts shell, pour peu qu'ils existent et soient exécutables. Cela est effectué via la commande exec, qui , quelque soit le programme lancé, prend la main sur Xsession, et devient la nouvelle session de l'utilisateur. Les scripts shell sont :
Quelques points sont intéressants à remarquer en comparant les scripts
utilisés sur n'importe quel ordinateur SGI. SGI ne requiert pas que
les scripts soient éxécutables et lancera /bin/sh
sur eux s'ils ne
le sont pas. De même, SGI regarde seulement $HOME/.xsession
. Si ce
fichier n'existe pas, le fichier Xsession fournit par SGI par défaut
sera considéré comme l'environnement utilisateur. RedHat a choisit de
scinder le processus de session en deux et donc l'installation
standard fournit aussi /etc/X11/xinit/Xclients
.
Si aucun des trois fichiers mentionnés au dessus n'existe (ou n'est exécutable), alors le fichier .Xresources est chargé (s'il existe) et le programme xsm est lancé. xsm est l'un des nombreux gestionnaires de fenêtres fournis par RedHat.
Comme vous devez l'avoir deviné dans l'explication du fichier système Xsession, l'utilisateur peut créer son propre shell script qui sera lancé comme la session utilisateur. C'est une propriété très puissante et qui fournit à chaque utilisateur la possibilité d'effectuer n'importe quelle tâche qu'il désire à chaque fois qu'il se logue via X. Dans ce script, l'utilisateur peut lancer des applications diverses, configurer les ressources de la fenêtre root, définir des variables d'environnement, changer la definition du clavier et choisir un gestionnaire de fenêtre.
La manière la plus simple de définir votre fichier Xsession personnel
est de copier le fichier système /etc/X11/xinit/Xclients
dans
votre repertoire $HOME sous le nom .xsession ou .Xclients (qu'au futur,
je nommerais le fichier Xsession utilisateur) puis l'éditer comme vous
le souhaitez. Je n'irai pas trop loin dans le contenu du fichier
/etc/X11/xinit/Xclient
, vous pourrez regarder par vous
même. J'expliquerai juste quelques trucs que vous voudriez peut-être
faire.
La chose la plus importante est de charger les ressources desirées dans la fenêtre root. C'est généralement effectué par les commandes suivantes :
resources=$HOME/.Xresources if [-f "$resources"]; then /usr/bin/X11/xrdb -load "$resources" fi
Une autre chose que l'utilisateur peut vouloir est de changer le
fond d'écran. Cela peut-être effectué par la commande
/usr/bin/X11/xsetroot
. Par exemple, mon fond d'écran est
défini comme tel: /usr/bin/X11/xsetroot -solid DarkSeaGreen4
.
Noter que cette commande peut aussi être utilisée pour configurer le curseur par défaut, et la couleur du curseur pour la fenêtre root, un motif deux-tons pour le fond d'écran ou un bitmap X pouvant être utilisé.
Il existe aussi la commande /usr/bin/X11/xset
qui peut
être utilisée pour définir le volume du buzzer, les touches, la
sauvegarde d'énergie et les paramètres de la souris. Par exemple,
j'aime être capable d'accéder au jeu de caractère complet ISO 8859-1
et insérer des caractères internationaux dans mes documents. Linux
aime définir [Shift]F1 comme F11 et [Shift]F2 comme F12, je préfère
le définir comme F13 et F14. Pour régler ceci, j'ai défini
$HOME/.xmodmaprc qui contient:
keycode 113 = Multi_key keysym F1 = F1 F13 keysym F2 = F2 F14 keysym F3 = F3 F15 keysym F4 = F4 F16 ... keysym F10 = F10 F22 keycode 95 = F11 F23 keycode 96 = F12 F24
Puis dans mon fichier $HOME/.xsession
j'ajoute :
if[ -r $HOME/.xmodmaprc]; then /usr/bin/X11/xmodmap $HOME/.xmodmaprc fi
Enfin, le plus important est de lancer un gestionnaire de fenêtre. RedHat préfère lancer fvwm car il peut être configuré pour ressembler à Windows 95. Depuis que j'utilise beaucoup des stations SGI, je préfère Motif (qui est payant et n'est pas livré avec les distributions Linux courantes). Il existe aussi xsm et twm. Vous voudrez peut-être consulter les man pages pour déterminer lequel vous préférez.
S'il le veut, l'utilisateur peut éxécuter le gestionnaire de fenêtre comme la dernière commande dans le fichier Xsession. Cela signifie que l'utilisateur doit fermer le gestionnaire de fenètre pour fermer la session et retourner sur l'écran de login. Je préfère lancer le gestionnaire de fenètre comme un processus de fond et éxécuter un xterm en dernier. De cette façon, quand je quitte la session xterm, la session de l'utilisateur va se terminer et l'écran de login va apparaitre. Notez que le gestionnaire de fenêtre et toutes les application en dépendant vont être fermés car le DISPLAY X va être fermé. Toute application non X lancée comme un processus ne sera pas terminée et continuera à s'executer après la fin de la session de l'utilisateur.
Je commence ma session Motif par /usr/bin/X11/mwm
et
je lance xterm par nxterm -geometry 80x50+10+10 -ls
.
Ceci crée une version de xterm qui supporte la couleur. Elle sera de 80 colonnes sur 50 lignes. La fenêtre sera positionnée dans le coin en haut à gauche de l'écran. La dernière commande oblige a lancer le shell en temps que login shell.
A partir du fichier Xsession de l'utilisateur, vous pouvez lancer un certain nombre de xterm, xlock ou autre, qui seront lancés automatiquement au login. Soyez sûr de spécifier un environnement avec -geometry pour avoir vos applications positionnées sur l'écran où vous le voulez.
Souvenez vous aussi de lancer les applications en tâches de fond (en terminant la ligne avec '&'), sinon le fichier Xsession attendra la fin de la tâche avant de continuer.
Je voulais vous parler ici de quelques astuces importantes qui peuvent être utilisées a partir du fichier de configuration Xsession.
Tous les gestionnaires de fenêtre peuvent éxécuter des programmes provenant d'un menu déroulant. Quelquefois ces programmes ont besoin de variables d'environnement spéciales definie avant leur éxécution (par exemple, Netscape peut avoir besoin de SOCKS_NS). Comme les variables d'environnement de l'utilisateurs ne sont pas obligatoirement configurées tant qu'un shell n'est pas lancé, le gestionnaire de fenêtres et tous les programmes lancés par lui n'auront pas de variables d'environnement définie. Essayer de les configurer dans $HOME/.cshrc, $HOME/.profile ou $HOME/.login n'y fera rien.
Une astuce est de définir ces variables d'environnements dans le fichier Xsession. En effet il est nécessaire de configurer ces variables d'environnement avent de lancer votre gestionnaire de fenêtres.
Une autre astuce comme je les aime est de definir
XUSERFILESEARCHPATH dans mon fichier Xsession. Beaucoup d'application
y regardent et utilisent un fichier de ressources
d'application. souvent trouvé dans
/usr/lib/X11/app-defaults
. Par example, Netscape utilise le
fichier /usr/lib/X11/app-defaults/Netscape pour la configuration de
ses ressources d'application. Si vous décider de changer n'importe
laquelle de ces variables pour votre environnement personnel, vous
pouvez copier ces fichiers dans votre répertoire home et les
modifier. La prochaine fois que vous lancerez Netscape, il trouvera
d'abord celui situé dans votre répertoire et l'utilisera de préférence
à celui par défaut.
J'ai trouvé mon répertoire home submergé par des fichiers de
configuration et j'ai eu envie de les mettre dans mon propre
app-defaults privé. Je l'ai fait en créant un répertoire et en y
copiant tout les fichiers de configurations. Ensuite, j'ai défini
XUSERFILESEARCHPATH comme
/home/carlson/app-defaults/%N:/usr/lbi/X11/%L/app-defaults/%N:/usr/lib/X11/a
Cela fait chercher les fichiers dans
/home/carlson/app-defaults
avant d'aller dans le répertoire
default : /usr/lib/X11
.
Une dernière astuce pour ceux qui ont plusieurs ordinateurs qui fonctionnent tous sous X. Chez moi j'ai une station O2 et une machine sous Linux. Quand je me logue à distance sur mon O2, je suis capable de lancer des applications X et de les utiliser sur le DISPLAY de ma machine linux. Pour cela, je dois lancer xhost chaque fois que je me logue sur ma machine linux, pour permettre le login à distance vers l'O2.
Dans mon fichier Xsession Utilisateur, j'ai donc:
/usr/bin/X11/xhost +moonlight
Ceci configure mon serveur X Linux pour autoriser l'accès de moonlight, le nom de mon O2.
J'espère que vous avez trouvé ces informations utiles et interessantes. J'ai essayé de montrer comment créer votre propre fichier utilisateur Xsession pour lancer des applications, configurer des variables d'environnements et lancer votre propre gestionnaire de fenêtres. Je suis sûr que vous aurez bien d'autres idées.
J'ai écrit un utilitaire très utile, appelé userenv
, inspiré
d'une application similaire sur SGI. Cette application crée un shell
de login comme un fils et affiche son environnement. Cet
environnement est collecté, et est envoyé sur sdtout dans une forme
qui peut être executée pour créer le même environnement que le shell.
Dans mon fichier Xsession Utilisateur, j'ai la ligne suivante :
eval 'userenv'
Celle-ci récupère mon environnement utilisateur et le stocke dans une forme réutilisable par le shell pour recréer le même environnement. La commande eval fait évaluer le resultat de userenv par le shell.
Vous êtes les bienvenus pour récuperer une copie des sources de ce programme sur mon site Web, http://member.home.net/cwcarlson/files./utilities.tar.gz
Xdm est vraiment cool. C'est l'ancienne manière de realiser les choses. Je recommande d'essayer gdm ou un autre. Pour xdm, je donne un B-. Il manque juste ce que j'ai toujours voulu, pour m'apercevoir que gdm les avaient !!! J'expliquerai gdm la prochaine fois. Gdm a la capacité de vous laisser le choix du Gestionnaire de fichier au login. Je donne a gdm un B+, qui se transformera en A s'il devient mieux documenté.
/etc/X11/xdm/Xsetup_0 /etc/X11/xdm/Xresources /etc/X11/xdm/GiveConsole /etc/rc.d/rc.change_graphic /etc/rc.d/rc.local /etc/inittab
Pour la suite, je veux changer xdm pour avoir xeyes, santa, xclock, une image, et le choix de l'écran de fond à l'écran avant de se logger. Après le log, je veux que santa s'arrète. Cruel non ?
Bon, faisons cela dans les règles:
/etc/rc.d/rc.change_graphic
. Il change l'image qui apparait à
l'écran. Les images sont stockées dans /etc/X11/xdm/graphics comme des
fichiers GIF.
/etc/X11/xdm/KillXSnow
. Il tue santa. Santa ralentit l'affichage.
/etc/X11/xdm/Xsetup_0
Ce sont les programmes à lancer avec l'écran de login graphique.
/etc/X11/xdm/Xresources
. Voici a quoi doit ressembler le
setup d'xdm.
/etc/X11/xdm/Giveconsole
.
Les choses a executer avant qu' X-Window prenne la main. On change
aussi l'image de fond.
/etc/rc.d/rc.local
. Assurez-vous
que vous obtenez une image lors du boot.
/etc/X11/xdm/graphics
et lancez cette commande :
tar -C / -zvvf xdm.tgz
. Ce sont juste quelques images que j'utilise.
Voici donc mes fichiers de configuration :
/etc/rc.d/rc.change_graphics
et lancer la commande chmod 755 /etc/rc.d/rc.change_graphic
après la copie.
#!/usr/bin/perl @Files = < /etc/X11/xdm/graphics/*.gif>; #print @Files; $Length = @Files; $Seconds = `date +%S`; chomp $Second; $Frac = $Seconds/60; if (!($Frac > 0)) {$Frac=1} $Random = $Frac*$Length; ($Random,$Junk) = split(/\./, $Random,2); if (($Random < 1) || ($Random > $Length -1)) {$Random = 1} $File = $Files[$Random]; $Rand2 = rand $Length; ($Rand2,$Junk) = split(/\./, $Rand2,2); $Random = $Random + $Rand2; if ($Random > $Length - 1) {$Random = $Random - $Length + 1;} #print "$Length $Random $File\n"; if (-e "/etc/X11/xdm/xdm_front.gif") {system "rm /etc/X11/xdm/xdm_front.gif"} if (@Files < 1) { ## Les différents message d'erreur devraient se trouver ici. } else {system "ln -s $File /etc/X11/xdm/xdm_front.gif";}
/etc/X11/xdm/KillXsnow
.
Lanez la commande chmod 755 /etc/X11/xdm/KillXsnow
après la copie.
#!/usr/bin/perl ### J'ai du ajouter l'option -a option entre RH 5.2 and 6.0 @Temp = `cd /proc; grep -a ^/usr/X11R6/bin/xsnow /proc/[0-9]*/cmdline`; if (@Temp > 0) { $Xsnow = shift @Temp; ($Junk,$ProcJunk,$No,$RestOfJunk) = split(?/?,$Xsnow); ## Je suis vraiment paranoîaque et je veux tuer le bon processus. if (($No > 0) && ($Xsnow =~ ?^/proc/$No/cmdline:/usr/X11R6/bin/xsnow?)) { # system "echo \"Killing pid $No for Xsnow.\n\" > /tmp/1.txt\n"; system "kill $No"; } }
/etc/X11/xdm/Xsetup_0
.
Lancer la commandechmod 755 /etc/X11/xdm/Xsetup_0
après la copie.
#!/bin/sh # $XConsortium: Xsetup_0,v 1.3 93/09/28 14:30:31 gildea Exp $ /usr/X11R6/bin/xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail #/usr/X11R6/bin/xbanner ### Santa et snowflakes ### Sur certaines installations, il manque xsnow pour une raison inconnue. /usr/X11R6/bin/xsnow -snowflakes 50 -santa 2 -unsmooth & ### Charge un image au hasard /usr/bin/X11/xloadimage -onroot -at 1,210 /etc/X11/xdm/xdm_front.gif -border brown & ### Une horloge comme l'on voudrait en voir /usr/X11R6/bin/xclock -digital -update 1 -fn -adobe-times-medium-i-normal--34-240-100-100-p-168-iso8859-1 -geometry +410+1 & ### Maintenant lançon Xeyes /usr/X11R6/bin/xeyes -geometry +410+100 &
/etc/X11/xdm/Xresources
.
Lancez la commande chmod 755 /etc/X11/xdm/Xresources
après la copie.
! $XConsortium: Xresources /main/8 1996/11/11 09:24:46 swick $ xlogin*login.translations: #override\ Ctrl-R: abort-display()\n\ F1: set-session-argument(failsafe) finish-field()\n\ Ctrl-Return: set-session-argument(failsafe) finish-field()\n\ Return: set-session-argument() finish-field() xlogin*borderWidth: 3 xlogin*geometry: 400x200+1+1 xlogin*greeting: CLIENTHOST xlogin*namePrompt: login:\040 xlogin*fail: Login incorrect #ifdef COLOR xlogin*greetColor: CadetBlue xlogin*failColor: red *Foreground: black *Background: #fffff0 #else xlogin*Foreground: black xlogin*Background: white #endif XConsole.text.geometry: 480x130 XConsole.verbose: true XConsole*iconic: true XConsole*font: fixed Chooser*geometry: 700x500+100+100 Chooser*allowShellResize: false Chooser*viewport.forceBars: true Chooser*label.font: *-new century schoolbook-bold-i-normal-*-240-* Chooser*label.label: XDMCP Host Menu from CLIENTHOST Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1 Chooser*Command.font: *-new century schoolbook-bold-r-normal-*-180-*
/etc/X11/xdm/GiveConsole
.
Tout ce que vous avez à faire est d'ajouter /etc/X11/xdm/KillXsnow &
comme première commande du fichier
Le mien ressemble a cela.
#!/bin/sh # Assign ownership of the console to the invoking user # $XConsortium: GiveConsole,v 1.2 93/09/28 14:29:20 gildea Exp $ # By convention, both xconsole and xterm -C check that the # console is owned by the invoking user and is readable before attaching # the console output. This way a random user can invoke xterm -C without # causing serious grief. /etc/rc.d/rc.change_graphic /etc/X11/xdm/KillXsnow & chown $USER /dev/console /usr/X11R6/bin/sessreg -a -w "/var/log/wtmp" -u "/var/run/utmp" \ -x "/etc/X11/xdm/Xservers" -l $DISPLAY -h "" $USER
/etc/rc.d/rc.local
. Ajouter ceci au fichier /etc/rc.d.rc.local
/etc/rc.d/rc.change_graphic
Articles parus dans le numéro 43 de la Linux Gazette, juin 1999.
Version Francaise et adaptation: David Le Roy david.leroy@univ-reims.fr
.