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 : Attache les icônes d'application sur tous les bureaux Clip : 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.
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.
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