‘壹’ linux 如何安装X windows
X Window即X
Windows图形用户接口,是一种计算机软件系统和网络协议,提供了一个基础的图形用户界面(GUI)和丰富的输入设备能力联网计算机。其中软件编写使
用广义的命令集,它创建了一个硬件抽象层,允许设备独立性和重用方案的任何计算机上实现。
下面为安装X Window过程:
#ssh以支持XWindow的形式登录
[root@larrywen software]# ssh 192.168.0.29 -X
The authenticity of host '192.168.0.29 (192.168.0.29)' can't be established.
RSA key fingerprint is 38:a0:60:c2:e8:71:26:e5:b3:83:75:a8:e6:25:d8:5e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.29' (RSA) to the list of known hosts.
[email protected]'s password:
Last login: Sat Jul 27 13:46:29 2013 from 192.168.0.10
#本地创建一个文件,编辑保存一个文件到远程,可以看到远程有刚创建的文件
[root@linuxidc ~]# gedit
[root@linuxidc ~]#
#以支持XWindow的形式登录,远程不安装X Window服务,可以看到本机编辑保存的文件
[root@larrywen Desktop]# ssh 192.168.1.11 -X
[email protected]'s password:
Last login: Sat Jul 27 19:26:38 2013 from 192.168.1.1
/usr/bin/xauth: creating new authority file /root/.Xauthority
[root@serv01 ~]# gedit
[root@serv01 ~]# ls Unsaved\ Document\ 1
Unsaved Document 1
#安装X Window,建议安装完后重启
[root@serv01 ~]# yum groupinstall "X Window System" "Desktop" -y
#卸载X Window
[root@serv01 ~]# yum groupremove "X Window System" "Desktop" -y
#可以选择安装Gnome或者KDE
#RHEL5 6,Desktop 默认是Gnome
#RHEL4,Desktop 默认是KDE
#虚拟机下要启动图形界面,需要调整内存,最好800M
#字符界面下启动图形界面
[root@serv01 ~]# startx
#图形界面下退回字符界面
Ctrl+Alt+Back
#测试用:如果安装后卸载然后重新安装后出现鼠标、键盘不能移动,重启解决
‘贰’ linux系统安装后是Xwindows界面,如何切换到字符界面
通常在安装Linux后,一般系统都会自动启动GUI图形界面的。但是呢,我个人不太推荐在学习Linux的时候使用GUI图形界面,因此要使用命令行模式,敲打命令来操作Linux才行,为自己以后的嵌入式开发做铺垫。建立的方法如下:
1、通过GUI下得仿真终端
只要在桌面右击【新建终端】就可以了
2、通过虚拟控制台
这个要分两种情况来说:第一种是在图形环境底下,通过按快捷键Ctrl + Alt + Fn(Fn表示F1到F7),其中Ctrl +
Alt + F7是回到晌亩饥图形界面。第二种情况是系统就已经在命令行格式底下,通过按Alt + Fn(Fn表示F1到F6)。
由于Linux是一个多用户操作系统,可以接受多个用户登录,还可以允许同一个用户多次登录,比方说,你登录了以后,你可以按Alt + F2,又可以看到一个“login:”的提示,你又可以进行登录了,按Alt + F1,就可以回到第一个虚拟控制台
3、通过配置/etc/inittab实现系统直接进入命令行格式
要修改这个文件,你要先用root来登录,然后在仿真终端或者是虚拟控制台敲入以下命令“vi
/etc/inittab”,vi是Linux的编辑器,/etc/inittab是所在的路径,inittab这个文件在etc目录下,打开后,就可以
看到这些关宴返键字符串:
# cat /etc/inittab
...........................................
# Default runlevel.The runlevels used yb RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS(The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
0的这一个选项是关机,1的选项是单用户模式,2是多用户但不能使用网络文件系统,3是多用户模式,4是还没有使用,5是图形界面,6是重启。
关键就在id:5:initdefault这里。只要把中间的耐绝5替换成1、3.。。。这些选项即可。由于这是系统启动的配置文件,因此在配置的时候要慎
重,首先,0、6、4这些选项是不能用,4选项我就不是很清楚了,但是如果设置成0,每次启动都会关机。设置成6,每次启动都会重启,那就麻烦了。因此在配置的使用针对1、2、3、5这个选项即可,一般来说要进入命令行格式,配置为3选项。然后保存重启就可以进入到命令行格式了。
‘叁’ 谁知道linux操作系统和 windows 的优点 缺点 区别
分类: 电脑/网络 >> 电脑常识
问题描述:
谁知道linux操作系统和 windows 的优点 缺点 区别 ??
解析:
1. Linux的操作比较复杂,windows的比较简单.
Linux速度比较快,安全性比windows好
但是有很多软件只能在windows里运行
与Linux兼容的软件正在开发中.
Linux适用在网络方面.
2. 什么是Linux?
简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基
于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员
设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自
由使用的 Unix兼容产品。 Linux的出现,最早开始于一位名叫 Linus Torvalds
的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一
个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系
统示教程序)的操作系统,这个操作系统可用于 386、 486或奔腾处理器的个人
计算机上,并且具有 Unix操作系统的全部功能,因而开始了 Linux雏形的设计。
Linux以它的高效性和灵活性着称。它能够在 PC计算机上实现全部的 Unix特性,
具有多任务、多用户的能力。 Linux是在 GNU公共许可权限下免费获得的,是一
个符合 POSIX标准的操作系统。 Linux操作系统软件包不仅包括完整的 Linux操
作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有
多个窗口管理器的 X-Windows图形用户界面,如同我们使用 Windows NT一样,允
许我们使用窗口、图标和菜单对系统进行操作。
Linux与其他操作系统有什么区别:
Linux可以与 MS-DOS、 OS/2、 Windows等其他操作系统共存于同一台机器上。它
们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在 PC机上的操作系统主要有Microsoft的 MS-DOS、 Windows、 Windows
NT、 IBM的 OS/2等。早期的 PC机用户普遍使用 MS-DOS,因为这种操作系统对机
器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来
越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用
Windows、Windows NT等具有图形界面的操作系统。 Linux是新近被人们所关注的
操作系统,它正在逐渐为 PC机的用户所接受。那么, Linux与其他操作系统的主
要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与 MS- DOS之间的区别。 在同一系统上运行 Linux和 MS-DOS
已很普遍,就发挥处理器功能来说, MS-DOS没有完全实现 x86处理器的功能,而
Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。 Linux可以
直接访问计算机内的所有可用内存,提供完整的 Unix接口。而 MS-DOS只支持部
分 Unix的接口。
就使用费用而言, Linux和 MS-DOS是两种完全不同的实体。与其他商业操作系统
相比, MS-DOS价格比较便宜,而且在 PC机用户中有很大的占有率,任何其他 PC
机操作系统都很难达到 MS-DOS的普及程度,因为其他操作系统的费用对大多数
PC机用户来说都是一个不小的负担。 Linux是免费的,用户可以从 inter上或
者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。 就操作系统
的功能来说, MS-DOS是单任务的操作系统,一旦用户运行了一个 MS-DOS的应用
程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而 Linux
是多任务的操作系统,用户可以同时运行多个应用程序。 再看一下 Linux与
OS/2、 Windows、 Windows NT之间的区别。
从发展的背景看, Linux与其他操作系统的区别是, Linux是从一个比较成熟的
操作系统发展而来的,而其他操作系统,如 Windows NT等,都是自成体系,无对
应的相依托的操作系统。这一区别使得 Linux的用户能大大地从 Unix团体贡献中
获利。因为 Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年
代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少
相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是
Unix的作者还是 Unix的用户,都认为只有 Unix才是一个真正的操作系统。
3. 首先你需要明白,Linux不是windows,它不是一个由一家商业公司维护的软件
,
只有一个包装。Linux是可以任意包装自由配置的东西。任何一个人,一家公司
都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些
Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。区
别
是用一种Linux 发布 (不同的Linux我们叫做不同的发布)也许硬件很好配置,
各种软件也好安装,用另外一种也许速度快,再一种也许支持中文比较好。总之
没有白吃的午餐,在windows下想当然的东西在linux下也许需要你熬夜才能得到
。
所以从一开始选择distribution就必须非常小心,否则因为自己刚好随某个杂志
得到一个Linux发布就以为所有的都一样就开始安装,等硬盘数据毁了,
或者网络哭天跄地也配不出来的时候,就晚了。不是开玩笑,我知道windows下
安装驱动程序就是鼠标点几下,可是在Linux下,为了驱动一个网卡,折腾一夜
是不希奇的 -- 当然,我觉得这是值得的。
所以,面对那么多Linux distribution,你应当选择哪个呢?
比较着名的Linux distribution有:
RedHat:最新版本6.2, 7.0beta。由于RedHat公司已经上市,获得了很多
商业的支持,所以它在硬件软件兼容性上很好。实际上它已经是Linux的
工业标准。想象一下如果你是一个比如Oracle这样厂商的老板,你需要为
Linux开发一个版本,而不同的Linux dist需要单独开发维护,为成本考虑你
自然会只认准一个Linux。
Slackware(7.1)。很早就有的Linux,有很多老的忠实用户,但现在越来越不行了
。
SuSe Linux,德国人做的,在欧洲很流行,有一些驱动上的优势。
另外还有Debian,CorelLinux等dist,不一一介绍了。
还有你会看到国内媒体上吹捧的各种“中文Linux”,他们的优势主要是有
中文处理。但是如前一篇文章提到的,想用中文,用windows 2000最好。实际上
我觉得一个老7字班的前辈跟我说的一句话很好:“(对我们来说)在计算机上看
到
中文本身就是一件很古怪的事情”。如果你是抱着学习计算机的目的而来,那么
你不可能避免阅读英文文档。即使是microsoft的文档,有关编程的文档,最新的
也
全是英文。当然,要上BBS,看中文网页等,用英文的dist一样能做到
4. Linux和Windows的区别
和Linux 一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口
、网络和安全性。但是,Linux和Windows的真正区别在于,Linux 事实上是Unix
的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在
于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础
。在Inter上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂
商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix的分发。现在,
存在一股巨大的力量推动Unix社团以开放系统的形式走向标准化。另一方面Windo
ws系列是专用系统,由开发操作系统的公司控制接口和设计。在这个意义上这种
公司利润很高,因为它对程序设计和用户接口设计建立了严格的标准,和那些开
放系统社团完全不一样。一些组织正在试图完成标准化Unix程序设计接口的任务
。特别要指出的是,Linux完全兼容POSIX.1标准。
安全问题对于IT管理员来说是需要长期关注的。主管们需要一套框架来对操作系
统的安全性进行合理的评估,包括:基本安全、网络安全和协议,应用协议、发
布与操作、确信度、可信计算、开放标准。在本文中,我们将按照这七个类别比
较微软Windows和Linux的安全性。最终的定性结论是:目前为止,Linux提供了相
对于Windows更好的安全性能,只有一个方面例外(确信度)。
无论按照什么标准对Windows和Linux进行评估,都存在一定的问题:每个操作系
统都不止一个版本。微软的操作系统有Windows98、 Windows NT、 Windows 2000
、 Windows 2003 Server和Windows
CE,而Linux的发行版由于内核(基于2.2、2.4、2.6)的不同和软件包的不同也
有较大的差异。我们本文所使用的操作系统,都是目前的技术而不是那些"古老"
的解决方案。
用户需要记住:Linux和Windows在设计上就存在哲学性的区别。Windows操作系统
倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同
于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者
都可以使操作系统更加安全。
Linux和Windows安全性的基本改变
对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争。用户可以有
自己喜欢的系统,同时也在关注竞争的发展。微软的主动性似乎更高一些――这
是由于业界"冷嘲热讽"的"激励"与Linux的不断发展。微软将在下几个月对Window
s安全进行改观,届时微软会发布Windows XP的WindowsXP Service Pack 2。这一
服务包增强了Windows的安全性,关闭了原先默认开放的许多服务,也提供了新的
补丁管理工具,例如:为了避免受到过多无用的信息,警告服务和信使服务都被
关闭。大多数情况下,关闭这些特性对于增强系统安全性是有好处的,不过很难
在安全性与软件的功能性、灵活性之间作出折衷。
最显着的表现是:微软更加关注改进可用性的同时增强系统的安全性。比如:200
3年许多针对微软的漏洞攻击程序都使用可执行文件作为电子邮件的附件(例如My
Doom)。Service Pack2包括一个附件执行服务,为Outlook/Exchange、 Windows
Messenger和Inter Explorer提供了统一的环境。这样就能降低用户运行可执
行文件时感染病毒或者蠕虫的威胁性。另外,禁止数据页的可执行性也会限制潜
在的缓冲区溢出的威胁。不过,微软在WindowsXP Service Pack
2中并没有修改Windows有问题的架构以及安全传输的部分,而是将这部分重担交
给了用户。
微软的重点显然是支持应用程序的安全性。WindowsXP Service Pack 2中增强的
许多方面都是以Outlook/Exchange和Inter
Explorer作为对象的。例如:Inter Explorer中有一个智能的MIME类型检查,
会对目标的内容类型进行检查,用户可以获悉该内容中是否存在潜在的有害程序
。不过这一软件是不是能将病毒与同事的电子数据表区分开来呢?
WindowsXP Service Pack 2的另一个新特性是能够卸载浏览器的多余插件,这需
要终端用户检查并判断需要卸载哪些插件。Outlook/Exchange可以预览电子邮件
消息,因此用户可以在打开之前就将电子邮件删除。另一个应用安全的增强,防
火墙在网络协议栈之前启动。对于软件开发者来说,远方过程调用中权限的改变
,使得安全性差的代码难以工作正常。
WindowsXP Service Pack 2也为Windows用户提供了许多华丽的新特性,但是问题
仍然存在:这些特性会不会对管理员甚至是终端用户造成负担?是不是在增加了W
indows操作系统代码安全性的同时让系统变得更加复杂?
Linux 与 Windows 的不同
虽然有一些类似之处,但Windows和Linux的工作方式还是存在一些根本的区别。
这些区别只有在您对两者都很熟悉以后才能体会到,但它们却是 Linux 思想的核
心。
Linux 的应用目标是网络而不是打印
Windows最初出现的时候,这个世界还是一个纸张的世界。Windows的伟大成就之
一在于您的工作成果可以方便地看到并打印出来。这样一个开端影响了 Windows
的后期发展。
同样,Linux 也受到了其起源的影响。Linux 的设计定位于网络操作系统。它的
设计灵感来自于 Unix 操作系统,因此它的命令的设计比较简单,或者说是比较
简洁。由于纯文本可以非常好地跨网络工作,所以 Linux 配置文件和数据都以文
本为基础。
对那些熟悉图形环境的人来说,Linux服务器初看可能比较原始。但是Linux开发
更多关注的是它的内在功能而不是表面上的东西。即使是在纯文本的环境中,Lin
ux同样拥有非常先进的网络、脚本和安全能力。执行一些任务所需的某些表面上
看起来比较奇怪的步骤是令人费解的,除非您认识到 Linux 是期望在网络上与其
他 Linux系统协同执行这些任务。Linux的自动执行能力也很强,只需要设计批处
理文件就可以让系统自动完成非常详细的任务。Linux 的这种能力来自于其基于
文本的本质。
可选的 GUI
Linux有图形组件。Linux支持高端的图形适配器和显示器,完全胜任图形相关的
工作。现在,许多数字效果艺术家在Linux工作站上来进行他们的设计工作,而以
前这些工作需要使用IRIX系统来完成。但是,图形环境并没有集成到 Linux 中,
而是运行于系统之上的单独一层。这意味着您可以只运行 GUI,或者在需要时才
运行 GUI。如果您的系统主要任务是提供Web应用,那么您可以停掉图形界面,而
将其所用的内存和CPU资源用于您的服务。如果您需要在 GUI 环境下做一些工作
,可以再打开它,工作完成后再将其关闭。
Linux 有图形化的管理工具,以及日常办公的工具,比如电子邮件、网络浏览器
和文档处理工具等。不过,在 Linux 中,图形化的管理工具通常是控制台 (命令
行) 工具的扩展。也就是说,用图形化工具能完成的所有工作,用控制台命令同
样可以完成。同样,使用图形化工具并不妨碍您对配置文件进行手工修改。其实
际意义可能并不是特别显而易见,但是,如果在图形化管理工具中所做的任何工
作都可以以命令行的方式完成,这就表示那些工作也可以由一个脚本来实现。脚
本化的命令可以成为自动执行的任务。Linux 同时支持这两种方式,并不要求您
只用文本或者只用 GUI。您可以根据您的需要选择最好的方法。
Linux 中的配置文件是人类可读的文本文件,这与过去的 Windows 中的 INI 文
件类似,但与 Windows 的注册表机制在思路上有本质的区别。每一个应用程序都
有其自己的配置文件,而且通常不与其他的配置文件放在一起。不过,大部分的
配置文件都存放于一个目录树 (/etc) 下的单个地方,所以看起来它们在逻辑上
是在一起。文本文件的配置方式使得不通过特殊的系统工具就可以完成配置文件
的备份、检查和编辑工作。
文件名扩展
Linux不使用文件名扩展来识别文件的类型。相反,Linux根据文件的头内容来识
别其类型。为了提高人类可读性您仍可以使用文件名扩展,但这对 Linux 系统来
说没有任何作用。不过,有一些应用程序,比如 Web 服务器,可能使用命名约定
来识别文件类型,但这只是特定的应用程序的要求而不是 Linux 系统本身的要求
。
Linux通过文件访问权限来判断文件是否为可执行文件。任何一个文件都可以赋予
可执行权限,这样程序和脚本的创建者或管理员可以将它们识别为可执行文件。
这样做有利于安全。保存到系统上的可执行的文件不能自动执行,这样就可以防
止许多脚本病毒。
重新引导是最后的手段
如果您使用Windows已经很长时间了,您可能已经习惯出于各种原因(从软件安装
到纠正服务故障)而重新引导系统。在Linux思想中您的这一习惯需要改变。Linu
x在本质上更遵循“牛顿运动定律”。一旦开始运行,它将保持运行状态,直到受
到外来因素的影响,比如硬件的故障。实际上,Linux系统的设计使得应用程序不
会导致内核的崩溃,因此不必经常重新引导(与Windows系统的设计相对而言)。
所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引
导系统。
如果您确实重新引导了 Linux 系统,问题很可能得不到解决,而且还会使问题更
加恶化。学习并掌握 Linux 服务和运行级别是成功解决问题的关键。学习 Linux
最困难的就是克服重新引导系统的习惯。
另外,您可以远程地完成Linux中的很多工作。只要有一些基本的网络服务在运行
,您就可以进入到那个系统。而且,如果系统中一个特定的服务出现了问题,您
可以在进行故障诊断的同时让其他服务继续运行。当您在一个系统上同时运行多
个服务的时候,这种管理方式非常重要。
命令区分大小写
所有的 Linux 命令和选项都区分大小写。例如, -R 与 -r 不同,会去做不同的
事情。控制台命令几乎都是小写的。我们将在“ 第 2 部分. 控制台速成班”中
对命令进行更详细的介绍。
==========================
好了 ,,
‘肆’ linux远程桌面有几种方法(具体) x11vnc vnc X windows 之间有什么关系
探索Linux远程桌面的多元手段:X11vnc、VNC与X Windows的不解之缘
在Linux的世界里,远程桌面并不陌生,它就像X Windows的延伸,原本的X Server和X Client在同一台机器上运行时,就漏如兆是我们熟知的本地桌面。然而,通过SSH的桥梁,这个界限瞬间变得模糊,实现远程操作就如同近在咫尺。
VNC,就像Windows中的远程桌面协议RDP,为我们提供了另一种返租远程控制模式。它的核心理念是将整个桌面视为一个独立的远程实体,用户一旦连接,就能在一个统一的环境中进行所有操作,仿佛亲自坐在远程机器前。
与VNC不同的是,X11vnc则更倾向于以应用程序为中心的远程访问。想象一下,你可以在Macbook上轻松通过X Windows,远程操控家中的Linux服务器,运行诸如nautilus这样的文件管理器,此时,你的视界中展示的是服务器的真实文件,这种体验更侧重于应用的交互而非单一的桌面环境。
总结来说,X11vnc和VNC虽然都是远程桌面解决方案,但它们在远程操作的粒度上有所区别。X11vnc更倾向于提供应用程序级别的远橡拿程控制,而VNC则更倾向于全面的桌面复制。两者都是Linux远程管理的强大工具,根据你的需求和习惯选择最适合你的那一种,让远程工作或管理变得更加便捷高效。
‘伍’ linux GTK、KDE、Gnome、XWindows 图形界面区别是什么
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux图形界面是许多应用程序的可视化与实现,这篇文章主要介绍了GTK、KDE、Gnome、XWindows 图形界面,需要的朋友可以参考下
具体介绍
一、linux图形界面的实现只是linux下的应用程序实现
图形界面(GUI)并不是linux的一部分,linux只是一个基于命令行的操作系统,linux和Xfree的关系就相当于当年的DOS和Windows 3.0一样,Windows 3.0不是独立的操作系统,它只是DOS的扩充,是DOS下的应用程序级别(GUI)的系统,不是独立的操作系统。同样XFree只是linux下的一个应用程序而已,不是系统的一部分,但是X的存在可以方便用户使用电脑。Windows 95及以后的版本就不一样了,他们的图形界面是操作系统的一部分,图形界面在系统内核中就实现了,没有了图形界面windows就不成为windows了,但linux却不一样,没有图形界面linux还是linux,很多装linux的WEB服务器就根本不装X服务器。这也WINDOWS和linux的重要区别之一.
二、X是协议,不是具体的某个软件
X是协议,就像HTTP协议、IP协议一样。因为输入设备和显示设备不是同一个设备,而且他们需要相互配合,进行画面显示,所以需要一个交互协议,建立他们直接的沟通桥梁。
X协议主要有X应用程序和X服务器组成,如:我需要划个圆,X应用程序告诉X服务器在屏幕的什么地方用什么颜色画一个多大的圆,而具体的"画"的动作,比如这个圆如何生成,用什么显卡的驱动程序去指挥显卡完成等等工作是由X服务器来完成的.
X服务器还负责捕捉键盘和鼠标的动作,假设X服务器捕捉到鼠标的左键被按下了,他就告诉X应用程序:亲爱的应用程序先生,我发现鼠标被按下了,您有什么指示吗?如果X应用程序被设计成当按下鼠标左健后再在屏幕上画一个正方形的话,X应用程序就对X服务器说:请再画一个正方形,当然他会告诉服务器在什么地方用什么颜色画多大的正方形,但不关心具体怎么画——那是服务器的事情。
三、X和XFree86的关系
有了协议,就需要具体的软件来实现这个协议,就好比我们有了交通法规就需要交警去根据法规维护交通秩序一样。Xfree86就是这样一个去根据法规实现协议的"交警",他按照X协议的规定来完成X应用程序提交的在屏幕上显示的任务.当然不仅仅是某个特定的交警才可以去维护和实现这个法规,比如还可以由交通协管员来实现交通法规,必要的时候警察也可以介入,当然前提是他们都要懂得交通法规,也就是要懂得协议,所以实现X协议的软件也并不只有XFree86,XFree86只是实现X协议的一个免费X服务器软件。商业上常用MOTIF,现在还有XORG,还有很多很小的由爱好者写的小的X服务器软件,甚至可以在Windows上有X服务器运行,这样你可以在linux系统上运行一个X应用程序然后在另一台windows系统上显示,多么神奇!你可以用google找到这样的X服务器软件,只不过在LINUX上最常用的是XFree86(现在的linux发行版都用Xorg了)顺便说一句,苹果电脑的图形界面用的也是X协议,而且被认为是做的最好的X协议图形界面,并且他对X协议的实施是做在系统内核里的,所以性能明显好很多,这就是为什么很多大型三维图形设计软件都是在苹果平台上的原因。
为了便于理解拿HTTP协议来比较:
1)协议是HTTP(hyper text transmission protocol)
实现这个协议的常用服务器有:apacheIIS 等
请求这些服务器传输文件的客户有:IE、MOZILLA、NETSCAPE等
2)协议是X
实现这个协议的常用服务器有:Xfree86、Xorg、Xnest等
请求这些服务器来完成显示任务的客户:所有的X应用程序.
只不过HTTP协议的服务器和客户端通常都在两台不同的电脑(服务器和客户机)之间来实现,所以一般人对这个比较容易理解。而X协议的服务器和客户端程序通常在同一台电脑上,因此很多用户都感到对此很难理解,既然是协议,那么肯定和平台无关的,因此可以让X应用程序显示在任何装有X服务器的远程计算机上,甚至显示在装有Xnest服务器的windows系统上。只不过在大多数情况下,X应用程序都用本机的X服务器,然后X服务器将显示结果输出到本机的显示器,这也是很多人不理解X是一种协议的原因.
四、X、X11、X11R6又是什么关系?
不知道初学者有没有注意到/usr/X11R6这个目录,这是XFree的默认安装目录
X11R6实际上是XProtocol version 11 Release6(X协议第11版第六次发行)的意思,就是说目前用的X协议是第11版的,然后经过了6次小的修正。不同版本的X协议是不能通信的,就象我们现在IPV4和IPV6不能通信一样,不过不用担心,现在的X服务器软件和X应用程序都遵循X11R6.
另外XFree86 3.3.6、XFree86 4.3.6等这些版本是实现X协议的软件XFree86的版本号.这是初学者经常高混淆的概念.
协议版本和实现协议的软件的版本——这两个概念的区别你分清楚了吗?
五、WM(Window Manager)窗口管理器
窗口管理器的作用就是实现窗口的最大化、最小化、移动、关闭等,而这些不是X服务器来负责完成的。如果不窗口管理器,X应用程序仍可以启动,但它就在屏幕中间,不能移动、不能最小化、不能最大化、没有边框。
Xfree86自带了一个简单的窗口管理器:twm,同时窗口管理器还有GNOME和KDE等。为了更方便的了解窗口管理器的作用,我们可以做以下测试(因我使用的是ubuntu,无法确认以下操作和命令的正确性,请有条件的朋友测试以下并给与指正)。
1、系统(有界面的Linux)启动后,进入图形进面,我们打开一个XTERM,输入init3就可以安全的回到字符界面.
2、再输入#startx又返回到图形界面,你看到的是一个和平时使用一样的完整的图形界面操作环境,你可以最大化、最小化、移动、关闭窗口等。
3、我们还是再次进入字符界面,按ctrl+alt+backspace反回字符界面,输入:#xinit(注:与第二步的命令startx不同),再次启动图形界面,你看到了什么,你看到一个XTERM.而且不能移动.但是你可以在这个XTERM中输入命令打开X应用程序,如果我输入:#mozilla。打开浏览器,你看到的浏览器和平时有什么不同吗?他在屏幕中间,不能移动、不能最小化、不能最大化、没有边框。
为什么同样一个X应用程序会有这样的不同呢?因为我们用startx启动图形界面的时候同时也启动了一个默认的WM(即窗口管理器),如果你用KDE就起动了KDE,如果你用GNOME就起动了GNOME,但是你用xinit起动图形界面的时候却没有起动WM.
4、如果你用xinit起动图形界面并在xterm中输入twm,看看会有什么?xterm被加上了一个边框,你可以通过这个边框移动、最大化、最小化这个xterm,twm就是XFree86中自带的窗口管理器,是一个比较简陋的最简单的窗口管理器,但是他具有窗口管理器的全部特征.
5、如果你不输入twm而输入gnome-session就可以起动GNOME或者输入startkde起动KDE.
通过以上的实验你就可以清楚的明白他们之间的关系,另其它的小型窗口管理器有:
windowmaker、after step、blackbox、fvwm、fvwm2等等都是常用的优秀窗口管理器。REDHAT9中有windowmaker 但是默认不安装,大家可以装来试试.只要xinit再wmaker&就可以用windowmaker了.
六、X协议的Client端有时谁实现的呢?
XFree86是X协议的服务器软件(注以软件的形式实现),但Client端更多的是方便程序员更方便的使用X协议与服务器端的XFree86交互,故就产生了一个Xlib库,封装了X协议内容,如果你还觉得直接使用Xlib不方便,于是就产生了QT和GTK,对Xlib进一步封装,提供了很多控件,可以可视化的使用X协议更方便程序员的开发。
Xlib、QT、GTK直接关系如下图:
QT是直接使用xlib库的,GTK不能直接使用xlib,而是使用更低层的函数库GDK和Glib。这种结构使得Gtk可以更方便地移植到其它系统上,或使用与XWindows系统无关的图形库。
七、KDE、GNOME、QT和GTK直接关系
KDE和GNOME是窗口管理器,启动他们后我们进入了可视化操作(图形界面),既然需要显示图形,自然少不了与X协议的服务器软件打交道,既然QT和GTK进一步封装了X协议,并且他们提供了更为丰富的窗口及控制机制,于是在QT基础上实现的窗口管理器叫KDE,在GTK基础上实现的窗口管理器叫GNOME.
再次提示:KDE和GNOME并不只是窗口管理器,同时提供了桌面、菜单等等。
KDE和Gnome都是桌面环境中的一种,用的库不一样,可以是KDE,Gnome,还可以是XFCE、LXDE等
kde用的qt库,但是qt库不是免费的,在基于qt的软件版权上面会有一些问题。于是就有人开发出了gnome,用的是gtk库,这个库没有qt库在版权上的问题。
(qt库和gtk库就相当于windows下的MFC库)
补充:Linux基本命令
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd .. 返回上一级目录。
cd ../.. 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
相关阅读:Linux主要特性
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。