Enlightened XFCE4

A howto stolen from http://ubuntuforums.org/showthread.php?t=101066 for later use. All credit to its writer, Iandefor.

I. Getting Enlightenment

This is the primary step, of course. To obtain Enlightenment, you’ve got a couple options; there are currently two versions available. First, you have available Enlightenment DR16, which is fairly lightweight, looks good, and is currently more stable than the other version, E17. E17 is heavier, looks pretty fine, but I’ve had bad luck running it. My suggestion is to go with DR16 for the time being; it crashes less often. To get DR16, ensure you have the Universe repository enabled .Open up Synaptic, find the package named “enlightenment” and choose to install it. Getting E17
is slightly more complicated, but still easily achieved; to do so, may I suggest Aboe’s Howto? Enlightenment also has several great utilities available for it, which are all available via Shadoi’s repository (Covered in Aboe’s howto).

II. Autostart

Mhancoc7 came up with this one. He’s a genius for coming up with it; it’s simpler than both my methods and works better than the next one I came up with, which is why I put it first. This one uses the stock XFCE setup, but makes a few slight changes. Open up a terminal and type in

cd ~/Desktop

Which will bring you to the Desktop directory. once there, type in

mkdir Autostart

The directory Autostart is used by XFCE and runs any executables it finds in there on start up; hence the name. Once this has been completed, enter the directory by entering into the terminal

cd Autostart

and create a new file. It doesn’t particularly matter what it’s called, since XFCE will run any executable file in the Autostart directory. For this example, I chose to call it starte. Put the following into the file:

#!/bin/sh
enlightenment &

and save it. Make it an executable script with the following:

chmod 0775 starte

Now, enter the following command into the terminal:

killall xfwm4 xfdesktop

Which will kill the XFCE window manager and the XFCE desktop manager; these both interfere with the proper functioning of Enlightenment. Log out and save session. Enjoy your newly Enlightened XFCE!

III. Siddartha

I made this one up as a stopgap for until I could get Enlightenment working properly with XFCE. Really, this is the worst of all the methods listed, but it is the next simplest, so will be given the honour of being listed as the second. This method completely eschews the session manager and starts up each component individually; this has the drawback of giving you a new session each time you login and it disables the logout button on the XFCE panel menu (Since that goes through the XFCE session manager).

First, make a new file and put the following in it:

#!/bin/sh

xfce4-panel &
xfce4-iconbox &
enlightenment

Save it with a name that you like. For this example, I called mine buddha. Enter the following:

chmod 0775 buddha

Move your script to the folder /usr/bin with the following command:

sudo mv buddha /usr/bin

It will ask you for your password; this is necessary to move it to that folder. Now, create a new file in the folder /usr/share/xsessions. It doesn’t particularly matter the name, but it does need to end in .desktop. Put the following in that
file:

[Desktop Entry]
Encoding=UTF-8
Name=Enlightened XFCE4
Comment=
Exec=buddha
Icon=
Type=Application

Save the file, log out, and at the login screen, check under “Sessions” for a new session called Enlightened XFCE4. Select it and run it. Do a little dance and enjoy the newfound wisdom of your computer .

IV. Poison Ivy

This is the last, and most complicated, method available. I’ve listed it last because it is the most complex. I’ve named it Poison Ivy for no good reason other than it seemed appropriate. The only merit over the Autostart method is that it’s faster. First, enter a different desktop environment/window manager than XFCE4. I suggest Windowmaker for those on old hardware. Open up a terminal and type in:

rm ~/.cache/sessions/*

Which will completely remove all the session data for XFCE4. Now, log in to the XFCE4 environment, and open up the “run program” dialog. Enter into it:

killall xfwm4

and as soon as you can verify xfwm4 is no longer running (I’d suggest running this in a terminal; when the terminal window goes crazy, type in exit), save session and log out. Now, log back into your alternative DE. Navigate to the directory ~/.cache/sessions in whatever way pleases you most. It should be empty save for a single file. The one on my computer was named “xfce4-session-brownie:0”. Whatever file you get should at least look something like that. If it doesn’t, cross your fingers and hope for the best. Open up the file for editing. it should look like this:

[Session: Default]

Client0_UserId=ian
Client0_ClientId=10af783ad2000113376999500000128550002
Client0_Hostname=unix/brownie
Client0_CloneCommand=xftaskbar4,--sm-client-id,10af783ad2000113376999500000128550002,--display,:0.0Client1_CurrentDirectory=/home/ian
Client0_Priority=30
Client0_Program=xftaskbar4
Client0_RestartCommand=xftaskbar4,--sm-client-id,10af783ad2000113376999500000128550002,--display,:0.0

Client1_UserId=ian
Client1_ClientId=10af783ad2000113376999500000128550001
Client1_Hostname=unix/brownie
Client1_CloneCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_CurrentDirectory=/home/ian
Client1_Priority=40
Client1_Program=xfce4-panel
Client1_RestartCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_UserId=ian

Count=2
LegacyCount=0

Keep in mind your file shouldn’t look exactly like this; just close. Copy and paste the last segment of “Client[num]_[something]” groups to right past itself. What you should get is this (The first section has been omitted):

Client1_UserId=ian
Client1_ClientId=10af783ad200011337699950000012855 0001
Client1_Hostname=unix/brownie
Client1_CloneCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_CurrentDirectory=/home/ian
Client1_Priority=40
Client1_Program=xfce4-panel
Client1_RestartCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_UserId=ian

Client1_ClientId=10af783ad200011337699950000012855 0001
Client1_Hostname=unix/brownie
Client1_CloneCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_CurrentDirectory=/home/ian
Client1_Priority=40
Client1_Program=xfce4-panel
Client1_RestartCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_UserId=ian

Count=2
LegacyCount=0

With the new section, go through and change every instance of “Client1_[something]” to “Client2_[something]”. On the line that says “Client2_CloneCommand=xfce4-panel, [stuff]” change it to read “Client2_CloneCommand=enlightenment, [stuff]”, change the line that reads “Client2_Program=xfce4-panel” to “Client2_Program=enlightenment”, and change the line that reads “Client2_RestartCommand=xfce4-panel, [stuff]” to “Client2_RestartCommand=enlightenment, [stuff]”. Update “count=2″ to count=”3” (Or whatever the appropriate number is).

If you’ve done all that, the final file should look like:

[Session: Default]

Client0_UserId=ian
Client0_ClientId=10af783ad200011337699950000012855 0002
Client0_Hostname=unix/brownie
Client0_CloneCommand=xftaskbar4,--sm-client-id,10af783ad2000113376999500000128550002,--display,:0.0Client1_CurrentDirectory=/home/ian
Client0_Priority=30
Client0_Program=xftaskbar4
Client0_RestartCommand=xftaskbar4,--sm-client-id,10af783ad2000113376999500000128550002,--display,:0.0

Client1_UserId=ian
Client1_ClientId=10af783ad200011337699950000012855 0001
Client1_Hostname=unix/brownie
Client1_CloneCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_CurrentDirectory=/home/ian
Client1_Priority=40
Client1_Program=xfce4-panel
Client1_RestartCommand=xfce4-panel,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client1_UserId=ian

Client2_UserId=ian
Client2_ClientId=10af783ad2000113376999500000128550001
Client2_Hostname=unix/brownie
Client2_CloneCommand=enlightenment,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client2_CurrentDirectory=/home/ian
Client2_Priority=40
Client2_Program=enlightenment
Client2_RestartCommand=enlightenment,--sm-client-id,10af783ad2000113376999500000128550001,--display,:0.0
Client2_UserId=ian

Count=3
LegacyCount=0

If you’ve got all that, save the file, and try logging into XFCE. If all went well, it should stop and load Enlightenment somewhere in the process of starting up. Enjoy your new, Unburdened XFCE!

V. Removing the Splash Screen

This is an optional step. I’ve gotten a few complaints that on startup, the splash screen is interrupted by the Enlightenment startup screen, which just looks kinda bad. To fix this, go to the XFCE settings dialog, and open up the splash screen settings dialog. Set the splash screen to “none” and then close. You’re set!

VI. Getting Debian Menus

Some people had issues getting the Debian menus working under Enlightenment, but here’s a fix, care of superprotta. Thanks, superprotta! Open up a terminal and run:

sudo aptitude install menu && update-menus

Open up the following file as root using your preferred text editor: /usr/share/enlightenment/config/menus.cfg.
Look around for a line that looks similar to this:

BEGIN_NEW_FILE_MENU("DEBIAN_MENU","ROOT","/var/lib/enlightenment/debian.menu")

Change it to point to where your debian.menu file is- if it isn’t in /var/lib/enlightenment, then it’s probably in ~/.enlightenment/menus_debian/. After changing it, it should look like

BEGIN_NEW_FILE_MENU("DEBIAN_MENU","ROOT","/home/<username>/.enlightenment/menus_debian/debian.menu")

Regenerate the menu by going to Maintenance–> Regenerate Menus under the Enlightenment menu. Hope this works!

Leave a Reply

Your email address will not be published.