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 ...
随机推荐
- Oracle 免费的数据库
Oracle 免费的数据库--Database 快捷版 11g 安装使用与"SOD框架"对Oracle的CodeFirst支持 一.Oracle XE 数据库与连接工具安装使用 O ...
- Archlinux YouCompleteMe+syntastic vim自己主动补全插件,显示缩进和状态栏美化,爽心悦目的vim
Archlinux 安装和配置vim补全插件YouCompleteMe的过程. 參考: https://github.com/Valloric/YouCompleteMe https://github ...
- The Swift Programming Language-官方教程精译Swift(5)集合类型 -- Collection Types
Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对). Swift语言里的数 ...
- IOS中UIDatePicker
UIDatePicker 1.常见属性 /* 样式 UIDatePickerModeTime,时间 UIDatePickerModeDate,日期 UIDatePickerModeDateAndTim ...
- STL源代码分析——STL算法sort排序算法
前言 因为在前文的<STL算法剖析>中,源代码剖析许多,不方便学习,也不方便以后复习.这里把这些算法进行归类,对他们单独的源代码剖析进行解说.本文介绍的STL算法中的sort排序算法,SG ...
- aspnet-webapi-2-contrib
https://github.com/rdingwall/protobuf-net-data https://github.com/mgravell/protobuf-net https://gith ...
- 使用Scala操作Mongodb
介绍 Scala是一种功能性面向对象语言.它融汇了很多前所未有的特性.而同一时候又执行于JVM之上.随着开发人员对Scala的兴趣日增,以及越来越多的工具支持,无疑Scala语言将成为你手上一件不可缺 ...
- Tabs - 选项卡插件
接上篇Tabs - 选项卡插件 其中12)Yet (E)Another Tab Interface没有依赖任何javascript框架,以作补充 9)Flipping C ...
- WCF连接被意外关闭
WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于W ...
- Asp.Net MVC5入门学习
添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用来便于我们的开发,要是对MVC概念还有点模糊的 ...