CSUF LogoCSUF Site Navigation
optics.csufresno.edu

F7 Enlightenment DR17 (E17) E17 Installation

Department of Electrical and Computer Engineering
Assistant Professor Gregory R. Kriehn
Forums
Wiki
F7 E17 Installation
Installation of E17 on Fedora 7 is fairly simple, and there are a couple of ways that it can be done.  

The first way is to use Didier Casse's website, which contains a repository that is updated about once a month whenever a stable version of Enlightenment is present in the Concurrent Versions System (cvs) repository (located at enlightenment.freedesktop.org). Unfortunately, Didier did not have time to get his repository up and running (which occured around July 4th, 2007) before this was written (June 14, 2007). As a result, this left me with second option. If you want to still use Didier's repository, see my Fedora 6 E17 Installation page, which should provide you with a basis for using the repository, especially since it is now available for use. (If you have any questions about using the repository for Fedora 7, send me an e-mail or post a question to the forums.)

easy_17.sh
Brian Miculcy has written a wonderful little script called easy_17.sh (see Brian's projects page). The script automatically downloads the current snapshot of Enlightenment from the CVS repository, and installs all of the libraries, applications, and modules for E17. It also accommodates command line arguments for changing the installation path, skipping certain packages, setting autogen and nice options, etc.  There are three phases to the script:


Phase 1 - CVS checkout
Phase 2 - Compiling Code
Phase 3 - Cleanup

Install Dependencies
Under Phase 2, there are also three types of files that are compiled (four, if you count engage, enthrall, rage, and scrot as miscellaneous applications):

E17 Installation Packages using easy_e17.sh
LibrariesApplicationsModules
imlib2ealarm
edbentrancebling
eeteclair*cpu
evasevfsdeskshow
ecoreedje_vieweremu
efreetedje_editorflame
epegelicitforecasts
embryoelitaire
language*
edjeemphasis*mail
epsilonempowermem
esmart*engycad
mixer
emotion*entrance_edit_guimoon
engraveentropynet
etk*ephotonews
etk_extra
estickiesphoto
evolve
exhibitrain
ewl
expedite
screenshot
 exmlextracktslideshow
 enhance(engage)snow
 e_dbus(enthrall*)
taskbar
  (rage)tclock
 (scrot*)uptime
  weather
  winselector
  wlan

The packages containing the * after them require some additional development libraries that are not included in the base install of Fedora, but are present in the Fedora repository.  This includes the following:

Additional Package Dependencies
PackageDependency
emsartlibtoold-ltdl-devel
emotionxine-lib-devel
enthralllibtheora-devel
etkgettext-devel
eclairtaglib-devel
emphasislibmpd
libmpd-devel
scrotgiblib
giblib-devel
imlib2-devel
languagelibxkbfile-devel
Eterm*libast
eterm

*The Eterm package is not a package that is installed or compiled by
easy_17.sh, but it is useful to install anyway. All of the packages can be installed using yum:
~> sudo yum install libtool-ltdl-devel xine-lib-devel libtheora-devel gettext-devel taglib-devel libmpd libmpd-devel giblib giblib-devel imlib2-devel libxkbfile-devel libast eterm
Press 'y' when prompted to install the programs.

Download easy_e17.sh and the CVS Repository Files for E17

To use the script, the first thing that must be done is to download it, which can be found at:

http://omicron.homeip.net/projects/

Scroll down to the Files: section, and download easy_17.sh.  The current version at the time of this writing is V 1.1.3, but it has been since updated to V 1.1.4. Once it is downloaded, change into the Download directory and adjust the permissions so that the script can be executed directly:

~> chmod 755 eash_e17.sh
Before executing easy_17.sh, the script looks for a configuration file called ~/.easy_e17.conf.  It is here that we can set things such as the download path for the CVS repository files, the installation directory, etc.  I prefer to download the files to /usr/local/src/e17, and install E17 to /usr/local/, so create a ~/.easy_e17.conf file and add the following information:
--cvspath=/usr/local/src/e17/cvs
--instpath=/usr/local
Save and exit. Next create the installation directory:
~> sudo mkdir -p /usr/local/src/e17/cvs
I like to keep the script in a ~/linux/e17/install directory, so let's create one now and move the script over to it:
~> mkdir -p ~/linux/e17/install
~> mv ~/Download/easy_e17.sh ~/linux/e17/install/.
Next, change into the install directory:
~> cd ~/linux/e17/install/
We are ready to execute the script, but before we install E17, let's take a look at some of the options that it provides:
~> easy_e17.sh --help
You should see a list of Actions and Options that are available to the script.  To install E17, we'll use the '-i' option, but before doing so, I want to just download the files first because there are a some changes that we are going to have to make to a couple of the source files.  To download the repository files, use the "--cvsupdate" option:
~> sudo ./easy_e17.sh --cvsupdate
Depending upon your connection speed, it may take a while to download all of the files.

Edit the Source Code for Entrance
Once it is complete, change into the following directory:

~> cd /usr/local/src/e17/cvs/e17/apps/entrance
Next, edit the autogen.sh file and look for the ./configure line.  Change it so that it reads:
        ./configure "$@" --with-xsession=/etc/X11/xinit/Xsession
Save and exit.  The reason why we have to do this is that previously with Fedora Core 4, Xsession could be found in only one location: /etc/X11/xdm/Xsession. With FC5 on up (including F7), things have become a bit more complicated. There are now two locations for Xession/etc/X11/xdm/Xsession and /etc/X11/xinit/Xsession. Both Gnome (gdm) and Kde (kdm) are pointed to look at /etc/X11/xinit/Xsession, which is where the old Xsession file from FC4 is now located (with some minor changes). /etc/X11/xdm/Xsession contains a new file that is specific only to the X Display Manager (xdm), and is very sparse. However, if you use entrance to launch an Enlightenment session, it still looks for configuration information in /etc/X11/xdm/Xsession, and not in /etc/X11/xinit/Xsession, unless we add the above option. For Enlightenment, this will causes problems because dbus information (the messagebus daemon) will not be configured due to major differences between the two files, among other problems.

Finally, change into the src/client directory:

~> cd /usr/local/src/e17/cvs/e17/apps/entrance/src/client
Edit the entrance_session.c file and scroll down to line 854.  Comment out lines 854 - 856 so that they look like:
/*    if (shell && (strlen(shell) > 0)) */
/*      shell_cmd = shell; */
/*   else */
Again, save and exit. This change is necessary because of a bug in entrance that will not allow users using the csh or tcsh shell to login properly.  The bug has already been fixed once (several months ago), but after Carsten Haitzler pushed for some code cleanup in entrance, the bug resurfaced. I have tried to report the bug repeatedly to the Enlightenment mailing lists, but has not been fixed yet.  But by commenting out the above code, we will force entrance to login using /bin/sh instead of tcsh.  It's a hack, but it works.

Compile and Install Enlightenment
We are now ready to compile and install Enlightenment.  Change back into the directory containing the script:

~> cd ~/linux/e17/install
Execute the script using the '-i' option to install E17:
~> sudo ./easy_e17.sh -i
Compiling and installing all of the libraries, applications, and modules will take a while.  If there seems to be a problem with one of the packages that absolutely prevents the script from executing properly, you can use the "--skip=[package]" option to skip a particular package.  But if it is one of the libraries, or e itself that will not compile, then you will have to wait until the bugs get worked out in the CVS repository before trying to compile it again.  Typically, should should only take a day or two.

Once E17 is installed, you can execute the script periodically using the '-u' option to update any packages that need to be recompiled.  Sometimes, however, significant changes will be made to the CVS repository and new conflicts will arise.  Old files in your directories can be deleted with the '-f' option.  For example, if you wanted to update your packages and remove any old files, execute the following:

~> sudo ./easy_e17.sh -u -f
And if you want to completely re-compile, execute the following instead:
~> sudo ./easy_e17.sh -f -i
Integrate Enlightenment into the Fedora Environment
With Enlightenment successfully installed, the next task is to integrate the windows manager into the Fedora environment.  If you are not planning on using entrance to do this, then all we have to do is create a link in /usr/share/xsessions to the location of the enlightenment.desktop file so that the Gnome Login Manager (gdm) is aware that there is a new Windows Manager present:

~> sudo ln -s /usr/local/share/xsessions/enlightenment.desktop /usr/share/xsessions/.
Run Enlightenment
Enlightenment is now setup and ready for use! To try it, logout of Gnome, and at the login screen click on "Options" -> "Select Session...". Next click on "Enlightenment". Now type in your username and password. Hit Enter and you should successfully see Enlightenment launch!

I am going to avoid going into details about configuring Enlightenment until the E17 General Configuration page, but if you want to get a jump start, left click the mouse, scroll down to Configuration when the Main menu pops up, click on Configuration Panel, and start making changes.

The next thing to discuss is how to setup Enlightenment's login screen application (entrance), which is quite a bit trickier than what we went through here. To do this, see the Entrance Setup page.