• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Dokkio Sidebar (from the makers of PBworks) is a Chrome extension that eliminates the need for endless browser tabs. You can search all your online stuff without any extra effort. And Sidebar was #1 on Product Hunt! Check out what people are saying by clicking here.


Remastersys - E17 Customization Guide

Page history last edited by Fragadelic 13 years, 7 months ago


e17 customization 





















by trevelyn

(douglas at weaknetlabs dot com)











When I first saw screen shots of e17, I wanted it. I tried about 5 different ways of installing it, all of which failed, and I gave up. Then I found an easy way that someone posted about on the Ubuntu forums, which i'd decided I should try. Now, it's incredibly easy to install e17 using their method with the easy_e17.sh script and cvs. This paper won't cover the installation too much in depth as I referred to the ubuntuforums site (The whole install is like 4 commands).


When I decided to edit the menus I was confronted with an HTML-like syntax called “XML” and a completely different style of configuration than that of which I was used to. This isn't Gnome or KDE, you can't simply right click on the menu and edit it, you have to do this all by hand. So, I searched using Google for what felt like days, finally coming in contact with the “extramenu” module I refer to below. This module helped to make the XML make sense to me only the second time around (when I was re-referred to the module by Brian). Once the general summary, syntax, and methods I explain below make sense, customizing e17 becomes almost second nature.


The purpose of this paper is to give you, a user that is new to enlightenment, an environment in which you can manipulate and mold to your liking, then create a customized ISO to retain for future use or to hand out as your own distribution with the Remastersys tool. All references will be appended to the bottom of this paper.

























Installation of e17


This guide will quickly show you the ropes to installing e17 and getting rid of Gnome. This demonstration is done using Ubuntu version 8.04 hardy Heron (for it's LTS) and the Easy_e17.sh installation script.


Before you go wiping Gnome from your Ubuntu installation you should quickly take advantage of it's GUI apps of customization for GDM. First of all you should go here: http://gnome-look.org/index.php?xcontentmode=150or anywhere there is a set of GDM themes for download. Get one you fancy and edit the file in the directory “/usr/share/gdm/themes/” once installed (dragged from the desktop to the login manager window) that's where they show up. You can use the command:


gdmflexiserv –-xnest


This will help you see if the login screen is how you expected. Once it is, choose a cool sound for the login. You can fin free sounds in Gnome-Look.org as well. Save it somewhere like ~/.themes/sounds/ (you will have to create that directory) And set it as your login sound. Now restart Xwindows with a quick CTRL+ALT+BACKSPACE and see if the sounds and graphics all work to your desire. Or, you can simply run gdmflexiserv as you did above. This will play the startup sound as well.


This makes the above process much more user friendly than doing it from the command line once Gnome was un-installed. Now that's out of the way, we can proceed to uninstalling Gnome. Go to this address and run the command to remove Gnome for hardy: http://www.psychocats.net/ubuntu/purekdehardy


Use the huge command to remove “Ubuntu” and skip the “&& sudo apt-get install kubuntu-desktop “ part and reboot your system. Once the system has fully loaded you will not be presented with the standard GDM or Gnome screens, just a plain old Terminal login.


Now you're ready to install e17:


sudo su

echo 'deb http://cafelinux.org/Downloads/oz-os tinwoodman main' >> /etc/apt/sources.list

wget -q http://cafelinux.org/Downloads/oz-os/key.asc -O- | sudo apt-key add -

sudo apt-get update && sudo apt-get install cvs

sudo apt-get install e17-svn


This gets the latest updates from the repositories, set's their GPG key, and installs one dependency, then the Window Manager e17. CVS needs to be installed for this all to work.


Once that has completed (should take quite a long time) you will need to reinstall a few things that get removed from the Gnome removal command above:


sudo apt-get install gdm firefox-3.0 eterm

Now you're ready to go! Start GDM if not started already with this command:


sudo /etc/init.d/gdm start


(usually it resides on ALT+F7) And select your session (enlightenment) and login.


You should now have a fully working version of e17 to modify for your distribution.


 Extra Applications


To Install extra applications that are e17 (enlightenment) related such as “empower,” “edje_editor,” etc. You simply need to become root and cd into the source directory for all e17 applications and run the “autogen.sh” files in those directories. Then, do a “make && make install” to stick that newly made application into your $PATH environment setting. Here in the following example I will install “empower” which is an application similar to gksu or gksudo:


cd /var/cache/e17_src/


This is the default directory of all the source code for e17 programs. If you were to do an ls in this directory you would see a bunch of sub-directories named after each program, so I will change into the “empower” directory.


cd empower

sudo su

export PKG_CONFIG_PATH=/opt/e17/lib/pkgconfig



make install


That command set says “change into the directory that has the empower source, become root, add the path to the edje.pc file to my $PKG_CONFIG_PATH environment setting, configure the application using the complimentary script, make the binary (executable file) and then install it into my normal $PATH environment setting.


Maybe for the rest of the tutorial it would be easier to add a line to your ~/.bashrc file that includes the above export statement. (Assuming you are in fact, using bash) Here is that line, you can add it at the top of the bashrc file:


cp ~/.bashrc ~/.bashrc.backup

echo 'export PKG_CONFIG_PATH=/opt/e17/lib/pkgconfig' >> ~/.bashrc






Enlightenment is well known for it's gadgets and eye-candy. For example you can have weather forecasts, uptime, animations like snow, rain, parachuting penguins etc, with your customized desktop0


To install such modules open Eterm and go to /var/cache/e17_src/E-MODULES-EXTRA/ folder and do an ls. This shows you a list of directories named after all of the free modules available to you locally. We will install and start the “snow” module. Cd into the snow directory and type “./autogen.sh” If you need to, set the $PKG_CONFIG_PATH environment variable as we did earlier in this paper. Once completed, type “make && make install” After that has completed, restart enlightenment and open the menu with a left click anywhere on the desktop. Now navigate to “settings->modules” and scoll down on the left side of the new window until you see the new “snow” module that should be listed under the “appearances” category. Highlight it and click the “Load Module” button.


You can now change settings of the snow module, by clicking on it in the enlightenment settings->modules tab->snow. Now you can set whether or not you want to display christmas trees, or how heavy you want the snowfall to be.


This same routine can now be done for any of the other “eye-candy” modules located in the said path above.

























 The Menus


First, I'd instantly like to suggest installing and use the following module: http://code.google.com/p/e17mods/wiki/ExtraMenuTo do so simply do:


svn checkout http://e17mods.googlecode.com/svn/trunk/MODULES/extramenu


from the command line and it will create a new directory called “extramenu” in your current working directory. Now change into that directory and run “./autogen.sh” and “make && make install” If you have any errors pay close attention to the dialog.1

Then simply logout of Xwindows and log back in. Now, when you go to to the menu->Enlightenment Settings->Modules menu you can choose the “extra menu” module.

If you now go to the “extramenu” directory (in Eterm) made by the svn checkout command above, you will see a README file. Open the file and look at the examples and directions given. You need to create a directory called “extra_menu” in the “~/.e/e/” directory and make sure you do this as your normal user account so you can read and write to the newly created directory. Now create two files specified “MyMenu.Menu” and “MyMenu.directory

Copy the example clips in the README file and paste them into the new files you just created. Now, If you look at the syntax you can instantly see that the menu file refers to the desktop file. The menu file contains a single menu and what is to be included in that menu. And there isn't an example of a sub-menu.2

Here is a complete generalization of what the code says and I will include a sub-menu so you can refer to this during your customization. Anything after the “#” is simply a note of what it is, do not copy those.






<!-- Main Menu --> # these are notes, VERY important when dealing with sub-menus!

<Menu> #beginning of new Main Menu

<Name>New Main Menu</Name> #main Menu's name

<DefaultAppDirs/> #where to search for files (leave this one alone really)

<DirectoryDir>./</DirectoryDir> #current working directory

<Directory>MyMenu.directory</Directory> #the .directory file to refer.


<!--New Sub-Menu (SubMenu)--> #Sub-Menu's notes

<Menu> <Name>My Sub-Menu</Name> #start the Menu and give it a name



<Include> #start the list of programs to include in the “sub-menu”

<Filename>alacarte-made-48.desktop</Filename> #application file3

</Include> #end list of included apps in the sub-menu

</Menu> #end Sub-Menu


# programs to include in the new main menu under the sub-menu



</Include> #end the program list for main menu

</Menu> #end the Main menu



The above should give you a clearer understanding to sub-menus in the syntax used by the extra_menu module you added. If you had a previous long-term-customized install of Gnome, the menus may be completely garbled and weird. You can go to the settings menu and unchecked the radio button to “show applications in menu” and create your own.


Now I will show you the simple syntax of the *.directory files. The included snippet in the “README” file is perfect, but you might want to change the name. Here is what I would have:


[Desktop Entry]







Name=New Main Menu

Name[it]=Il mio menu









And since We created a sub-menu that refers to “SubMenu.directory” we will have to create that too:


[Desktop Entry]







Name=My Sub-Menu

Name[it]=Il mio menu


So now our directory “.e/e/extra_menu/” has three files in it: MyMenu.directory, SubMenu.directory, and MyMenu.menu. If you would restart Enlightenment you will see the new directory listings in the menu when you left click on the desktop.


Now you're probably wondering “what is a *.desktop file and how do I make programs into them!?” Well, that's easy. Simply cd into ~/.local/share/applications And run nano (or whatever editor you choose) and put this:


[Desktop Entry]





Comment[en_US]=Put a comment here!




into a file named MyEterm.desktop This you can now add into the “<Include> (GOES HERE) </Include>” tags of the MyMenu.menu file. This is very generic and you can now use this as a template to create more .desktop files of your choice. To start up an Eterm shell and have it display a command and then stay open I'd suggest using a bash script like so:


  1. create the .desktop file and have it “Exec” script.sh
  2. create a file in your path called script.sh
  3. chmod the script to be executable
  4. add the .desktop file to your MyMenu.menu file
  5. done


Now I will do the above list:

echo “[Desktop Entry]” >> nmap.desktop

echo “Type=Application” >> nmap.desktop

echo “Exec=script.sh” >> nmap.desktop

echo “StartupWMClass=NMAP” >> nmap.desktop

echo “Icon=/full/path/to/cool/icon.png” >> nmap.desktop

echo “Name=NMAP!” >> nmap.desktop

echo 'Eterm -e “nmap” -h;bash' >> /usr/bin/script.sh (may need sudo)

chmod a+rx /usr/bin/script.sh

This creates the desktop file and the script to be ran. Because Eterm is not very good with anything beyond the arguments of the command passed to it (in our case “nmap -h”) It would ignore the “;bash” and exit. This will keep the window open as it is ran from a whole separate script. With Gnome-Terminal you can pass almost anything you want to it, but this would add pounds to your already fatty window manager (almost 115MB of Gnome-related libs!)


Now you just need to add the .desktop file name to the Include tags of the .menu file created earlier in this tutorial.


You should now have the basic concept as to how the menus can be manipulated though examples, snippets, and a few error examples as well!





































Desktop Icons


To create new desktop icons open up Eterm and cd into your ~/Desktop directory. If you have any *.desktop files there, you can actually use those as templates to recreate a few more. There are typically two types of icons found in this directory; links and files.


The links will link an icon to a directory to be opened by a file manager. If you were to do an ls -l in this directory you would see the attributes start with an “l” of a link. The other type is an executable desktop file almost exactly like those we created for the ~/.local/share/applications directory.


Let's create a desktop icon from scratch that will open up pcmanfm. This quick exmaple assumes you have pcmanfm3 installed. Once you are in the ~/Desktop directory do:


nano pcmanfm.desktop


and put the following:


[ Desktop Entry ]


Comment=File Manager

Comment[en_US]=File manager






Name=File Manager

Name[en_US]=File Manager





Save your work with “CTRL+X, Y, <RETURN>” in nano or “ESC, w, q” with vi and now you'll see the icon appear on the desktop without having to restart enlightenment.


You can now use this example as a template to create desktop icons for any application. You can also use .desktop files located in your ~/.local/share/applications folder too.









To create a customized ISO of your creation, you will want to install remastersys from here: http://www.linuxmint.com/wiki/index.php/Remastersys

Then you need to clean up your work, open Eterm and do the following:


sudo su

rm -rf ~/.bash_history




This will kill your window, but hide the history of commands you have sent to Bash land as super user. Now you want to open Eterm again and kill away your history of logs:


cd /var/logs/

rm *



This will once again kill off your Eterm window, but your dmesg logs and such will be gone. Your application specific directories on the other hand will still be in the /var/log directory for future use by services and other apps that use them.


Now kill away your own personal history of commands sent off to Bash ville by doing the following after opening yet another Eterm window:


rm -rf ~/.bash_history



Now you're ready to create the Live ISO! Check your menus under ->Settings->Settings Panel->System tab and see if there is an entry for Remastersys or open Eterm and do:


sudo su



Now modify the configuration how you like it to be, ISO name, Name of project (that part shows up when you see the GRUB splash) etc, and select “Full backup including user data.” Let this finish and if all goes well, you will have the bootable custom e17 ISO in your /home/remastersys/remastersys directory!










Ubuntu Forums post:















Thanks to genetik for suggesting enlightenment, Androsyn for just being a genius, The Remastersys group on the Klikit Linux forums, Brian Christiansen, and Ronald Van Haren for your help with e17.





Comments (0)

You don't have permission to comment on this page.