linux下的X server:linux图形界面原理
 
Moblin Core是在Gnome Mobile的平台上建立。我以前玩Linux,提交的都和图像没有关系,连Xwindows都不用启动,开机后直接进入文本命令行,所以这方面了解得很少,需要学习一下.
 
  严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用 GNU工程各种工具和数据库的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux 发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件(比如OpenOffice.org),等等。GNU组件可以运行于Linux内核之上。整 个内核是基于GNU通用公共许可,也就是GPL( General Pubic License)的,但是Linux内核并不是GNU 计划的一部分。
 
一、linux本身没有图形界面
 
        linux现在的图形界面的实现只是linux下的应用程序实现的:
        图形界面并不是linux的一部分,linux只是一个基于命令行的操作系统,linux和Xfree的关系就相当于当年的DOS和WINDOWS 3.0 一样,windows 3.0不是独立的操作系统,它只是DOS的扩充,是DOS下的应用程序级别的系统,不是独立的操作系统,同样XFree只是 linux下的一个应用程序而已。不是系统的一部分,但是X的存在可以方便用户使用电脑。WINDOWS 95及以后的版本就不一样了,他们的图形界面是操作系统的一部分,图形界面在系统内核中就实现了,没有了图形界面windows就不成为windows 了,但linux却不一样,没有图形界面linux还是linux,很多装linux的WEB服务器就根本不装X服务器。这也WINDOWS和linux 的重要区别之一。 
 
二,X是协议,不是具体的某个软件
 
  X是协议,就像HTTP协议,IP协议一样。这个概念 很多初学者甚至学习 LINUX有一定时间的人都混淆,一个基于X的应用程序需要运行并显示内容时他就联接到X服务器,开始用X协议和服务器交谈。比如一个X应用程序要在屏幕 上输出一个圆,X应用程序只负责告诉X服务器在屏幕的什么地方用什么颜色画一个多大的圆,而具体的"画"的动作,比如这个圆如何生成,用什么显卡的驱动程 序去指挥显卡完成等等工作是由X服务器来完成的。X服务器还负责捕捉键盘和鼠标的动作,假设X服务器捕捉到鼠标的左键被按下了,他就告诉X应用程序:亲爱 的应用程序先生,我发现鼠标被按下了,您有什么指示吗?协议是需要具体的软件来实现的,这就是下面我要讲的: 
 
三,X和XFree86的关系
 
    有了协议就需要具体的软件来实现这个协议。Xfree86就是这样一个去根据法规实现协议的"交警"。实现X协议的软件也并不只有 XFree86,XFree86只是实现X协议的一个免费X服务器软件。商业上常用MOTIF,现在还有XORG,还有很多很小的由爱好者写的小的X服务 器软件。甚至可以在WINDOWS上有X服务器运行,这样你可以在linux系统上运行一个X应用程序然后在另一台windows系统上显示。
   在LINUX上最常用的是XFree86(现在的linux发行版都用Xorg了)。苹果电脑的图形界面用的也是X协议,而且被认为是做的最好的X协 议图形界面,并且他对X协议的实施是做在系统内核里的,所以性能明显好很多,这就是为什么很多大型三维图形设计软件都是在苹果平台上的原因。 
既然是协议,那么肯定和平台无关的,因此可以让X应用程序显示在任何装有X服务器的远程计算机上。甚至显示在装有Xnest服务器的windows系 统上。只不过在大多数情况下,X应用程序都用本机的X服务器,然后X服务器将显示结果输出到本机的显示器。这也是很多人不理解X是一种协议的原因。
 
四,X和X11R6又是什么关系?
 
    不知道初学者有没有注意到/usr/X11R6这个目录,这是XFree的默认安装目录。X11R6 实际上是X Protocol version 11 Release 6(X协议第11版第六次发行)的意思。不同版本的X协议是不能通信的,不过不用担心,现在的X服务器软件和X应用程序都遵循X11R6。另外XFree86 3.3.6 XFree86 4.3.6等这些版本是实现X协议的软件XFree86的版本号。
 
五,X服务器和WM(window manager 窗口管理器)之间是什么关系。
 
    平时大家起动图形界面是怎么启动的呢? 如果一开始就进入图形界面,可打开一个XTERM输入init 3,就可以安全的回到字符界面。
先输入以下命令: # startx 起动图形界面,你看到的是一个和平时使用一样的完整的图形界面操作环境。你可以最大化,最小化,移动,关闭窗口等。
     按ctrl+alt+backspace反回字符界面。输入:#xinit,再次启动图形界面,你看到一个XTERM。而且不能移动。但是你可以在这 个XTERM中输入命令打开X应用程序,如果我输入:#mozilla 打开浏览器,你看到的浏览器和平时有什么不同吗?他在屏幕中间,不能移动,不能最小化,不能最大化,没有边框。 
    为什么同样一个X应用程序会有这样的不同呢?因为我们用startx起动图形界面的时候同时也启动了一个WM(即窗口管理器),如果你用KDE就起动 了 KDE,如果你用GNOME就起动了GNOME。但是你用xinit起动图形界面的时候却没有起动WM。现在你明白窗口管理器的作用了吗?他的作用就是最 大化,最小化,移动,关闭窗口等。而这些不是X服务器来负责完成的。 
   如果你用xinit起动图形界面并在xterm中输入twm,看看会有什么?xterm被加上了一个边框,你可以通过这个边框移动,最大化,最小化这 个xterm,twm就是XFree86中自带的窗口管理器,是一个比较简陋的最简单的窗口管理器,但是他具有窗口管理器的全部特征。如果你不输入twm 而输入gnome-session就可以起动GNOME 或者输入startkde起动KDE。 
 
六,关于KDE和GNOME
 
        KDE和GNOME是LINUX里最常用的图形界面操作环境,他们不仅仅是一个窗口管理器那么简单,kDE是K Desktop Environment的缩写。他不仅是一个窗口管理器,还有很多配套的应用软件和方便使用的桌面环境,比如任务栏,开始菜单,桌面图标等等。 
        GNOME是GNU Network Object Model Environment的缩写。和KDE一样,也是一个功能强大的综合环境。 
        另外在其它UNIX系统中,常常使用CDE作为这样一个环境。 
        其它的小型窗口管理器有: window maker,after step,blackbox,fvwm,fvwm2,等等都是常用的优秀窗口管理器。REDHAT9中有window maker 但是默认不安装,大家可以装来试试。只要xinit再wmaker & 就可以用windowmaker了。
 
七,linux图形界面层次关系总结
 
  linux本身-->X服务器<-[通过X协议交谈]->窗口管理器(综合桌面环境)-->X应用程序。

linux下的X server:linux图形界面原理的更多相关文章

  1. [转帖]linux下的X server:linux图形界面原理

    linux下的X server:linux图形界面原理 https://www.cnblogs.com/liangxiaofeng/p/5034912.html linux下的X server:lin ...

  2. Linux 下安装 Redis server

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/defonds/article/details/30047611         本文简介了 Linu ...

  3. (转)Linux下安装rar fou linux

    在Linux下安装rar fou linux rar for linux 软件下载地址:http://www.rarsoft.com/download.htm 到目前为止最新的版本为4.10 beta ...

  4. Linux下的tree命令 --Linux下目录树查看

    Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的, ...

  5. Linux下的tree命令 --Linux下文件夹树查看

    Linux下的tree命令 --Linux下文件夹树查看 有时我们须要生成文件夹树结构,能够使用的有ls -R,可是实际效果并不好 这时须要用到tree命令,可是大部分Linux系统是默认不安装该命令 ...

  6. [转帖]Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接

    Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接 https://blog.csdn.net/networken/article/details/88938304 转帖 ...

  7. linux -- Ubuntu Server 安装图形界面

    1.连接网络,你一定要确保网络通畅,如果你和我一样使用Wireless,那先找根网线插上,因为下面的安装都要通过网络下载组件的. 2.进入图形界面的命令是startX,敲击后会有安装xinit的提示. ...

  8. Linux使用远程X Server显示图形

    背景 通常我们不希望在服务器上安装图形界面,但有时候有些程序需要图形界面,比如安装oracle的时候.此时,可以配置让Linux使用远程的X Server进行图形界面显示. 首先要明确的是Linux ...

  9. RedHat Enterprise Linux 6 配置Xmanager ,实现图形界面连接

    我们经常见到的几种最为常用的windows下远程管理Linux服务器的方法,基本上都是利用SecureCRT,或者是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这 ...

随机推荐

  1. 常用Linux/Unix/Mac Os命令

    常用Linux/Unix/Mac OS命令 参考: 1.50 Most Frequently Used UNIX / Linux Commands (With Examples)

  2. Putty + Vim + Color

    Putty + Vim + Color 参考: 1.Using colour schemes with vim and putty 2.Putty的颜色 3.Custom PuTTY Color Th ...

  3. InstallShield Custom Dialog

    InstallShield 2008 Screen Layout is designed as below. Use toolbox to edit screen layout. 1> Set ...

  4. Linux 系统结构详解

    Linux 系统结构详解 Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统 ...

  5. PHP扩展开发(1):入门

    有关PHP扩展开发的文章.博客已经很多了,比较经典的有: TIPI项目(http://www.php-internals.com/,强烈推荐) <Extending and Embedding ...

  6. 省市选择(基于zepto.js)

    效果如下: <div class="clList overflow-h mt75"> <select class="pull-left cl-35 se ...

  7. Winform窗口弹出位置控制

    窗体的弹出位置可以由属性StartPosition来指定,默认值有: Manural 自定义,由属性Location指定: CenterScreen 屏幕中央: WindowsDefaultBound ...

  8. <a>作Form表单提</a>

    1. Form表单<%using (Html.BeginForm("AddRoles", "RoleManage", FormMethod.Post, n ...

  9. NGUI系列教程六(技能冷却的CD效果)

    今天来学习一下,如何利用NGUI做技能冷却的CD效果. 1,首先按之前的教程Create Your UI,Camera为Simple 2D 最终如下图: 2,添加一个按钮,Background 为一张 ...

  10. Substring的简单使用

    string myString = "测试一下函数Substring()是怎么用的"; //Substring()在C#中有两个重载函数 //分别如下示例 //如果参数为一个长整数 ...