Enlightenment是一个文件管理器(曾经), 随着发展, 现在的目标已经是创建一个跟xfce, kde等一样的桌面环境。

作为一个用的人不多, 兼容性一般般, bug还不少的桌面环境, E的最大特色就是华丽, 所有的动画效果, 显示效果都相当华丽, 并且在我的电脑上(i7-2.0GHz, 12GB内存)顺滑无比, 甚至比xfce还要顺畅。

它的基本库EFL也有不少商业应用, 据说Tizen就使用了EFL。

安装:

首先你需要一大堆devel包, 在fedora下是这些:

subversion autoconf automake gettext-devel libtool make pam-devel freetype-devel fontconfig-devel libpng-devel libjpeg-devel dbus-devel lua-devel libX11-devel libXcursor-devel libXrender-devel libXrandr-devel libXfixes-devel libXdamage-devel libXcomposite-devel libXext-devel libXp-devel libXinerama-devel libxkbfile-devel libXtst-devel libudev-devel glib2-devel openssl-devel fribidi-devel check-devel giflib-devel libtiff-devel mesa-libGL-devel mesa-libEGL-devel mesa-libGLES-devel gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-bad-devel libcurl-devel pulseaudio-libs-devel libsndfile-devel libXScrnSaver-devel libmount-devel bullet-devel gcc-c++

你可以通过如下命令来安装:

su -c "yum install subversion autoconf automake gettext-devel libtool make pam-devel freetype-devel fontconfig-devel libpng-devel libjpeg-devel dbus-devel lua-devel libX11-devel libXcursor-devel libXrender-devel libXrandr-devel libXfixes-devel libXdamage-devel libXcomposite-devel libXext-devel libXp-devel libXinerama-devel libxkbfile-devel libXtst-devel libudev-devel glib2-devel openssl-devel fribidi-devel check-devel giflib-devel libtiff-devel mesa-libGL-devel mesa-libEGL-devel mesa-libGLES-devel gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-bad-devel libcurl-devel pulseaudio-libs-devel libsndfile-devel libXScrnSaver-devel libmount-devel bullet-devel gcc-c++"

解决了这个问题, 那么可以简单的编译了, 首先从git上clone代码:

git clone git://git.enlightenment.org/core/efl.git
cd efl
./autogen.sh

Enlightenment的几乎所有工程都使用bootstrap来编译,这也是为什么你需要autoconf和automake。

如果一切顺利, 你会看到一个简短的报告, 告诉你编译选项。如果你不为他开发软件, 那么用release也是不错的选择:

./configure --with-profile=release --prefix=/usr/local/lib64

make一下

make
make check

下面你就可以安装了

make install

注意, 如果你之前通过yum安装了老版本的enlightenment库(0.17.4), 由于pkg-config搜索顺序的原因, 是一定会出错的, 事先全部卸载掉是个好选择。

至此, ecore.efl的安装就完成了, 下面你可以开始安装elementary(enlightenment组件库), loader, player, lightenment了。

git://git.enlightenment.org/core/elementary.git
git://git.enlightenment.org/core/emotion_generic_players.git
git://git.enlightenment.org/core/evas_generic_loaders.git

安装过程于EFL完全一样。

在全部安装完成之后, 现不要急着编译enlightenment, 强烈建议现用terminology来测试一下你的这一套是不是可用的。

git://git.enlightenment.org/apps/terminology.git

注意, 在bootstrap完成之后, 给出的报告里d_bus应该是开启的(标注为yes), 否则很有可能你没有删除旧的库。

安装完之后可以打开terminology来测试一下效果, 如果显示(!重要)正常, 那么你可以继续安装EFM。

git://git.enlightenment.org/core/enlightenment.git

一切完成后, 你还需要把环境天加进xsessions里:

cp ./data/xsessions/enlightenment.desktop /usr/share/xsessions/

logout, 然后选择enleghtenment来看看新的桌面环境吧。

FAQ

1. 首先就是启动问题:

症状: 第一次启动一切正常,但是第二次开始就黑了, 检查log:

#su -c "vim /var/log/messages"

有一行特别显眼

Oct 16 20:33:19 localhost lightdm[]: ** (process:1191): WARNING **: Failed to open CK session: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files

但是查了下不是lightdm的问题, xfce还一切正常,试着删除~/.e

#rm -rf ~/.e

果然又能进入enlightenment了。后来在freebsd的论坛上查了下, 有人说是启动splash导致的。那么试着关闭splash(似乎没法直接从config里关闭?):

Settings - all - look - startup - enable splash

一切就没问题了, 于是我可以继续用lightdm而不必kdm了。

2. 图标无法对齐?

如果你是用yum安装的, 那么很可能遇到图标没对齐, 字体很难看, 并且很多图标(midori, GIMP等)无法显示。

原因是libsvg没有加到dependence里, 可以用如下方法确认:

su -c "enlightenment_start"

中间会确认Image_loader, 如果你看到SVG有报错的话, 就是它了。似乎可以通过yum安装image loader来解决。

自行编译时默认选项也不会要求libsvg, 一定要确认SVG support是不是yes。

3. 无法重启?

如果你的Reboot, Shutdown等都是灰色的, 那么很有可能是没有权限。 Enlightenment限制只有特定Group的用户才能进行重启。

最有用的解决办法就是把自己加进wheel组, 这样还能使用sudo。

su -c "usermod -a -G wheel username"

4. 整个世界都翻转了……

目测是EFL的bug, 我在terminology下遇到过一次。 如果发生了, 那么很不幸, 你只能用稳定版(0.17.4<ver<0.17.99)。

不出意外, 正式版的E18会在圣诞节附近发布, 咬咬牙忍过去就好了。

Enlightenment笔记的更多相关文章

  1. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  7. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  8. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

随机推荐

  1. MFC中的HOOK编程

    HOOK,n.钩, 吊钩,通常称钩子. 在计算机中,是Windows消息处理机制的一个平台,应用程序能够在上面设置子程以监视指定窗体的某种消息,并且所监视的窗体能够是其它进程所创建的.当消息到达后,在 ...

  2. MySQL引擎的相关知识

    MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引 擎:ISAM.MYISAM和HEAP.另外两种类型I ...

  3. 由一个LED闪烁问题发现的MTK的LED driver中存在的问题

    今天依据最新的需求要对LED灯的提示闪烁频率进行改动,将之前默认的2000ms改为10000ms,可是改动之后没有产生预料中的效果,而是变成了常量,百思不得其解,最后还是read the fuckin ...

  4. IOS开发之——使用SBJson拼接Json字符串

    SBJson包的下载地址在上一篇文章中. 能够使用NSDictionary中的键值对来拼接Json数据,很方便,也能够进行嵌套,直接上代码: //開始拼接Json字符串 NSDictionary *d ...

  5. SOA面向服务架构

    SOA面向服务架构 风尘浪子 只要肯努力,梦想总有一天会实现 随笔分类 - SOA面向服务架构 结合领域驱动设计的SOA分布式软件架构 摘要: 领域驱动设计DDD的总体结构,Repository层使用 ...

  6. 使用OpenCV玩家营造出一个视频控制(没有声音)

    说明:OpenCV计算机视觉库,所以使用的图像或视频处理,因此,没有任何声音在播放视频的临时 软件:使用OpenCV制播放器(无声音) 功能说明:新建播放窗体.加入进度条能够拖动视频播放. 流程图: ...

  7. Math.random引发的骗术,绝对是用随机数骗前端妹纸的最佳方法

    我觉得今天我运气特好,今天我们来赌一赌,我们来搞个随机数,Math.floor(Math.random() * 10),如果这个数等于0到7,这个月的饭,我全请了,如果是8或9,你就请一个礼拜成不?于 ...

  8. Linux忘记rootpassword

    我们常常会碰到忘记rootpassword的情况,以下是解决之道,  此方法使用绝大多数的Linux发行版:  1. 首先进入grub  2. 在须要编辑的入口处,按下e,在quite后增加     ...

  9. hdu2899 Strange fuction

    在区间(0,100).在恒大二阶导数0.f(x)有极小值.用的最低要求的一阶导数值点: #include<math.h> #include<stdio.h> #include& ...

  10. 四种方案:将OpenStack私有云部署到Hadoop MapReduce环境中

    摘要:OpenStack与Hadoop被誉为继Linux之后最有可能获得巨大成功的开源项目.这二者如何结合成为更猛的新方案?业内给出两种答案:Hadoop跑在OpenStack上或OpenStack部 ...