Sommaire Index Rechercher Liens A Propos
[Image LinuxFocus]
[Navigation]
Infos Archives

Par la fenêtre

José Manuel Laveda Molina


Préambule

Linux a t-il besoin d'un GUI standard ?

KDE (L'environnement de bureau K)

Windowmaker & afterstep

Gnome. impossible :(.

Epilogue.

Annexe: lesstif, le grand oublié ?

Préambule

J'ai rassemblé dans cette contribution une partie de mes notes personnelles à propos de divers gestionnaires de fenêtre (WM Window Manager en anglais) que j'ai essayés. Ne les considérez que comme des idées générales ou de simples commentaires qui, je l'espère vous seront utiles.

Chaque WM a choisi différents, outils graphiques, langage, etc. (Parfois un mélange étrange comme nous le verrons). Aussi, le lecteur doit être prévenu qu'une comparaison réelle et objective des différent WM est impossible. L'état de l'art en matière d'outils graphiques, temps de développement, quantité de développeurs et participants ainsi que beaucoup d'autres facteurs affectent la décision quant au "meilleur", les lecteurs doivent prendre ce facteur en compte.

D'un autre coté, il existe toujours une certaine subjectivité due aux goûts et préférences personnelles. J'essayerai d'être aussi neutre que possible en gardant à l'esprit ce qui vient d'être dit.

D'abord, voici le script qui me permet d'utiliser deux gestionnaires de fenêtres. Ils se sont avérés utiles pour changer rapidement de bureau (merci M. Soriano :)).

Fichier /usr/local/flin:

#! /bin/sh
export WM=after
if [ $# = 0 ]; then
        exec startx -- -bpp 16 :0
else
        if [ $1 = 'dual' ]; then
      export WM=after
      exec startx -- -bpp 16 :0 &
      sleep 5
      export WM=kde
      exec startx -- :1 &
        fi
        if [ $1 = 'kde' ];then
      export WM=kde
      exec startx -- -bpp 16 :0
        fi

fi      

Mon $HOME/.XClients:

#! /bin/bash
#
# Styx's .xinitrc
#
####################################

exec 2>$HOME/xinit.error.log

echo "Parameter 1 $1 " >&2

sysresources=$HOME/.Xdefaults

# merge in defaults and keymaps

if [ -f $sysresources ]; then
         xrdb -merge $sysresources
fi

# You may at this point start your personal applications.
# e.g xscreensaver

# xscreensaver -timeout 2 -cycle 1 &

xmodmap ~/resources/X11/Mapeo.es

xhost +

# Agenda planifier

if [ -f /usr/local/lib/pland ]; then
         /usr/local/lib/pland &
fi

if [ $WM = "kde" ]; then
        exec startkde -display :1
else 
exec afterstep -display :0
fi 

Avec cette configuration je peux taper:

  • $ flin    /*AfterStep*/
  • $ flin kde    /*KDE*/
  • $ flin dual    /*AfterStep & KDE*/

Beaucoup d'Outils Graphiques et de Bibliothèques.

La première chose qui pourrait troubler l'utilisateur est la variété d'outils graphiques ou autres utilisés dans chaque gestionnaire de fenêtres (ou GUI), chacun d'eux est protégé par une sorte de licence du domaine public, GPL/LGPL ou similaire et qui permettent leur usage gratuitement.

A mon avis, ceci pose un problème à l'utilisateur qui veut seulement n'en utiliser qu'un. Il doit faire attention aux compléments nécessaires. Dans tous les cas, la documentation et les pages web de chaque projet fournissent des informations complètes.

Linux a t-il besoin d'un GUI Standard?

Cette question peut paraître stupide, et pour beaucoup d'utilisateurs la réponse est simple : " Utiliser celui qui vous plaît le plus ", mais pour le reste c'est un point important qui concerne les évolutions futures de Linux.

L'objectif est d'obtenir un GUI facile à utiliser, intuitif avec une aide en ligne puissante, une intégration totale des différentes applications et d'autres caractéristiques qui rendent notre travail journalier avec le système, plus facile. De plus tout doit être fait avec la souris et intégré dans l'administration et l'installation du système d'exploitation sur l'ordinateur.

Quelques sociétés ont commencé à travailler sur ce type de produits, ainsi : Caldera GUI inclus dans la distribution Linux Caldera, Red Hat CDE pour LINUX. Par chance, la communauté Linux comprend des gens de valeur dont beaucoup sont impliqués activement dans le développement de nouveau logiciel. Il y a donc des alternatives gratuites à ces logiciels commerciaux. Certaines d'entre elle sont décrites ici.

Bien sur, l'utilisateur doit avoir la liberté de choisir, mais avec un bon GUI natif sur Linux, on arrêterait d'entendre la vieille phrase " Linux n'est pas aussi beau que ... " NOTE: Quelqu'un a t-il jamais vu une machine fonctionnant avec un GUI Linux et comment se fait il que les gens ne savent pas que ce n'est pas Microsoft Windows ?

Il faut noter que les standard rendent le travail des programmeurs plus facile, ils pourraient savoir comment le gestionnaire de fenêtres et les applications interagissent. Beaucoup d'environnement d'applications dépendent fortement sur le gestionnaire de fenêtres (ceci est un peu compliqué, mais le lecteur le trouvera plus facile à comprendre).

Une façon de résumer ceci pourrait être de dire que " la polémique vient juste de commencer ".

KDE (L' Environment de bureau K)

Mes premiers pas avec ce logiciel ne furent pas faciles. J'ai du installer la bibliothèque QT. Puis j'ai téléchargé la version Beta2 de KDE en format rpm (j'utilise la RedHat 4.2). Le bureau ne fonctionnait pas, j'ai donc du installer la mise à jour Beta3 à partir des sources que j'avais téléchargés et compilés sur mon Intel Pentium 133 (avec 32 Mb de RAM). La nouvelle version Bêta marche très bien. Les sources des bibliothèques et du bureau KDE sont disponibles dans les trois formats rpm, ".tar " et " .deb ".

Après avoir déclaré les variables d'environnement et quelques "configure;make;make install" la première impression laissée par l'environnement est excellente. Nous avons un GUI d'aspect commercial et je ne peux que conseiller au lecteur de ne pas être timide et de " surfer ". En peu de temps, on se familiarise avec les outils du bureau et il est facile de personnaliser KDE sans problèmes. L'aspect général et le comportement de KDE peuvent être configurés avec un style de bureau Windows 95 ou Motif, coloré comme CDE, KDE, etc., ou même utiliser des palettes spécifiques de votre choix. Dans le dessin suivant, j'ai capturé mon bureau configuré comme Motif style CDE (de la sorte, il ne me rappelle pas d'autres OS que j'ai abandonnés depuis longtemps. :) )



[KDE main window]
Figure 1. Fenêtre principale KDE

Avec la partie inférieure de l'écran et le bouton " K ", on peut gérer tous les utilitaires du GUI, insérer des entrées dans le menu (avec l'outils kmenuedit) ou dans cette même barre d'outils.

La première particularité intéressante est l'aide en ligne, basée sur un navigateur qui permet de consulter l'aide des logiciels, les pages du manuel, et (plus tard) les fichiers " info ". Pressez le bouton droit de la souris pour voir un menu où vous devez choisir l'entrée " Help on the screen". On peut choisir le langage du GUI au moyen de la variable LANG ou à l'aide du Centre de Contrôle KDE.

Un autre outil puissant est le gestionnaire de fichier (kfm). Il permet de manipuler les fichiers et de surfer sur le web. On a donc deux fonctions en un programme.



[KDE Help]
Figure2 . Aide en ligne KDE

Le nombre d'utilitaires dans cette interface graphique est immense. Il sont classés dans les groupes réseaux, graphiques, administration, multimedia et Internet (l'utilisateur peut choisir quel logiciel installer en sélectionnant les bons lots (packages). Chaque utilisateur aura, au moins, avec ce GUI, un jeux d'outils pour son travail de tous les jours. C'est bien le but d'un GUI, beaucoup d'outils intégrés qui peuvent satisfaire les besoins minimum de l'utilisateur.

Par exemple, on trouve l'entrée "Utilities" dans le menu. Il y a là une excellente calculatrice (autorise jusqu'à 15 chiffres), un éditeur hexadécimal, un visualiseur graphique, un outils de contrôle du temps, un formateur de disquettes, une sorte d'agenda, un programme de " post-it ", un éditeur de menus, un terminal (kvt) et un outils de gestion des fichiers zip. Tenter de décrire tous ces outils et toutes les propriétés de KDE générerait plus qu'un article, peut être même plus qu'un numéro de LinuxFocus.

Une nouveauté de la Béta3 est le centre de Contrôle KDE. On peut y contrôler tout l'environnement et le modifier à son goût. Il faut se rappeler que certain utilitaires comme kuserpour le contrôle des utilisateurs et des groupes, doivent être exécutés avec le privilège utilisateur " root ". Cet outils peut remplacer l'entrée "Settings" dans le menu principal. Le centre de Contrôle KDE est une bon outils pour configurer et personnaliser le bureau.



[KDE Control Center]
Figure 3. Le centre de Contrôle KDE

Cliquer avec la souris sur n'importe quelle icône dans l'arborescence système (à gauche sur la figure), ouvre ce sous système particulier. On peut alors aisément atteindre l'élément à configurer. La grande majorité des paramètres d'environnement peuvent être testés et installés immédiatement avec le bouton " Apply ". Il y a quelques rares cas, ou le gestionnaire doit être redémarré pour profiter des modifications. Par exemple, une des premières chose que pourra faire un utilisateur, c'est de configurer la langue de son bureau par le biais de l'entrée Language dans le menu du bureau. On peut choisir jusqu'à trois langages.

Si l'on accède à Internet par un modem, on peut utiliser kppp. Après avoir inséré tous les paramètres dans le panneau de configuration, il peut être utilisé pour contrôler la liaison, examiner l'état de la connexion, le temps et même le coût des appels. Amusant, le coût peut être calculé d'après le pays sélectionné dans le menu de configuration. Par exemple, les espagnols ont la possibilité de configurer les prix pour les appels à Infovia (réseau détenu par Telefonica de España S.A.).

Une fois connecté, sont disponibles :le courrier, le lecteur de forum, les utilitaires réseau, etc. de KDE.



[KPPP]
Figure 4. Fenêtre principale de kppp

Si, comme moi, vous compilez et installez le logiciel à partir des sources, vous verrez une entrée dans le menu principal nommée " non-KDE Apps ". Là KDE à inséré (ou essayé) tous les outils X qui étaient installés dans l'environnement graphique précédent. Si peu ou pas de ces applications apparaissent après l'installation, on peut toujours exécuter le programme "kappfinder" qui, recherchera tous les utilitaires habituels dans l'environnement graphique pour réaliser cette tâche.

Revenons maintenant à la Figure 1 et regardons quelques icônes sur le coté gauche : La poubelle (évident :) ), des modèles pour définir un accès direct aux périphériques, URL, etc. et l'Autostart où l'on peut définir les éléments à démarrer en même temps que l'environnement (en y incluant tout fichier de type '.kdelnk' précédemment définit). On peut ajouter n'importe quel accès direct voulu, j'ai par exemple créé un accès direct à un ZIP externe avec ces quelques étapes:

  • On choisi dans le menu du bureau (Bouton droit de la souris) un nouveau périphérique.
  • Une fenêtre apparaît et l'on tape "zip.kdelnk".

    [Creation d'un accès direct vers un nouveau périphérique]


  • Appuyer sur OK et une nouvelle icône est crée. Il y a alors deux options: éditer ses propriétés ou sélectionner Open with pour modifier le point de mount et d'autres propriétés du périphérique avec notre éditeur de texte favori. KDE apporte des modèles pour chaque accès direct disponible. Souvent ces modèles ne s'ajusteront pas à nos besoins et il faudra éditer les fichiers appropriés comme dans le cas présent. Voici la fenêtre des propriétés des accès directs où l'on doit saisir ou sélectionner les options désirées.: Appuyez sur OK et une nouvelle icône est crée. On a alors:

    [ Fenêtre Direct access properties]


En sortant, KDE essayera de sauvegarder l'état et la position de toutes les applications pour la session suivante. KDE fait apparaître une boite de dialogue qui montre les utilitaires qui pourront être redémarrés, et ceux qui perdront leurs informations. Cette fonction est aussi présente dans le WINDOWMAKER (décris un peu plus loin).

Finalement, j'aimerais dire que le travail de tous les jours avec cet environnement est facile. On peut configurer le haut de l'écran pour y mettre beaucoup de boutons des applications actives et le nombre de bureaux virtuels peut être modifié. On peut facilement passer de l'un à l'autre et si l'on préfère le clavier, il faudra appuyer sur <Ctrl>/<Alt> + <Tab> pour basculer les bureaux virtuels. Même un simple terminal (kvt) peut être configuré depuis son menu principal pour modifier le type et la couleur de l'arrière plan et du texte. Pour coller ce terminal au bureau, pressez simplement l'icône en haut à gauche de la fenêtre.



[kvt main menu]
Menu principal kvt.

Cet environnement offre d'énormes possibilités et bien qu'il puisse être configuré très intuitivement, je recommande aux lecteurs intéressés de vérifier l'aide en ligne pour le système KDE

La bibliothèque Qt, à la source du conflit.

Les gens à l'origine du développement de KDE déclarent que le choix de la librairie QT à été motivé par sa faible utilisation des ressources du système et son haut degré de fiabilité. Cette bibliothèque à généré une grande controverse parce que sa licence dit : utilisation gratuite de ses outils si elle est utilisée pour du développement de logiciel gratuit, et il faut payer uniquement dans un but commercial. Ceci n'est pas notre bien connue GNU GPL.

N'importe quel utilisateur peut obtenir les sources de cette bibliothèque, la documentation complète, des exemples de code source et même apprécier KDE. Toutefois, les créateurs de Qt conservent des droits sur ce produit. Certains utilisateurs acceptent cette politique de distribution et développent du logiciel gratuit grâce à son utilisation aisée, son interface C++, son état de développement, etc. Le reste de la communauté pense que cette bibliothèque est gratuite tant qu'elle est en cours de développement, et (peut être avec la version 1.4) qu'elle ne le sera plus, tirant profit de la communauté LINUX mais ne nous laissant rien.

On peut seulement affirmer qu'avec la version 1.32, les choses restent les mêmes, gratuite pour le logiciel gratuit et payante pour les autres sortes de logiciel. Personne ne peut deviner les plans de la société et pour l'instant le travail effectué ne peut être rejeté. Aujourd'hui c'est une option sérieuse pour développer des applications X windows. D'autres voix proposent la conversion de cet environnement vers les outils GTK ou le développement d'une implémentation gratuite de Qt.

Personnellement, je pense qu'obtenir une version GPLisée de Qt représente un gros effort en temps et en hommes. Sans vouloir offenser personne, GTK n'est peut être pas suffisant pour développer une version de KDE, mais à partir de là, l'outils pourrait être amélioré en même temps que le développement se fait. Il existe plusieurs possibilités et je ne voudrais pas voir se gâcher des ressources et du temps dans ce genre de " guerre ". L'état de KDE est très bon et c'est un candidat sérieux pour devenir un environnement graphique pour LINUX. La distribution SUSE par exemple, à parié dessus et il sera amélioré avec les prochaines mises à jour de ses produits.

Windowmaker & Afterstep

Ma première intention était d'écrire quelques lignes sur mon gestionnaire de fenêtres courant, Afterstep. Mais récemment, le projet Windowsmaker a attiré mon attention. Je ne peux le confirmer, mais il semble que les deux idées aient été regroupées en une seule. Windowmaker est une évolution d'Afterstep ou bien ce développement a été arrêté avec la version 1.3. Le coordinateur Windowmaker (Alfredo K. Kojima) est l'un des développeurs Afterstep. Je parlerai donc des deux gestionnaires pour examiner leur similitudes.

AfterStep est une évolution de twm comme beaucoup de gestionnaires de fenêtres. Plus précisément, twm était la base de fvwm qui en même temps est le père du BowMan et celui là est devenu AfterStep (ouf !! :) ).L'idée originale est d'imiter l'aspect du gestionnaire de fenêtres NEXTSTEP. L'arbre généalogique de Windowmaker est laissé comme exercice au lecteur ;).

L'installation de Windowmaker est très simple, aucune bibliothèque supplémentaire n'est nécessaire, merci pour cela, et tout est livré avec les sources. IL faudra compiler et installer une petite bibliothèque (désolé pour ce mensonge innocent) libProplist, avant le reste du logiciel. Après avoir compilé et installé le logiciel et les pixmaps (Windowmaker-data.tar.gz) il faut exécuter "wmaker.inst" qui modifiera le fichier $HOME/.xinitrc et créera un fichier $HOME/GNUstep pour tous les fichiers de configuration du gestionnaire de fenêtres. Faites donc attention à vos fichiers .xinitrc et .Xclients.

Au démarrage un arrière plan bleu apparaît d'abord avec une simple fenêtre de terminal, rien d'étrange pour les utilisateurs d'Afterstep. Avec le bouton droit de la souris, on peut activer le menu principal d'où l'on peut démarrer n'importe quelle application, se déplacer entre différents bureaux virtuels avec le bouton du milieu. J'écris ces lignes de ce gestionnaire de fenêtres à cause de mon expérience avec AfterStep.



[Windowmaker image]
Figure 5. Image de Windowmaker.

Les fenêtres peuvent être repliées en double-cliquant sur la barre supérieure de la fenêtre (et maximisée avec Control+Shift). Sous Afterstep le même effet est obtenu en cliquant avec le bouton droit de la souris sur le haut de la fenêtre. Pour changer de taille sélectionnez juste la ligne inférieure de la fenêtre.

Le menu principal pour toutes les fenêtres apparaît en cliquant avec le bouton droit de la souris sur le haut de la fenêtre. Ceci permet de configurer les caractéristiques des fenêtres et des applications avec la souris plutôt qu'en ouvrant un fichier de configuration.



[Menu Window]
Menu Window


L'entrée la plus importante est peut être Attributes... qui permet de modifier les propriétés de la fenêtre, de la fixer, de l'iconifier et de choisir la politique de focus, quelle icône la représente, etc. Par exemple:



[Configuration de la fenêtre]
Configuration de la fenêtre Emacs.


Une autre nouveauté est la possibilité d'ajouter des icônes à droite de la fenêtre, directement et manuellement; on glisse une icône à cet endroit. Mais je n'ai pas réussi à y placer mon icône xemacs :(.

Pour configurer le gestionnaire de fenêtres à partir des fichiers de configuration disponibles, il faut lire la documentation en format postscipt. Toutes les propriétés du programme ne sont pas décrites, mais dans la dernière partie la syntaxe de toutes les entrées est bien expliquée. Il y a eu beaucoup de changement depuis les fichiers .steprc, aussi est il conseillé de lire la documentation. L'utilisation et la personnalisation du gestionnaire de fenêtres y est décrite avec beaucoup d'exemples de raccourcis clavier. Je pense que simplicité et productivité sont les maîtres mots de ce gestionnaire de fenêtres à cause de son faible gaspillage des ressources et de l'utilisation intensive du clavier. Je n'ai pas de données pour le prouver, mais il semble plus rapide que KDE et que son petit frère.

Pour le gestionnaire de fenêtres AfterStep , il existe un utilitaire appelé ascp (AfterStep Control Panel), qui permet de le configurer.



[Panneau de contrôle AfterStep]

Panneau de contrôle AfterStep.

En conclusion, nous avons un bon gestionnaire de fenêtres qui peut être considéré comme l'étape suivante pour les utilisateurs d'AfterStep (the next step ;). Je n'ai pas décrit ni exploité toutes les possibilités mais il est candidat pour toutes les machines sans ressources excessives et ayant besoin d'un gestionnaire de fenêtres puissant et facile à utiliser. La difficulté principale est peut être le nombre de fichiers de configuration, mais cela n'est pas un problème pour un utilisateur LINUX un peu expérimenté et parlant un peu anglais :).

Gnome. Impossible :(.

Je suis un peu déçu de finir cet article avec de mauvaise nouvelles. Mon objectif était d'écrire à propos du projet Gnome et de son état d'avancement (particulièrement après l'annonce de Red Hat et DEBIAN de supporter ce projet). Fort de tout cela j'ai téléchargé le logiciel depuis le site ftp principal (gnome-0.12.tar.gz et les autres )avec les outils GTK (v. 0.99.2).

Pour le bien être des nouveaux utilisateurs, je rappelle à tous que la bibliothèque GTK est celle utilisée pour le fameux GIMP, la meilleure suite graphique pour Linux. Elle a commencée avec Gimp et a évolué en une boite à outils pour X windows sous la licence GNU GPL, elle est maintenant utilisée par Gnome.

Je fus d'abord surpris de ne pas trouver d'aide, il y a bien quelque fichiers README, mais ils sont insuffisants. Je ne savais pas quoi faire des fichiers, quelle était la séquence d'installation, les paramètres spéciaux, etc.... Aussi, aidé par mon intuition, je commençai par compiler et installer tous les lots excepté le principal (gnome-xxx). Celui qui me posa le plus de problèmes fût "slib", bien que je reste persuadé de l'avoir installé correctement (j'espère).

Après mon premier essai, et avec l'aide d'une liste de diffusion LINUX, j'appris que j'aurai du utiliser gtk 0.99.3. Je téléchargeais le patch pour la mise à jour et obtint un message d'erreur en essayant de le compiler. Il disait que je n'avais pas emacs !! Il y a un petit script qui essaye de démarrer emacs pour compiler un fichier Lisp (ranlisp). Je le modifiait en insérant xemacs et tout fût correct.

J'apprit aussi que j'avais besoin d'installer le compilateur Objective-C pour être capable de compiler certain fichiers, est ce bien exact ?

Pour conclure, et d'après ce que j'ai pu observer avec mes limitations, le projet commence tout juste. Peut être n'est il que pour les développeurs (ou gourous). Je n'ai trouvé aucune mention de son état " Alpha " ou " Beta ". Je ne sais pas si c'est une bonne idée d'utiliser C, C++, Objective C, Lisp, Scheme,et ... etc. L'utilisateur devra t-il installer tous ces outils pour utiliser Gnome ? Où ai je fait une erreur ?

J'ai reçu beaucoup de suggestions récemment de la part d'utilisateurs, mais je n'ai pas été capable de le faire fonctionner à temps pour cet article. Un aperçu rapide ne serait pas juste. Je souhaite consacrer le temps nécessaire à ce projet.

Malgré cela, je promets d'écrire un article ou contacter quelqu'un de qualifié pour que les lecteurs de LinuxFocus aient un bon article sur Gnome :).

Final.

Cet article a essayé d'expliquer brièvement quelques choix de bureaux pour les utilisateurs de Linux, et qui heureusement nous rendent la vie courante plus facile. Tous marchent bien et sont très beaux, l'offre de choix est positive.

J'espère avoir éclairé le sujet des bibliothèque outils disponibles pour chaque environnement. Ce n'était pas mon propos de rallier quiconque à une bibliothèque particulière. J'ai essayé d'être aussi objectif que possible, en expliquant la situation et l'avancement de chaque projet. Je renouvelle mes excuses si j'ai offensé quelqu'un avec mes explications.

Voilà, de la part cet article, un grand bravo à tous ceux qui aident Linux, non seulement à bien marcher :), mais aussi à être beau pour toutes sortes d'utilisateurs

Lesstif, Le grand oublié ?

Houps, je ne peux pas oublier de dire quelques mots sur un sujet qui a attiré mon attention. Pendant mes recherches, je n'ai pas trouvé de gestionnaire de fenêtres basé sur cette bibliothèque (sans parler du mwm qui accompagne toutes les implémentations Motif. Il y a un clone gratuit de la bibliothèque OSF/Motif qui a été oublié sous cet aspect. Pourquoi ?

L'auteur a vérifié que la communauté Linux en général rejette les logiciels sous licences de copyright plus restrictives que la GPL, il est vrai que cette bibliothèque n'a pas assez de capacités pour développer un environnement de bureau, son état de croissance n'est pas optimal, etc. (bien que l'on puisse en discuter largement). En fait, CDE semble devenir le GUI standard pour tout le monde UNIX, pourquoi pas un CDE Lesstif ?

Quand Netscape annonce la disponibilité des sources de son navigateur et éditeur pour Linux, les utilisateurs seront ils capables de le compiler avec Lesstif ?, Je pense que ce serait une bonne nouvelle pour les utilisateurs et le développeurs de cette bibliothèque.

Je ne connais pas la réponse à toutes ces questions, mais je pense que beaucoup de logiciel pourrait bénéficier des caractéristiques de Lesstif et qu'avec le soutient des utilisateurs et des développeurs, ce pourrait être une bonne alternative.




Traduit par John B. Perr

Pour en savoir plus::
© 1998 Jose Manuel Laveda Molina
Ce site web est maintenu par Miguel A Sepulveda.