L'environnement graphique de Linux Une alternative à Windows Florence HENRY florence.henry@obspm.fr.
Fonctionnement de l'interface graphique
Fonctionnement de l'interface graphique À l'origine, les systèmes Unix n'étaient pas dotés d'une interface graphique, mais seulement d'une console texte (on peut encore y accéder avec la combinaison de touche Ctrl+Alt+F1,F2 F6). L'interface graphique est rajoutée sur un système Unix par le biais d'un serveur. Sous Linux, ce serveur s'appelle Xfree, aussi appelé serveur X. Un serveur X tourne sur l'ordinateur. Un utilisateur se connecte grâce à un gestionnaire de connection (xdm, gdm, kdm, mdkkdm). Le gestionnaire de fenêtre (window manager) gère la manipulation et l'apparence des fenêtres. Un environnement de bureau (KDE, Gnome) peut être utilisé en plus, pour pouvoir utiliser les barres des tâches et les icônes sur le bureau.
Les consoles virtuelles Sur un même ordinateur, Linux permet d'avoir plusieurs consoles. Les 6 consoles en mode texte sont accessibles par les combinaisons de touche Ctrl+Alt+F1, Ctrl+Alt+F2,, Ctrl+Alt+F6. Les consoles suivantes sont réservées au mode graphique et sont accessibles par Ctrl+Alt+F7,... On peut donc faire trourner plusieurs serveurs X sur la même machine.
Le serveur X Sa configuration se fait lors de l'installation de Linux, et ce serveur est lancé automatiquement au démarrage de la machine. Les informations sont stockées dans le fichier /etc/xf86config ou /etc/x11/xf86config. C'est ce fichier qu'il faut éditer si l'on veut optimiser son serveur X. Après édition, il faut redémarrer le serveur X : soit avec la combinaison de touches Ctrl+Alt+Backspace soit en récuperant le numéro de processus du serveur X, et en tuant ce processus avec kill. Conseil : toujours faire une copie de sauvegarde du fichier XF86Config que l'on veut modifier.
Le serveur X : en cas de problème Aïe! Vous avez fait une modification dans XF86Config et le serveur X refuse de redémarrer. 1er cas : vous aviez fait une copie de sauvegarde de XF86Config. Renommez donc XF86Config (celui qui ne marche pas) en XF86Config.bad et celui qui marche XF86Config.old en XF86Config. Vous pouvez alors redémarrer le serveur X. 2ème cas : vous n'avez pas fait de copie de sauvegarde. Vous êtes obligé de trouver l'erreur et de la corriger en mode console. Dans tous les cas, il faut aller voir les messages d'erreur du serveur X. Ils se situent à la fin du fichier /var/log/xfree86.0.log. Cela permet de savoir si vous avez juste fait une erreur dans la syntaxe du fichier ou si vous avez fait une configuration que la carte vidéo ne peut pas supporter.
Démarrage du serveur X 2 méthodes : startx : démarre une session X en exécutant le contenu du fichier ~/.xsession de l'utilisateur qui tape cette commande depuis une console texte (aucun serveur X ne doit tourner à ce moment-là). Le serveur X s'arrête lorsque l'utilisateur se déconnecte de sa session X. gestionnaire de connection : démarre le serveur X en mode daemon. Les utilisateurs se connectent alors via l'interface graphique, et le serveur ne s'arrête pas lorsqu'un utilisateur se déconnecte. Par défaut, c'est la méthode du gestionnaire de connection qui est employée.
Le gestionnaire de connection Il sert à se connecter à un serveur X distant ou local. Le choix entre xdm (celui de Xfree), kdm (celui de KDE), gdm (celui de gnome) ou mdkkdm (celui de Mandrake) est une affaire de goût, et se fait : soit par le centre de contôle de Mandrake, dans l'onglet Matériel, puis Choix du gestionnaire de connection. soit dans le fichier /etc/sysconfig/desktop, préciser DISPLAYMANAGER=GDM, ou DISPLAYMANAGER=KDM ou DISPLAYMANAGER=XDM.
Les différents gestionnaires de connection xdm kdm gdm
Le rôle des gestionnaires de connection démarrer une session X exécuter un gestionnaire de fenêtres ou de bureaux par le biais d'un menu (sauf xdm) en excécutant le contenu du fichier ~/.xsession
Que fait un gestionnaire de connection? Au lancement, il exécute le script Xsetup (en tant que root) L'invite de login s'affiche alors et il ne se passe plus rien tant que personne ne vient se connecter. Lorsque quelqu'un se connecte, le script GiveConsole ou Startup est exécuté, (toujours en root). puis Xsession, sous le nom de l'utilisateur qui se connecte. C'est ce script qui va lancer le gestionnaire de fenêtres ou de bureaux. Lorsque l'utilisateur quitte la session, le script TakeConsole ou Xreset est exécuté (en root), puis on recommence la boucle avec Xsetup. Ce mécanisme permet d'exécuter des programmes divers lorsque personne n'est connecté sur la machine en mode graphique.
Leurs fichiers de configuration xdm : ils sont situés dans le répertoire /etc/x11/xdm/ Xsetup_0, GiveConsole, TakeConsole kdm : dans le répertoire /usr/x11r6/share/config/kdm/ Xsetup, Xstartup, Xreset gdm : dans le répertoire /etc/x11/gdm/ Init/Default, PreSession/Default, PostSession/Default Le fichier /etc/x11/xsession est commun à tous les gestionnaires de connection.
Les gestionnaires de fenêtres Ils contrôlent l'apparence des fenêtres : bordures, titre, poignées, ascenseurs,... Ils déterminent la fenêtre active (celle qui a le focus) Ils permettent d'agrandir, de rétrécir et de déplacer les fenˆtres Ils permettent d'icônifier et de déicônifier les fenêtres Ils gèrent les menus d'applications accessibles par un clic de souris sur le bureau Il en existe une multitude, dont Windowmaker, Enlightenment, Icewm, ou Fvwm2.
Windowmaker
Windowmaker Site web : http://www.windowmaker.org Outils de configuration : WPrefs ou wmakerconf Fichiers de configuration : ~/GNUstep/Defaults Particularités : Dock Clip : Attache les icônes d'application sur tous les bureaux : Attache les icônes d'application pour un bureau donné
Enlightenment
IceWm
Fvwm2
Enlightenment Icewm Fvwm2 Enlightenment : Site web : http://www.enlightenment.org Outil de configuration : e-conf. (configuration "à la main" beaucoup trop compliquée). Icewm : Site web : http://www.icewm.org Fichiers de configuration : répertoire ~/.icewm/ Fvwm2 : Site web : http://www.fvwm.org Outils de configuration par les menus. Fichiers de configuration : ~/.fvwm2rc et répertoire ~/.fvwm/
Les gestionnaires de bureaux Beaucoup plus lourds (CPU) que les simples gestionnaires de fenêtres, ils ont également plus de possibilités. contiennent leur propre gestionnaire de fenêtres Barre des tâches qui contient (comme sous Windows) les menus pour lancer les applications les fenêtres miniaturisées des icônes de lancement d'applications Notion de Bureau similaire à Windows ou MacOs : possibilité de déposer des fichiers, des répertoires ou des icônes d'applications. Interface avec la configuration de l'ordinateur. 2 gestionnaires de bureaux concurrents : KDE et Gnome.
KDE
Gnome
Les ressources : le fichier.xdefaults Quel que soit le gestionnaire de fenêtres ou de bureau employé, chaque application est gérée en plus par des ressources. Les ressources standard. Elles peuvent s'appliquer à toutes les applications : font, geometry (la position et la taille de la fenêtre), background (la couleur de fond de la fenêtre), borderwidth (la taille en pixels du contour des fenêtres),... Les ressources des applications. En plus des ressources standard, les programmeurs définissent des ressources propres à leurs applications. Les pages man de chaque application contiennent les valeurs par défaut. Les ressources propres à chaque utilisateur sont dans le fichier.xdefaults, sous la forme : application.ressource1 : valeura application.ressource2 : valeurb
La bureautique
Les logiciels disponibles Navigateur web : Netscape, Mozilla, Konqueror, Nautilus, Opera Lecteurs de mail : Kmail, Balsa Traitement de textes : kword, swrite, sletter Tableurs : kspread, kchart, scalc Éditeur de formules : kformula, smath Dessin vectoriel : kontour, karbon14, sdraw, xfig, sodipodi Dessin bitmap : gimp Présentation : kpresenter, simpress Création de pages web : sweb
Les logiciels éducatifs et scientifiques
Le projet Kdeedu Mathématiques kgeo : tracer des figures géométriques kmplot : tracer des fonctions Physique/Chimie kalzium : table de classification périodique Astronomie kstars : planétarium
Autres logiciels La quasi totalité des logiciels professionnels scientifiques ont une version Linux : IDL, Matlab, Midas, Iraf. Xephem : calcul d'éphémérides, traitement d'image astronomiques OpenUniverse : navigation dans le système solaire