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
| Libraries | Applications | Modules |
| imlib2 | e | alarm |
| edb | entrance | bling |
| eet | eclair* | cpu |
| evas | evfs | deskshow |
| ecore | edje_viewer | emu |
| efreet | edje_editor | flame |
| epeg | elicit | forecasts |
| embryo | elitaire | language* |
| edje | emphasis* | |
| epsilon | empower | mem |
| esmart* | engycad | mixer |
| emotion* | entrance_edit_gui | moon |
| engrave | entropy | net |
| etk* | ephoto | news |
| etk_extra | estickies | photo |
| evolve | exhibit | rain |
| ewl | expedite | screenshot |
| exml | extrackt | slideshow |
| 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
| Package | Dependency |
| emsart | libtoold-ltdl-devel |
| emotion | xine-lib-devel |
| enthrall | libtheora-devel |
| etk | gettext-devel |
| eclair | taglib-devel |
| emphasis | libmpd libmpd-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 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:
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:--instpath=/usr/local
~>
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:~> mv ~/Download/easy_e17.sh ~/linux/e17/install/.
~>
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./* shell_cmd = shell; */
/* else */
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 EnvironmentWith 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 EnlightenmentEnlightenment 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.


