Enlightenment笔记

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[1074]: ** (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会在圣诞节附近发布, 咬咬牙忍过去就好了。

你可能感兴趣的:(笔记)