HOWTO: installation of E17 from CVS (UPDATED) Hello all.

This is a sequel of the thread "HOWTO: installation of E17 from CVS" here, that became too long, obsolete and not maintained. I'm glad to announce that i duplicate this thread on CaféLinux. Everyone are welcome to put any questions or comments there, specially when trying this method with other distros than Ubuntu. Note that i used a PDF version of the How-To on CaféLinux that some users may find more easy to read. neonl translated this how-to to Portuguese. If you feel more comfortable using that language give a look here. How it looks? Some pics. My own pics: 1 2 3 ________________________________________________ So, what's the advantage of compile from cvs source? well,
• • •

• •

you can be as updated as you wish, you can be as outdated as you wish (using the date option of cvs you can go back to any specific date you want... search for specific features or avoid a broken version) you will have everything installed on /opt/ directory. That's the correct location for testing/beta software. It will not mix libs and apps from enlightenment with your system. It's easier to clean and make backups or even run different versions side by side. you can make your own Ubuntu flavor, by installing a minimal base system (like MinimalCD or ubuntulite) and e17 over it. you can set your own compile options.

This how-to use a famous script, easy_e17.sh from morlenxus, one of the e17 developers. Scripts make life easier, but one shouldn't run nothing blindly, or at least without a though... The script its configured to his author, an e17 developer, work. Most users (almost all) don't need **ALL** apps, and definitely not every single "creature" that appear on e17 cvs server. Some very experimental, sometimes merely prototypes, or obsolete ones that are no longer maintained or awaits to be updated. So I advise a little care with this approach. An minimal, full functional and working e17 is made of: e libs and e itself (sounds simple ) Then you need some modules. They are like small apps that run on your desktop (like desklets). They are very useful. But, if you are not a tester, for sure you don't need them all. And there are available too some extra apps, but you may not need or want them. Enlightenment applications are divide by directories under CVS tree: e17/apps/ and .e17/proto. The first are the ones considered usable, the 2nd the experimental and prototypes one.

I believe that most users should avoid those under prototype section, and only try them if they knows what they are doing and how to deal with problems that they may arose. My suggestion is install e17 (libs+environment), then login to your fresh new e17, check if it's working. And after that install **wanted** modules and/or apps. Ready? 1 - PREPARATION. So first you need some stuff on your Ubuntu box for cvs and compilation: Code:
sudo aptitude install build-essential cvs libtool libltdl3-dev automake1.9 autotools-dev libpopt-dev libcurl3-dev libx11-dev x11proto-xext-dev libbz2dev libid3tag0-dev libpng12-dev libtiff4-dev libungif4-dev libjpeg62-dev libssl-dev libfontconfig1-dev libfreetype6-dev bison flex gettext libimlib2dev libxml2-dev libxcursor-dev libgtk1.2-dev autoconf pkg-config libpng3-dev libxkbfile-dev libsqlite3-dev giblib-dev libxmu-dev libxdamage-dev libxcomposite-dev libtag1-dev libtagc0-dev libasound2-dev libxslt-dev libpam0g-dev libdbus-1-dev

don't worry if you already have some of them. (NOTE that it's a different, updated, list from the old thread. Use the old list only for Dapper) LAST UPDATE (16 NOV 2007): Removed libxine-dev. Only needed for optional e17 multimedia apps (more details bellow).

NOTE: Do not proceed if some of the packages fails to install! It will not work. Occasionally, the list changes (new version numbers or split of -dev packages...) If thats the case, post it here, either the error output or the new packages need, so i'll try to keep that list updated. 2 - GET SCRIPT. Now that we have all packages needed you must get the script that will download/compile/install e17. All credit goes to Morlenxus for this great tool. The script will assume that certain files (conf file and all cvs files) would be in your home directory. You can change some of the paths (see step 3) including the script path, but the best and easier option, the advised one, is to keep the script in your home directory. So, go to home and get the script: Code:
cd ~ wget http://omicron.homeip.net/projects/easy_e17/easy_e17.sh

check this line apps= e ... emprint . If not end with emprint add it and save. Make it executable with: Code:
chmod +x easy_e17.sh

3 - CONFIGURATION. Now we will create the configure file for easy_e17.sh. It will be named .easy_e17.conf and it must be created under user home directory. That file is very important because will allow to easily control any options of Morlenxus script: Code:
nano -w .easy_e17.conf

I use nano for easiness, you may prefer gedit, kate, mousepad, whatever. (Please note that in that case you shouldn't use -w flag, only needed by nano for safer editing of long lines. Note that you can copy+paste and drag+drop text on nano too if you already have a DE/WM running.) Copy *one* of the above to .easy_e17.conf. Minimal e17 (functional e17, no extra modules, no e apps): Code:
-skip=imlib2,edb,emotion,eclair,entrance,evfs,edje_viewer,edje_editor,elicit, evolve,e_dbus,elitaire,emphasis,empower,engycad,entrance_edit_gui,entropy,sc rot,ephoto,estickies,exhibit,expedite,extrackt,engage,exml,enhance,enthrall, rage,emprint,scrot,alarm,bling,cpu,deskshow,emu,flame,forecasts,language,mai l,mem,mixer,moon,net,news,penguins,photo,rain,screenshot,slideshow,screensho t,snow,taskbar,tclock,uptime,weather,winselector,wlan,mixer

That will set a minimal e17 for a start. e17+extra modules (Recommended) Code:
-skip=imlib2,edb,emotion,eclair,entrance,evfs,edje_viewer,edje_editor,elicit, evolve,elitaire,emphasis,empower,engycad,scrot,entrance_edit_gui,entropy,eph oto,estickies,exhibit,expedite,extrackt,engage,enhance,enthrall,rage,emu,fla me,moon,rain,screenshot,snow,language,mixer

You can delete from the list any app you may want to try, but i suggest you do that later on after you got e17 installed and running. TIP: If you plan to install screenshot module you will need scrot, a command line for "take shots" of the desktop. It's available from e cvs too, but i prefer to install directly from repos. It's easier, faster and one less to worry about: sudo aptitude install scrot If you already have gnome, you can use gnome-screenshot instead of screenshot+scrot. TIP: Delete 'language' and 'exml' too, if you want to set to a different language available (default is English, of course). TIP (MODULES): flame, rain and snow are purely cosmetic ones, they shows naive animation on desktop (nowadays they looks a little amateur...) emu is, as far as I know, a developer tool just for tests on implementations, so you don't need it.

IMPORTANT: I suggest to check at the bottom of this post for references on broken libs/apps or specific issues that may be occurring at moment on cvs tree. THE BELLOW TIPS ARE FOR OPTIONAL/EXTRA STUFF: TIP (UPDATED): If you want to try media applications of e17 you will also need: sudo aptitude install libxine-dev and remove emotion and eclair from --skip list bellow . [color="Green"]TIP[:/COLOR] If you plan to install emphasis (an optional music player daemon) you will need too: sudo aptitude install libmpd-dev NOTE: corney91, on another thread, called my attention for the fact that mixer don't work now, at least under Gutsy and its version of alsa. So i add to the list of skipped modules and will keep an eye on it, till it gets updated. Mean while, if you need an general volume control app, you can use alsamixer from console or install with apt alsamixergui, from repos, (thanks RAV TUX for this suggestion). If you already have gnome installed you can instead use gnome-volume-control (put a launcher on your ibar or menus) and get the same functionality. The libs imlib2 and edb are no longer needed as dependencies so i added them to the list. If you already have them installed, no problem, just leave it. They are very small, anyway. EXTRA GENERIC TIPS FOR conf FILE: If you will not use your computer for nothing more and want to make the process faster you can add a new line to .easy_e17.conf with: --high NOTE that it will make everything else on your computer, while e17 installs, run at speed of a sick cow!... Another thing that you can tune on .easy_e17,conf is default paths. I don't like the cvs tree code visible on my home folder so i add: --cvspath=/home/rui/.e17_cvs (it required the full path there. /home/rui is my home path, i tried with ~/.e17_cvs and didn't work. If you change the path of the script and you get errors while compiling evolve, please see post #53, here) Save and exit (with nano just press Ctrl+X and then Y for accept save). And it's ready. 4 - INSTALLATION. Now the awaited moment... Get code, compile and install: Code:
sudo ./easy_e17.sh -i

If it finishes successfully, enlightenment should be installed.

NOTE(17/Nov/2007): On last 2 days ewl is giving compile errors, like this here. If that happens to you just repeat the above sudo ./easy_e17.sh -i and should finish fine. If you are thinking on update, maybe wait a couple of days would be a bad idea, until things stabilize a little. 5 - ENVIRONMENT. Due to the fact that enlightenment is installed under /opt/e17 we will need to add /opt/e17/bin to our $PATH variable. To do this open /etc/environment with your favorite text editor: Code:
sudo nano -w /etc/environment

and add ':/opt/e17/bin' to the end of the PATH line. You should get something like: Quote: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/ bin:/sbin:/bin:/usr/bin/X11:/opt/e17/bin The next step is set how to login. e17 have it's own login manager, named entrance. It's not easy to set up under Ubuntu and not always working, so i'll suggest to avoid it. Note, that if you want to try entrance, you need to delete it from the --skip line and do a sudo ./easy_e17.sh --only=entrance. I will assume here that you have another one, GDM, from Ubuntu or Xubuntu (for KDM, i need a confirmation from a KDE user that it works or not...). We only need to use the already included desktop launcher. Thats a better choice then make a new .desktop file (old method), since the executable referred is always updated by e17 itself. All we need is to make gdm see it: Code:
sudo ln -s /opt/e17/share/xsessions/enlightenment.desktop /usr/share/xsessions/enlig htenment.desktop

TIP: (PLEASE SOMEONE CONFIRM THIS!!) for KDM you need to ln to /usr/share/apps/kdm/sessions/enlightenment.desktop , instead. (Arch Linux users will need to use /etc/X11/sessions/) You should now be able to login to your new e17.

EXTRAS) You should have by now a general picture of this step. If you want to try any of the enlightenment apps you must simply delete they names from the -skip list and use the --only option to install, like: sudo ./easy_e17.sh --only=exhibit,entrance

For applications description check get-e site for explanation and pictures: http://www.get-e.org/Resources/Applications/ Briefly, the most important are: entrance - a login manager, like gdm or kdm. It don't implements XDMCP. Not easy to deal with. entropy - a file manager. Tradition requires one . You will be better served with rox, thunar or any other light file manager on repos. eclair - a media player. It will require too evas and emotion, don't forget them, if you are interested. exhibit - nice and light image viewer. It can even replace eog if you use gnome. estickies - notes on desktop. Buggy last time i tried, but it's alive and evolving. Just edit your .easy_e17.conf and delete all the names of apps and dependencies libs you want to try. And it's done.

UPDATES) Any time you want to update enlightenment and related libs/apps, simply re-run the easy_e17 script with -u flag (u for update): Code:
sudo ./easy_e17.sh -u

Don't forget to check first the bellow section TIPS AND NOTES for any references on CVS breakage or specific issues of the moment (i will try to keep it updated)

______________________________________________ TIPS AND NOTES: - A situation that sometimes arise is that we want an application not listed on script. What i do is simply add manually the app to the correct entry list on script (and check on script updates if that has been added or not) Two examples: I like to use the old e17setroot to make and set my backgrounds (.edj files) from jpg pics. That app is part of the obsolete e_utils package. It still compiles fine, so i add it to "apps" list on easy_e17.sh and install it normally. Recently calendar module has been updated (a restart from fresh, in fact) to work with shelvess. Morlenxus did not update his script already, so you can add that one to "e17_modules" list if you want to give it a try. (pic on post #10) - After a successfully installation i suggest you add Code:
--fix-cvs-conflicts

to .easy_e17.conf file. It will avoid problems in future updates, on eventual CVS conflicts.

- If, for any reason, you need a previous version of e17, check here to get an idea on how to get it: http://ubuntuforums.org/showpost.php...&postcount=461 (I will elaborate on this tip, if cvs tree get broken one of this days and that became more useful than right now, that luckily is very stable )

------------------STARTUP AND CONFIGURATION LOOK Something very basic but not immediate is how to run an application automatically at start up. Old versions required manual editing of .order files under ~/.e/e/applications/startup/.order but now we can just run from Main menu: Configuration -> Configuration Panel -> Applications -> Startup Applications and choose what we want. If the desired app don't exist on the list you need to create a .desktop launcher for it first. At Enlightenment Configuration window, under Applications, there are an entry called 'New Application' to do exactly that It's plain simple, so just 2 comments. New launchers will be create under ~/.local/share/applications/ and will have an unfriendly name like _new_app-1.desktop... A persistent bug stills avoid change that name, so after create the file i change the name manually (from command line or a file manager). This is just for us to find it more easily, since internally this launchers are listed by the name we set under the Entry Editor, info that it's saved as text file. Another tip is to take care filling the field Categories with something meaningful. That's how e17 lists the available apps, and since there are dozens it's easy we lost them when we don't set no special category. One nice trick to control start up apps is to make a script, make it executable and then create a .desktop for it like described above. That way you just run one startup "app" that can launch what ever you want and how you want and editable with any text editor. Here an example (start oofice quick launcher and numlockX): Code:
#!/bin/sh # <- this symbol makes the line just a comment, remove it to launch the app: # gnome-settings-daemon & ooffice -quickstart -nologo -nodefault & numlockx on & # gnome-volume-manager &

Controlling the look of Applications is another aspect that it's not obvious. E17 Apps use controls/widgets from etk, but gtk apps don't know nothing about it. That means they will have the look (kind of ugly) of default gnome. There are 2 ways of tweak this. 1st way, if you have gnome or xfce installed, is simply run the daemons of those environment, gnome-settings-daemon or xfce-mcs-manager respectively, on startup (like described above). That will set the theme we choose for gnome/xfce for all gtk apps, runs some basic services and

start a few things like screensaver and numlockX. Appearence can then be tuned by running gnome-control-center or xfce-setting-show, according the daemon used. The 2nd way is lighter (not that much, note). Simply create a file named: .gtkrc-2.0 on your home folder, that would control gtk look. As an example of a possible .gtkrc-2.0 file: Code:
gtk-theme-name = "Human" gtk-icon-theme-name = "Tango" gtk-font-name = "Bitstream Vera Sans 12"

You can tune the icon theme used for menu and desktop icons on: Configuration > Configuration Panel > Appearence > Icon theme (that won't change icon theme used by gtk apps, see tip above) hope that helps make your e17 even more beautiful :)

------------------For more information on e17, the Enlightenment Foundation Libraries and the applications that use them, please see: http://www.enlightenment.org. *Don't update without previously check the cvs update messages* here: http://cia.vc/stats/project/e/ Besides information on whats going on, authors usually post warning of API breakage. Proceed with care on those occasions! Browse the cvs code on line, search for explanations, READMEs and details on code for each application check: e17 cvs tree Information, themes, icons, eye-candy and alike: http://www.get-e.org and http://e17-stuff.org Later on this thread i posted a mini-how on how to edit/change/create an e17 theme. * check it here * -------------------

IMPORTANT: evolve it's a library for e17 related with etk (a toolkit) that morlenxus added to scrip in it's last version (1.1.4). It's a developer tool and not needed for a working e17. It's not compiling (or at least a lot of people can't compile it). So you must ensure that you have that one on the --skip list. __________________ e17 from cvs it's easy