Table des matières 1 Préparation 1.1 Installation des packages nécessaires 1.2 Récupération des sources 2 Compilation des EFL (Enlightenment Foundation Libraries) 3 E17 et les applications 3.1 E 17 3.1.1 Installation 3.1.2 Lancement 3.2 E_utils 3.2.1 E17setroot 3.2.2 E_util_eapp_edit 3.2.3 Emblem 3.2.4 Entangle 3.3 E_modules 3.4 Entrance 3.5 Examine 3.6 Entice 3.7 Eclair 3.8 Evidence 3.9 Engage 4 Mise à jour 4.1 Mise à jour des sources 4.2 Re-compilation 5 Screenshots 6 Références 7 Vos commentaires 1 Préparation 1.1 Installation des packages nécessaires Avant de commencer, il faut installer un certain nombre de packages nécessaires à la compilation. C’est la qu’on est content d’être sous Debian, puisqu’il suffit d’exécuter la commande suivante : (Sinon il faut télécharger l’archive de chaque librairie, la compiler et l’installer à la main...) # apt-get install cvs autoconf automake1.7 gettext libtool libfreetype6-dev libjpeg62-dev libpng3-dev libtiff4-dev libungif4-dev libbz2-dev libltdl3-dev pkg-config libxine-dev libgtk1.2-dev build-essential flex bison byacc Attention aux versions des outils, notamment pour automake, il faut absolument la version 1.7. 1.2 Récupération des sources Toutes les sources en cours de développement sont accessibles en CVS sur sourceforge.net. Pour les récupérer, exécuter les commandes suivantes en mode utilisateur normal : $ cd ~/ $ mkdir cvs $ cd cvs $ cvs -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/enlightenment login $ cvs -z3 -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/enlightenment co e17 misc Ceci télécharge toutes les sources nécessaires pour compiler les librairies, ainsi que e17 et quelques applications comme entice, entrance, eclair, engage... 2 Compilation des EFL (Enlightenment Foundation Libraries) Avant de lancer la compilation, il faut encore ajouter une ligne dans /etc/ld.so.conf. Cette ligne permet de tenir compte des librairies que l’on viens de compiler (qui sont dans /usr/local/lib) lorque l’on exécute la commande ldconfig. Pour cela exécuter la commande suivante : # echo "/usr/local/lib" >> /etc/ld.so.conf Il reste maintenant à compiler chaque librairie dans l’ordre indiqué sur le site officiel. Pour chacune d’elle, il faut suivre la procédure suivante : (La procédure à été largement simplifiée depuis quelque temps, surtout pour la configuration d’evas qui était fastidieuse) $ cd ~/cvs/e17/libs/ $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig Il faut donc compiler les librairies dans l’ordre suivant : (Attention, il ne faut surtout pas oublier d’exécuter sudo ldconfig après chaque librairie). /cvs/e17/libs/edb /cvs/e17/libs/eet /cvs/e17/libs/imlib2 /cvs/e17/libs/imlib2_loaders /cvs/e17/libs/evas /cvs/e17/libs/ecore /cvs/e17/libs/epeg /cvs/e17/libs/embryo /cvs/e17/libs/edje /cvs/e17/libs/epsilon /cvs/e17/libs/esmart /cvs/e17/libs/emotion /cvs/e17/libs/etox /cvs/e17/libs/ewl /cvs/e17/libs/engrave Pour plusieurs d’entre elle, il y a un petit programme de test qui permet de vérifier que tout est ok. Par exemple la compilation de ecore produit l’exécutable ecore_evas_test qui montre un petit échantillon de la puissance de ces librairies graphiques : PIC3 E17 et les applications On peut enfin installer e17 et quelques applications. Les sources se trouvent dans plusieurs répertoires, notamment dans /cvs/e17/apps et dans /cvs/misc. Ces deux repertoires contiennent un grand nombre d’applications mais elles ne sont pas toutes fonctionnelles. La liste suivante en présente quelques une qui fonctionnent correctement. L’installation de ces applications est détaillée dans les paragraphes qui suivent : /cvs/e17/apps/e : E17 en personne. /cvs/e17/apps/e_utils : outils de configuration pour E17. /cvs/e17/apps/e_modules : quelques modules supplémentaires. /cvs/e17/apps/examine : outil de configuration pour les applications. /cvs/e17/apps/entrance : le magnifique gestionnaire de login. /cvs/e17/apps/entice : le viewer d’image de E17. /cvs/e17/apps/eclair : un player multimedia. /cvs/evidence : le file manager. /cvs/misc/engage : le superbe dock style MAC OS X. La procédure de compilation est toujours la même, mais certaines applications nécessitent quelques options lors de la génération du Makefile (autogen.sh). Pour connaître toutes les options disponibles, il suffit d’exécuter la commande ./configure –help. 3.1 E 17 3.1.1 Installation Le démarrage de E17 est superbe. L’animation à été ralentie intentionnellement pour qu’on puisse l’admirer et ça vaut vraiment le coup (Il est maintenant possible de désactiver cette animation en cochant la case en haut à gauche de l’écran). En screenshot ça donne rien mais il y a des vidéos sur le site de Rasterman. PIC PIC La compilation de E17 lui-même est similaire à ce qui a été fait précédemment, pas de surprises : $ cd ~/cvs/e17/apps/e $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig 3.1.2 Lancement Lorsque la compilation et l’installation sont terminées, il y a deux manières de lancer e17 : avec la commande startx ou en utilisant le gestionnaire de login entrance. Pour utiliser entrance, suivez le chapitre 3.3. Sinon avec startx, il suffit de créer dans le repertoire de l’utilisateur un fichier .xinitrc contenant la ligne suivante : exec /usr/local/bin/enlightenment TODO : quelques infos sur la personnalisation. 3.2 E_utils Le repertoire e_utils permet d’obtenir quelques utilitaires comme e17setroot qui permet de définir le fond d’écran, e_util_eapp_edit qui permet de créer des icônes au format EAPP ou emblem qui semble être une interface graphique à e17setroot. $ cd ~/cvs/e17/apps/e_utils $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig 3.2.1 E17setroot Il est maintenant facile de modifier le fond d’écran en utilisant la commande suivante : (Pour connaître toutes les options disponibles, éxecuter "e17setroot -h") $ e17setroot [options] mon_wallpaper.png 3.2.2 E_util_eapp_edit L’édition des icones se fait elle avec la commande e_util_eapp_edit.Il suffit de remplir les différentes informations demandée et d’indiquer l’icone à utiliser. $ e_util_eapp_edit [options] mon_icone.eap Notons que si le fichier mon_icone.eap n’existe pas, il sera créé. Les icônes crées pourront être utilisées pour peupler la barre de lancement ibar, engage ou encore dans le coin supérieur gauche des fenêtres. 3.2.3 Emblem Enfin emblem, disponible par la commande du même nom, permet d’obtenir un historique des wallpapers qui ont été définis par e17setroot. Lorsque l’on clique sur une miniature, l’image s’affiche et lorsque l’on clique sur l’image, elle est définie comme nouveau wallpaper. Notons qu’avec cette méthode la "pseudo-transparence" ne fonctionne pas pour l’instant. C’est a dire que engage et Eterm ne pourront être transparents avec le nouveau fond d’écran : (Pour cela il faut utiliser la fonction e17setroot directement) PIC PIC 3.2.4 Entangle Entangle est un editeur de menu pour E17. 3.3 E_modules Le repertoire e_modules permet de compiler quelques modules supplémentaires qui peuvent s’intégrer à E17. La plupart de ces modules n’ont pas de réelle utilité mais sont plutôt destinés a des tests : $ cd ~/cvs/e17/apps/e_modules $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig 3.4 Entrance Avant de compiler Entrance (le gestionnaire de login de e17), voila déjà un petit aperçu du nouveau thème par défaut : PIC PIC PIC Ensuite, il faut faire quelques modifications pour que le serveur X soit lancé correctement par Entrance. Je n’ai pas encore trouvé de moyen très propre de faire ces modifs : pour l’instant il faut modifier le code source. Notons qu’Entrance marche très bien sans ces modifs mais il lance X sans l’option "-nolisten tcp" et sans l’option "-dpi 100". Pour corriger ceci et obtenir ainsi un serveur X configuré comme lorsqu’on le lance avec startx, il faut modifier la variable X_SERVER dans le fichier /cvs/e17/apps/entrance/src/daemon/Entranced.h pour quelle ressemble à ceci : #define X_SERVER "/usr/bin/X11/X -quiet -dpi 100 -nolisten tcp" Il ne reste maintenant plus qu’à compiler la bête en indiquant le fichier de session à utiliser : (Sur Debian, il s’agit du fichier /etc/X11/Xsession) $ cd ~/cvs/e17/apps/entrance $ ./autogen.sh --with-xsession=/etc/X11/Xsession $ make $ sudo make install $ sudo ldconfig Toutes les options de configuration de entrance sont centralisées dans le fichier /etc/entrance_config.cfg qui est copié automatiquement lors du "make install". Attention c’est un fichier binaire mais il est possible de modifier la configuration en éditant le script build_config.sh présent dans le répertoire "cvs/e17/apps/entrance/data/config/". Mon script contient les lignes suivantes pour pouvoir lancer E16 et E17 avec entrance (avec le support de l’OpenGL) : #!/bin/sh -e DB="./entrance_config.cfg" rm -f $DB # set auth to 1 for pam, 2 for shadow ecore_config $DB set /entrance/auth int 2 # uncomment the below to enable experimental OpenGL hardware acceleration ecore_config $DB set /entrance/engine int 1 ecore_config $DB set /entrance/xinerama/screens/w int 1 ecore_config $DB set /entrance/xinerama/screens/h int 1 ecore_config $DB set /entrance/xinerama/on/w int 1 ecore_config $DB set /entrance/xinerama/on/h int 1 ecore_config $DB set /entrance/theme str "default.edj" ecore_config $DB set /entrance/date_format str "% A % B % e, % Y" ecore_config $DB set /entrance/time_format str "%l:% M :% S % p" #ecore_config $DB set /entrance/fonts/count int 2 #ecore_config $DB set /entrance/fonts/0/str str "/usr/share/fonts/truetype/" #ecore_config $DB set /entrance/fonts/1/str str "/usr/X11R6/lib/X11/fonts/Truetype/" ecore_config $DB set /entrance/greeting/before str "Welcome to" ecore_config $DB set /entrance/greeting/after str "" ecore_config $DB set /entrance/session/count int 4 ecore_config $DB set /entrance/session/0/session str "default" ecore_config $DB set /entrance/session/0/title str "Default" ecore_config $DB set /entrance/session/0/icon str "default.png" ecore_config $DB set /entrance/session/1/icon str "enlightenment.png" ecore_config $DB set /entrance/session/1/title str "E 16" ecore_config $DB set /entrance/session/1/session str "/usr/bin/enlightenment" ecore_config $DB set /entrance/session/2/icon str "enlightenment.png" ecore_config $DB set /entrance/session/2/title str "E 17" ecore_config $DB set /entrance/session/2/session str "/usr/local/bin/enlightenment" ecore_config $DB set /entrance/session/3/session str "failsafe" ecore_config $DB set /entrance/session/3/title str "Failsafe" ecore_config $DB set /entrance/session/3/icon str "failsafe.png" ecore_config $DB set /entrance/system/reboot int 1 ecore_config $DB set /entrance/system/halt int 1 ecore_config $DB set /entrance/user/remember int 1 ecore_config $DB set /entrance/user/remember_n int 5 ecore_config $DB set /entrance/autologin/mode int 0 #ecore_config $DB set /entrance/autologin/user str "atmos" Pour plus de facilités, voila mon fichier de config : entrance_config.cfg et mon script de configuration : build_config.sh Enfin pour que Entrance soit lancé au démarrage de la machine il faut créer les différents liens dans /etc/rc*.d avec la commande suivante : (Je me suis basé sur la config de wdm pour établir la commande suivante) # update-rc.d entrance start 99 2 3 4 5 . stop 01 0 1 6 . Maintenant si tout c’est passé correctement, entrance se lance au démarrage de la machine et permet de choisir son Window Manager. Attention, ceci ne fonctionne que depuis le 07/12/2004, il faut donc mettre à jour les CVS si cela ne fonctionne pas (Voir chapitre suivant). 3.5 Examine Examine est un utilitaire permettant de configurer les différentes applications de E17. Il est notamment utilisé par Evidence lorsqu’on sélectionne "Preferences" dans le menu contextuel. La compilation ne pose pas de problèmes, il suffit de suivre la procédure habituelle : $ cd ~/cvs/e17/apps/examine $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig 3.6 Entice Entice est un viewer d’images très performant basé sur evas. Il offre déja de nombreuses fonctionnalités comme une liste rétractable sur la gauche qui présente toute les miniatures de liste d’image visionnée ou un mode diaporama. Il permet également depuis peu de visionner les informations EXIF de la photo (En bas à droite de l’image sur le screenshot) : PIC PIC La compilation est très simple et aucune configuration nécessaire, il marche tout seul : $ cd ~/cvs/e17/apps/entice $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig 3.7 Eclair Eclair est un player multimedia basé sur les EFL (Enlightenment Fondation Librairies). Attention pour que la compilation se passe bien, il faut que emotion soit compilé (Voir le chapitre 2 sur les EFL) et que les paquets suivants soient installés : # apt-get install libtag1-dev libtagc0-dev libxml2-dev libglade2-dev libsqlite3-dev La compilation se fait ensuite comme d’habitude avec la suite de commande : $ cd ~/cvs/e17/apps/eclair $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig 3.8 Evidence Evidence est le gestionnaire de fichier de E17. Il est comme toute les applications de E17, complètement configurable au niveau du look et de l’utilisation. Il offre en effet le choix entre trois modes de vue différents (mode icônes (voir screenshot), arbre et en colonne) et les thèmes sont personnalisables à souhait. PIC PIC PIC Evidence utilise GTK2 ainsi que plusieurs libraires qui permettent de manipuler le système de fichier. Il faut donc installer les librairies suivantes pour que la compilation se passe bien : # apt-get install libgtk2.0-dev libpcre3-dev libcurl3-dev libfam-dev libmagic-dev libextractor1-dev libvorbis-dev libid3-3.8.3-dev Je ne sais pour quelle raison, mais Evidence n’est par dans le même répertoire que E17 dans les CVS. Il faut donc exécuter les commandes suivantes pour récupérer les sources avant de les compiler : $ cd ~/cvs $ cvs -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/evidence login $ cvs -z3 -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/evidence co evidence La procédure de compilation est encore la même, il faut simplement ajouter les options suivantes pour avoir quelques fonctionnalités supplémentaires : $ cd ~/cvs/evidence $ ./autogen.sh --enable-extra-themes --enable-extra-iconsets --enable-canvas-evas2 $ make $ sudo make install $ sudo ldconfig On peut maintenant faire quelques tests en commençant par l’option "-e". Cette option active le thème et le style de l’ancien gestionnaire de fichier de E17 : efm. En fait, cela permet d’avoir un gestionnaire de fichier en plein écran sur le bureau (Un clique droit sur le bureau affiche bien le menu du WM). Notons que cette option fonctionne également très bien sous E16 et peut-être avec d’autre WM. $ evidence -e On peut par ailleurs utiliser la version classique de Evidence en spécifiant le thème à utiliser (rephormed est le thème de Evidence sur les screenshots ci-dessus) : $ evidence --theme=rephormed 3.9 Engage Engage est une alternative à l’ibar qui est compilée en tant que module dans E17. C’est en fait une alternative beaucoup plus évoluée puisque engage est complétement configurable, thémable, et ajoute un petit style MacOS X sympa à E17 (Voir page 23). Actuellement, engage est disponible sous deux formes différentes : en tant qu’application indépendante et en tant que module de e17. Les phases de compilation, d’installation et de configuration sont communes aux deux formes. La seule différence se situe au lancement d’engage. $ cd ~/cvs/misc/engage $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig Pour ajouter des icônes dans engage, il faut créer un sous-repertoire "engage" dans le repertoire " /.e/e/applications" et y creer un fichier .order contenant les noms des icones .eap : $ cd ~.e/e/applications/ $ mkdir engage; cd engage $ echo "eterm.eap" > .order $ echo "firefox.eap" >> .order Pour lancer engage en mode "standalone", avec le support de l’OpenGL par exemple, il suffit d’exécuter maintenant la commande suivante : $ engage -e gl Pour lancer engage en tant que module de e17, il faut d’abord charger ce module avec la commande suivante : $ enlightenment_remote -module-load engage Il faut enfin activer le module en le selectionnant dans la liste disponible dans le menu contextuel (clique droit de la souris -> modules -> engage -> enabled). 4 Mise à jour Les sources étant modifiées et corrigées régulièrement, il est bon de mettre à jour et de recompiler le tout de temps en temps. 4.1 Mise à jour des sources La mise à jour des sources est très simple avec CVS, il suffit de se logguer et d’utiliser l’option update : $ cd ~/cvs $ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment update -dP Cette commande permet de télécharger uniquement les sources qui ont été modifiées. Lorsque c’est terminé, il faut recompiler ces nouvelles sources. 4.2 Re-compilation Pour recompiler proprement e17, le plus simple est de désinstaller chaque librairie et chaque application, de nettoyer les sources et de recommencer la compilation comme précédemment. Pour simplifier la chose, voila un script qui fait tout en une seule fois : rebuild_e17.sh. Ce script très simple exécute simplement la suite de commande suivante pour chaque librairie (et application) : $ cd ~/cvs/e17// $ sudo make uninstall $ make clean $ aclocal $ ./autogen.sh $ make $ sudo make install $ sudo ldconfig