没什么特别的想法,需要一个地方来记录关于探索Ubuntu的一些经历,以及即将探索的一些点。
对Ubuntu开机自启动的那些进程的具体功能都很感兴趣,如果是一些什么无聊又占资源的服务果断的禁用加杀死。
Xorg,Wayland,Mir(Unity 8)这三者是有关系的,同属于显示服务器(display server)。
Xorg服务器的网站:
1.官方网站:http://www.x.org/wiki/
2.维基百科:http://zh.wikipedia.org/wiki/Xorg,http://zh.wikipedia.org/wiki/X_Window_System(其中提供了很多关于X原理的解释的页面)
3.手册页: http://www.x.org/wiki/guide/
4.相关的信息:XFree86,freedesktop.org,X windows系统,X11R7.x(支持复杂的显示效果,外观策略由Composting Mangers提供),Compiz
背景:GNU/Linux开发者逐渐将很多与渲染相关的接口移到内核(内存管理,任务调度,KMS)或程序库(cario,pixman,freetype,fontconfig,pango)。X11协议巨大且包含很多过时的东西,一些X扩展(XRandR,XRender,Composite)治本不治标,因而,演化出Wayland这样的轻量级协议。
Wayland是位于显示服务器和客户端之间的display server protocol,其中仅包含输入处理和buffer管理,主要使用了Linux核心技术(Direct Rendering Manager-DRM,Kernel Mode-Setting-KMS,Graphics Execution Manager-GEM)。最初实现为libwayland-server,libwayland-client,libwayland-EGL以及Compositor。相关的网站:
1.官方网站:http://wayland.freedesktop.org/
2.维基百科,中文(http://zh.wikipedia.org/wiki/Wayland);英文(http://en.wikipedia.org/wiki/Wayland_%28display_server_protocol%29)
Mir是由Canonical(Ubuntu)开发的用来替代Ubuntu中X windwos 系统,类似Wayland,使用EGL。出现的原因:Ubuntu官方嫌Xorg官方反映速度慢,不如自己动手快。
1.项目网站:http://unity.ubuntu.com/mir/
2.维基百科:英文(http://en.wikipedia.org/wiki/Mir_%28software%29),中文(http://zh.wikipedia.org/wiki/Mir_%28%E6%98%BE%E7%A4%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%29)
Nouveau:开源的Nividia显卡驱动,开发方式为反编译NVIDIA的Linux显卡驱动,然后进行进一步加工。开源显卡的问题:所有类型的显卡使用相同的代码,对特定类型的显卡的优化不足,耗电多。
相关网站:http://nouveau.freedesktop.org; freedesktop
显卡驱动的安装:apt-get install drivername configtool
NVIDIA显卡:nvidia-glx,nvidia-settings
ATI显卡: xorg-driver-fglrx, fglrx-control
安装过官方的显卡驱动后,打开tty终端发现分辨率过低,这需要通过配置framebuffer,在内核启动项中添加framebuffer输出和分辨率的设置,在intramfs的模块中加入vesa的framebuffer及其设置,在intramfs的开机splash配置中开启framebuffer。详细的可以参考资料[1]
Compiz使用OpenGL并运行于X windows系统上混合窗口管理器(类比gdm,lightdm),其渲染能力使其可实现多种视觉效果,取代GNOME的Metacity视觉管理器。Compiz本身支持插件,部分列表(cube,fade,gconf,minmize,move,place,resize,rotate,scale,switcher,zoom)。相关网站:
1.官方网站:http://www.compiz.org/
2.维基百科:中文(http://zh.wikipedia.org/wiki/Compiz),英文(http://en.wikipedia.org/wiki/Compiz)
OpenGL提供描述绘制2D/3D图形的抽象API的规范(350左右),语言无关&平台无关。OpenGL被设计为只有输出,仅提供渲染功能。核心API不包含窗口系统,使其具有平台独立功能。OpenGL通过GLX与X11进行交互,通过WGL与MS Windows进行交互。OpenGL相关:竞争者Direct X,OpenGL ES。相关网页:
1.wiki主页:http://www.opengl.org/wiki/Main_Page
2.维基百科:http://zh.wikipedia.org/wiki/OpenGL
FreeDesktop 是一项帮助在不同的X Window桌面——例如GNOME,KDE或者XFCE——之间实现互操作和共享技术的计划。尽管并非正式标准化组织,Freedesktop定义了X桌面的基本特征,包括程序之间的拖放、窗口管理器规范、菜单布局、最近文件列表、程序之间复制粘贴和共享的MIME类型数据库等等。
遵从Freedesktop规范使得GNOME应用程序能够集成到其他桌面(反之亦然),并鼓励之间的竞争和合作。备注:好处显而易见,我的机器上GNOME环境中安装了很多Qt软件,比如WPS,Okular,Ksnapshot。
由于当时Qt未使用GPL授权,衍生的两个项目,Qt库代替者Harmony,另一桌面系统GNOME。GNOME计划提供:1.GNOME桌面环境 2.GNOME开发环境。GNOME的特点:易用国际化。GNOME的组成部分:Bonobo,GObject,GConf,GNOME VFS,GNOME 钥匙圈,GNOME Print,GStreamer,GTK+,Cario,libxml2,Pango,窗口管理器(Metacity,Mutter)
GNOME软件列表:
相关网站:
1.官方网站:www.gnome.org
2.维基百科:中文(http://zh.wikipedia.org/wiki/GNOME),英文
3.ArchLinux: GNOME (简体中文)
包管理软件(Apt,Debian打包以及包安装的文档信息)
Ranger,Nautilus,WPS等等生产力软件的学习和使用,有待添加。
Linux 文件层次相关的知识(FHS)及其翻译。
发现,中文维基和英文维基之间的信息不对称。涉及到Ubuntu图形界面的这一部分,错综复杂,搞得我很头疼。
博客写到一半,总体上了解了很多东西,但后来干别的事去了,有空再添加内容。
[1].Ubuntu 12.04 使用虚拟控制台fberm,显示并可输入中文