CSUF LogoCSUF Site Navigation
optics.csufresno.edu

F9 Enlightenment DR17 (E17) E17 Installation

Department of Electrical and Computer Engineering
Assistant Professor Gregory R. Kriehn
Forums
Wiki
F9 E17 Installation

Installation of E17 on Fedora 9 is fairly simple, and there are currently three options available:

1.) Install Enlightenment RPM packages using the Kriehn Repository.
2.) Compile Enlightenment using Brian Miculcy's easy_e17.sh script.
3.) Wait for EFL (E Foundation Libraries) and E17 WM (Window Manager) to hit the Fedora Repository.

In the first two cases, *almost* the exact same packages are available (the only two exceptions to this is that I will not be providing imlib2 or scrot, since they are available from Fedora Extras and are stable.

The final option is much more complicated since only a few of the base Enlightenment Foundation Libraries (EFL) are currently in the Fedora Repository. The E17 Window Manager (Enlightenment) will hit the Fedora repository soon, but there is no guarentee that the packages will not conflict with the packages in the Kriehn Repository. I suggest using either E17 packages from one repository or the other, but not both. Once enough packages and functionality hit the Fedora Repository, I will begin phasing out the E17 packages here. For now, however, consider the Kriehn Repository to provide the "testing" or "bleeding edge" version of E17.
If you can think of a way to solve this problem gracefully, please send me an e-mail.

Enlightenment E17 Packages Available for Installation
Libraries Applications Modules
imlib2 e (enlightenment) alarm
edb entrance bling
eet eclair* calendar
evas evfs cpu
ecore edje_viewer deskshow
efreet edje_editor echo
epeg elicit efm_nav
embryo elitaire
efm_path
edje emphasis* emu
epsilon empower execwatch
esmart* emprint
flame
emotion* engycad forecasts
engrave entrance_edit_gui iiirk
etk* entropy language*
etk_extra ephoto mail
ewl estickies mem
exml exhibit mixer
 enhance expedite moon
e_dbus exquisite mpdule
  extrackt net
  e_phys news
  (enthrall*) notification
  (rage) penguins
  scrot* photo
    rain
    screenshot
    slideshow
  snow
  taskbar
  tclock
  uptime
  weather
  winselector
   wlan

NOTE:  For those of you who are interested in some additional backgrounds and themes for Enlightenment and Entrance, I have 3 additional RPM packages that I have developed. See the RPM installation section for details.

The Kriehn Repository

Since Didier Casse has decided to retire his repository due to time constraints, I have decided to step in and host E17 RPMs myself. And as previously mentioned, I will be hosting the exact same packages (almost) that are available from Brian Miculcy's easy_17.sh script.

The upshot of this is that Enlightenment is now a piece of cake to install. First
, make sure that you have both the kriehn and livna repositories setup. Then use yum to install the packages and development libraries:

~> sudo yum install e_dbus e_dbus-devel e_modules-alarm e_modules-bling e_modules-calendar e_modules-cpu e_modules-deskshow e_modules-echo e_modules-efm_nav e_modules-efm_path e_modules-emu e_modules-execwatch e_modules-flame e_modules-forecasts e_modules-iiirk e_modules-language e_modules-mail e_modules-mem e_modules-mixer e_modules-moon e_modules-mpdule e_modules-net e_modules-news e_modules-notification e_modules-penguins e_modules-photo e_modules-rain e_modules-screenshot e_modules-slideshow e_modules-snow e_modules-taskbar e_modules-tclock e_modules-uptime e_modules-weather e_modules-winselector e_modules-wlan e_phys e_phys-devel eclair ecore ecore-devel edb edb-devel edje edje-devel edje_editor edje_viewer eet eet-devel efreet efreet-devel elicit elitaire embryo embryo-devel emotion emotion-devel emphasis empower emprint engrave engrave-devel engycad enhance enhance-devel enlightenment enlightenment-devel enthrall entrance entrance-devel entrance_edit_gui entrance_edit_gui-devel entropy epeg epeg-devel ephoto epsilon epsilon-devel esmart esmart-devel estickies eterm etk etk-devel etk_extra etk_extra-devel evas evas-devel evfs evfs-devel ewl ewl-devel exhibit exml exml-devel expedite exquisite extrackt imlib2 imlib2-devel rage scrot
Press 'y' when prompted to install the programs and any additional dependencies. There will probably be at least a few dependencies from livna will have to be installed in addition to the aforementioned packages.

Backgrounds and Themes:  If you want to install some additional backgrounds and themes for Enlightenment and Entrance, install the following:

~> sudo yum install enlightenment-backgrounds enlightenment-startup entrance-themes
Press 'y' when prompted to install the programs. (The Enlightenment backgrounds and startup .edj files will be available to you from the Configuration Panel (under Appearance -> Wallpaper and Appearance -> Startup). In both cases, click on the System button to see them.

To change the Entrance theme, you will have to use the sudo entrance_edit --theme [theme].edj command. The themes are installed in /usr/share/entrance/themes.)

Enlightenment is now setup! You may now skip over the easy_17.sh sections, and move on to the Run Enlightenment section at the bottom of the page.

easy_17.sh

NOTE:  I have added a lot of functionality to Enlightenment that is not guaranteed to be available if you are using the easy_17.sh script without installing a large number of additional development packages. In other words, if you want to guarantee the largest amount of functionality possible using Enlightenment, then I strongly suggest that you install the RPMs.

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

1. Install Package Dependencies
The packages containing the * after them (see the Table above) require some additional development libraries that are not included in the base install of Fedora, but are present in the Fedora repository. The minimum package dependencies includes the following:

Additional Package Dependencies
Package Dependency
emotion xine-lib-devel
esmart libtool-ltdl-devel
etk gettext-libs
gettext-devel
eclair taglib-devel
emphasis libmpd
libmpd-devel
enthrall libtheora-devel
scrot giblib
giblib-devel
imlib2-devel
language libxkbfile-devel
Eterm* libast
eterm

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

2. 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.5. 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.

3. 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
4. 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/.
Note:  The old problem of Entrance looking in /etc/X11/xdm/Xsession instead of /etc/X11/xinit/Xsession has now been fixed, since they are now the same file (/etc/X11/xdm/Xsession is a soft link that points toward /etc/X11/xinit/Xsession).

Run Enlightenment

Enlightenment is now setup and ready for use! To try it, logout of Gnome, and at the login screen click on "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.