All pastes #24856 Raw Edit

Mine

public text v1 · immutable
#24856 ·published 2005-10-07 16:33 UTC
rendered paste body
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/<nom_de_la_librairie> 
$ ./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 ldcon&#64257;g 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éri&#64257;er 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 en&#64257;n 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 con&#64257;guration pour E17.
 /cvs/e17/apps/e_modules : quelques modules supplémentaires.
 /cvs/e17/apps/examine : outil de con&#64257;guration pour les applications.
 /cvs/e17/apps/entrance : le magni&#64257;que gestionnaire de login.
 /cvs/e17/apps/entice : le viewer d’image de E17.
 /cvs/e17/apps/eclair : un player multimedia.
 /cvs/evidence : le &#64257;le 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 Make&#64257;le (autogen.sh). Pour connaître toutes les options disponibles, il suffit d’exécuter la commande ./con&#64257;gure –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 &#64257;chier .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é&#64257;nir 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 modi&#64257;er 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 &#64257;chier 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
En&#64257;n emblem, disponible par la commande du même nom, permet d’obtenir un historique des wallpapers qui ont été dé&#64257;nis par e17setroot. Lorsque l’on clique sur une miniature, l’image s’affiche et lorsque l’on clique sur l’image, elle est dé&#64257;nie 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 modi&#64257;cations 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 modi&#64257;er 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 con&#64257;guré comme lorsqu’on le lance avec startx, il faut modi&#64257;er la variable X_SERVER dans le &#64257;chier  /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 &#64257;chier de session à utiliser : (Sur Debian, il s’agit du &#64257;chier /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 con&#64257;guration de entrance sont centralisées dans le &#64257;chier /etc/entrance_con&#64257;g.cfg qui est copié automatiquement lors du "make install". Attention c’est un &#64257;chier binaire mais il est possible de modi&#64257;er la con&#64257;guration en éditant le script build_con&#64257;g.sh présent dans le répertoire "cvs/e17/apps/entrance/data/con&#64257;g/". 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 &#64257;chier de con&#64257;g : entrance_con&#64257;g.cfg et mon script de con&#64257;guration : build_con&#64257;g.sh
En&#64257;n 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 con&#64257;g 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 con&#64257;gurer 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 con&#64257;guration 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 &#64257;chier de E17. Il est comme toute les applications de E17, complètement con&#64257;gurable 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 &#64257;chier. 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 &#64257;chier de E17 : efm. En fait, cela permet d’avoir un gestionnaire de &#64257;chier 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éci&#64257;ant 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 con&#64257;gurable, 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 con&#64257;guration 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 &#64257;chier .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 en&#64257;n 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 modi&#64257;é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é modi&#64257;é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 simpli&#64257;er 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