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[]: ** (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笔记的更多相关文章
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
随机推荐
- 2299 Ultra-QuickSort(归并)
合并排序第一次.连环画看着合并看着别人的博客的想法. http://poj.org/problem? id=2299 #include <stdio.h> #include <std ...
- c#-Artificial Intelligence Class
NET Artificial Intelligence Class http://www.codeproject.com/KB/recipes/aforge_neuro/neuro_src.zip
- final、finally、finalize差异
final.finally.finalize差异 1.final修饰符 它代表了一类是完美的类,它不能被继承,因此.一个类不能既被标记为final类别.同一时间被标记为abstract. 将变量或者函 ...
- jQuery的ready方法实现原理分析
jQuery中的ready方法实现了当页面加载完成后才执行的效果,但他并不是window.onload或者doucment.onload的封装,而是使用 标准W3C浏览器DOM隐藏api和IE浏览器缺 ...
- Codeforces#277 C,E
C. Palindrome Transformation time limit per test 1 second memory limit per test 256 megabytes input ...
- APUE学习笔记(1):APUE运行环境
APUE全称<Advanced Programming in the UNIX Environment>(UNIX环境高级编程) 书中例子大都使用作者自己写的头文件,所以需要解决一下,还好 ...
- LeetCode之Max Points on a Line Total
1.问题描述 Given n points on a 2D plane, find the maximum number of points that lie on the same straight ...
- Mockito使用注意事项
已使用mockito有些问题.例如:配合可变长度参数.定义自己的参数匹配,在这些mockito官方文件(http://docs.mockito.googlecode.com/hg/latest/org ...
- proguard android迷茫
我们收拾它意味着蛊惑项目即将结束.上线.但是,当这个问题就更烦躁人,我也记录因混乱中遇到的问题 首先,我在装android4.0封装版本,有没有在这个文件查看器项目 假设有,请继续点击进入projec ...
- Sql开发技巧
原文:Sql开发技巧 简介 本文主要介绍下述几个技巧: 使用Row_Number分页 事务 根据条件刷选记录的技巧 分页 主要是使用了Row_Number()这个函数.一般如下: declare @P ...