{"id":253,"date":"2026-10-13T03:21:03","date_gmt":"2026-10-13T03:21:03","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2010\/05\/03\/howto-install-e17-from-svn-source-on-ubuntu\/"},"modified":"2026-10-13T03:21:03","modified_gmt":"2026-10-13T03:21:03","slug":"howto-install-e17-from-svn-source-on-ubuntu","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/howto-install-e17-from-svn-source-on-ubuntu\/","title":{"rendered":"Install Enlightenment E17 from SVN\/Source on Ubuntu (Legacy Method, Updated Guidance)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/www.enlightenment.org\/\">Enlightenment E17<\/a> is a lightweight, highly customizable desktop shell\/window manager stack. This guide is for engineers and Linux power users who need the <em>legacy SVN\/source-based Ubuntu install path<\/em> documented clearly, including dependency installation, script execution, and session registration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Originally published on 2010-05-03; fully revised and updated.<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2010\/05\/install-e17-from-svn-source.png\" alt=\"install-e17-from-svn-source\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Legacy context and prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original procedure targets <strong>Ubuntu 9.10-era systems<\/strong> and uses an external helper script that pulls and builds E17 from SVN sources. On current Ubuntu releases, some package names and source locations may no longer exist exactly as shown, so treat this as a legacy\/compatibility workflow.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>You need sudo access on the target machine.<\/li><li>You should be comfortable reading terminal output and resolving missing dependencies.<\/li><li>Do not run third-party scripts as root before inspecting them.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Installation workflow at a glance<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Install build dependencies] --> B[Download easy_e17.sh]\n    B --> C[Review script contents]\n    C --> D[Run installer with sudo -i]\n    D --> E{Installer completes}\n    E -- no --> F[Fix dependency or build errors]\n    E -- yes --> G[Apply export lines from output]\n    G --> H[Copy desktop file to xsessions]\n    H --> I[Log out and select Enlightenment]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install build dependencies<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run the dependency command from the original post:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css language-bash\"><span class=\"hljs-selector-tag\">sudo<\/span> <span class=\"hljs-selector-tag\">apt-get<\/span> <span class=\"hljs-selector-tag\">install<\/span> <span class=\"hljs-selector-tag\">xterm<\/span> <span class=\"hljs-selector-tag\">make<\/span> <span class=\"hljs-selector-tag\">gcc<\/span> <span class=\"hljs-selector-tag\">bison<\/span> <span class=\"hljs-selector-tag\">flex<\/span> <span class=\"hljs-selector-tag\">subversion<\/span> <span class=\"hljs-selector-tag\">cvs<\/span> <span class=\"hljs-selector-tag\">automake1<\/span><span class=\"hljs-selector-class\">.10<\/span> <span class=\"hljs-selector-tag\">autoconf<\/span> <span class=\"hljs-selector-tag\">autotools-dev<\/span> <span class=\"hljs-selector-tag\">autoconf-archive<\/span> <span class=\"hljs-selector-tag\">libtool<\/span> <span class=\"hljs-selector-tag\">gettext<\/span> <span class=\"hljs-selector-tag\">libpam0g-dev<\/span> <span class=\"hljs-selector-tag\">libfreetype6-dev<\/span> <span class=\"hljs-selector-tag\">libpng12-dev<\/span> <span class=\"hljs-selector-tag\">zlib1g-dev<\/span> <span class=\"hljs-selector-tag\">libjpeg62-dev<\/span> <span class=\"hljs-selector-tag\">libtiff4-dev<\/span> <span class=\"hljs-selector-tag\">libungif4-dev<\/span> <span class=\"hljs-selector-tag\">librsvg2-dev<\/span> <span class=\"hljs-selector-tag\">libx11-dev<\/span> <span class=\"hljs-selector-tag\">libxcursor-dev<\/span> <span class=\"hljs-selector-tag\">libxrender-dev<\/span> <span class=\"hljs-selector-tag\">libxrandr-dev<\/span> <span class=\"hljs-selector-tag\">libxfixes-dev<\/span> <span class=\"hljs-selector-tag\">libxdamage-dev<\/span> <span class=\"hljs-selector-tag\">libxcomposite-dev<\/span> <span class=\"hljs-selector-tag\">libxss-dev<\/span> <span class=\"hljs-selector-tag\">libxp-dev<\/span> <span class=\"hljs-selector-tag\">libxext-dev<\/span> <span class=\"hljs-selector-tag\">libxinerama-dev<\/span> <span class=\"hljs-selector-tag\">libxft-dev<\/span> <span class=\"hljs-selector-tag\">libxfont-dev<\/span> <span class=\"hljs-selector-tag\">libxi-dev<\/span> <span class=\"hljs-selector-tag\">libxv-dev<\/span> <span class=\"hljs-selector-tag\">libxkbfile-dev<\/span> <span class=\"hljs-selector-tag\">libxkbui-dev<\/span> <span class=\"hljs-selector-tag\">libxres-dev<\/span> <span class=\"hljs-selector-tag\">libxtst-dev<\/span> <span class=\"hljs-selector-tag\">libltdl7-dev<\/span> <span class=\"hljs-selector-tag\">libglu1-xorg-dev<\/span> <span class=\"hljs-selector-tag\">libglut3-dev<\/span> <span class=\"hljs-selector-tag\">xserver-xephyr<\/span> <span class=\"hljs-selector-tag\">libdbus-1-dev<\/span> <span class=\"hljs-selector-tag\">liblua5<\/span><span class=\"hljs-selector-class\">.1-0-dev<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If packages are missing on your release, that is expected for a legacy guide. Resolve substitutes package-by-package for your distro version.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Download and run the easy_e17 script<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original method uses the <a href=\"http:\/\/omicron.homeip.net\/projects\/easy_e17\/easy_e17.sh\">easy_e17.sh script<\/a> to download, compile, and install E17 from SVN.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">cd ~<span class=\"hljs-regexp\">\/Downloads &amp;&amp; chmod +x easy_e17.sh &amp;&amp; sudo .\/<\/span>easy_e17.sh -i<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Before using sudo, inspect the script:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">less ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>easy_e17.sh<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 3: Apply installer-provided environment variables<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When the installer finishes, it prints export lines for environment variables. Run those exact lines in your shell session, then verify they are present.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">env | grep -E <span class=\"hljs-string\">'E17|EFL|PATH|LD_LIBRARY_PATH'<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 4: Register Enlightenment in login sessions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Copy the generated desktop entry into the system xsessions directory so it appears in your display manager session list.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs language-bash\">ls -1 \/opt\/e17\/share\/xsessions\nsudo cp \/opt\/e17\/share\/xsessions\/enlightenment.desktop \/usr\/share\/xsessions\/enlightenment.desktop<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If your build produced the legacy filename shown in the original article, use:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs language-bash\">sudo cp \/opt\/e17\/share\/xsessions\/elightenment.desktop \/usr\/share\/xsessions\/enlightenment.desktop<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Then log out and select <strong>Enlightenment<\/strong> as your session type at login.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comparison of installation approaches<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Approach<\/th><th>How it is done<\/th><th>Advantages<\/th><th>Trade-offs<\/th><\/tr><\/thead><tbody><tr><td>Legacy SVN script (this guide)<\/td><td>Install many build deps, run easy_e17.sh, apply exports, add xsession file<\/td><td>Matches original 2010 workflow closely<\/td><td>High risk of broken dependencies\/URLs on modern systems<\/td><\/tr><tr><td>Distro package install (if available)<\/td><td>Use Ubuntu repository packages for your release<\/td><td>Simpler updates and dependency resolution<\/td><td>Version\/features may differ from source builds<\/td><\/tr><tr><td>Manual source build<\/td><td>Clone\/fetch sources directly and build each component<\/td><td>Maximum control over build flags and paths<\/td><td>Most complex to maintain and troubleshoot<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Source and attribution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Original references preserved from the post:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/www.enlightenment.org\/\">http:\/\/www.enlightenment.org\/<\/a><\/li><li><a href=\"http:\/\/omicron.homeip.net\/projects\/easy_e17\/easy_e17.sh\">http:\/\/omicron.homeip.net\/projects\/easy_e17\/easy_e17.sh<\/a><\/li><li><a href=\"http:\/\/jeffhoogland.blogspot.com\/2010\/05\/howto-install-e17-from-svnsource-on.html\">http:\/\/jeffhoogland.blogspot.com\/2010\/05\/howto-install-e17-from-svnsource-on.html<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Common pitfalls and best practices<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Expect package name drift: many dependency names are from older Ubuntu releases.<\/li><li>Inspect third-party installer scripts before running with sudo.<\/li><li>Validate the actual desktop filename in <code>\/opt\/e17\/share\/xsessions<\/code> before copying.<\/li><li>Prefer package-managed installs on production systems; source builds are better suited to test environments.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This revised guide explains the original 2010 workflow for installing Enlightenment E17 from source on Ubuntu using the easy_e17 script. It keeps the legacy commands intact while adding safety checks, verification steps, and modern caveats.<\/p>\n","protected":false},"author":1,"featured_media":4388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[23],"tags":[4163,4165,3113,4167,237,4164,919,3553,593,4168,4166,395,213,702],"class_list":["post-253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-svnsubversion","tag-e17","tag-enlightenment","tag-how-to","tag-how-to-install-e17-on-ubuntu","tag-install","tag-install-e17","tag-instructions","tag-procedure","tag-process","tag-steps-to-install-e17-on-ubuntu","tag-subversion-in-ubuntu-installation-guide","tag-svn","tag-tutorial","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":79081,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/253\/revisions\/79081"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/4388"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}