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