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. Cest la quon est content dêtre sous Debian, puisquil suffit dexécuter la commande suivante : (Sinon il faut télécharger larchive de chaque librairie, la compiler et linstaller à 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 lon viens de compiler (qui sont dans /usr/local/lib) lorque lon 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 lordre indiqué sur le site officiel. Pour chacune delle, il faut suivre la procédure suivante : (La procédure à été largement simplifiée depuis quelque temps, surtout pour la configuration devas qui était fastidieuse)
$ cd ~/cvs/e17/libs/<nom_de_la_librairie>
$ ./autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
Il faut donc compiler les librairies dans lordre suivant : (Attention, il ne faut surtout pas oublier dexé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 dentre 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 lexé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 dapplications mais elles ne sont pas toutes fonctionnelles. La liste suivante en présente quelques une qui fonctionnent correctement. Linstallation 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 dimage 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 dexécuter la commande ./configure help.
3.1 E 17
3.1.1 Installation
Le démarrage de E17 est superbe. Lanimation à été ralentie intentionnellement pour quon puisse ladmirer 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 linstallation 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 lutilisateur 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 dobtenir 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 dindiquer licone à utiliser.
$ e_util_eapp_edit [options] mon_icone.eap
Notons que si le fichier mon_icone.eap nexiste 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 dobtenir un historique des wallpapers qui ont été définis par e17setroot. Lorsque lon clique sur une miniature, limage saffiche et lorsque lon clique sur limage, elle est définie comme nouveau wallpaper. Notons quavec cette méthode la "pseudo-transparence" ne fonctionne pas pour linstant. Cest 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 sintégrer à E17. La plupart de ces modules nont 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 nai pas encore trouvé de moyen très propre de faire ces modifs : pour linstant il faut modifier le code source. Notons quEntrance marche très bien sans ces modifs mais il lance X sans loption "-nolisten tcp" et sans loption "-dpi 100".
Pour corriger ceci et obtenir ainsi un serveur X configuré comme lorsquon 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 sagit 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 cest 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 lOpenGL) :
#!/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 cest 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 lorsquon 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 dimages 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 dimage visionnée ou un mode diaporama. Il permet également depuis peu de visionner les informations EXIF de la photo (En bas à droite de limage 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 dhabitude 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 lutilisation. 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 nest 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 loption "-e". Cette option active le thème et le style de lancien gestionnaire de fichier de E17 : efm. En fait, cela permet davoir 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 dautre 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 à libar qui est compilée en tant que module dans E17. Cest 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 quapplication indépendante et en tant que module de e17. Les phases de compilation, dinstallation et de configuration sont communes aux deux formes. La seule différence se situe au lancement dengage.
$ 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 lOpenGL par exemple, il suffit dexécuter maintenant la commande suivante :
$ engage -e gl
Pour lancer engage en tant que module de e17, il faut dabord 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 dutiliser loption 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 cest 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/<libs_ou_apps>/<nom_de_l_appli_ou_de_la_lib>
$ sudo make uninstall
$ make clean
$ aclocal
$ ./autogen.sh
$ make
$ sudo make install
$ sudo ldconfig