linux中tty终端及XWindow、GNOME、KDE等概念

一、TTY终端

在Linux系统的设备特殊文件目录/dev/下,终端设备文件有以下几种:

1)控制终端(/dev/tty),tty是所有终端的统称,包括串口、控制台终端以及伪终端设备。通过tty命令可以知道当前具体是什么终端(所以tty也代表当前的终端,echo hello > /dev/tty都会显示在当前的终端中,可能是上面的任意一种终端)。/dev/tty是当前进程的控制终端的设备文件,可以使用命令”ps –ax”来查看进程与哪个控制终端相连。


2)串行端口终端(/dev/ttySn),计算机把每个串行端口都看作是一个字符设备,若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。


3)控制台终端(/dev/ttyn,/dev/console),使用Alt+[F1~6]组合键时,我们可以在tty1、tty2...切换,tty1~tty6等称为虚拟控制台,而tty0则是当前所使用的虚拟控制台的一个别名,系统产生的信息会发送到该终端上。


4)虚拟终端(dev/pts/n)或者叫伪终端,在XWindows模式下的伪终端,另外远程登陆的用户,就是使用telnet、ssh等远程登陆的用户,他的终端显示就是pts/n。pts是pty的实现方法,与ptmx配合使用实现pty。



二、X Window、GNOME、KDE

        X Window是Linux下的窗口系统,GNOME和KDE是基于X Window的经过不同组织进行整合之后的桌面环境,通过X Window他们才能运行。X Window(请注意不是X Windows)并不是一个直接的图形操作环境,而是作为图形环境与UNIX系统内核沟通的中间桥梁,任何厂商都可以在X Window基础上开发出不同的GUI图形环境。

        X Window从逻辑上分为三层:最底层的X Server(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给X Client(X客户端)作出反馈,而由X Client传来的输出信息也由它来负责输出;最外层的X Client则提供一个完整的GUI界面,负责与用户的直接交互(KDE、Gnome都是一个X Client),而衔接X Server与X Client的就是“X Protocol(X通讯协议)”、它的任务是充当这两者的沟通管道。尽管UNIX厂商采用相同的X Window,但由于终端的X Client并不相同,这就导致不同UNIX产品搭配的GUI界面看起来非常不一样。

1)KDE是由德国程序员发起的,他们采用了TrollTech软件公司的Qt图形界面库作为基础开发,C++为主要语言。

2)为了与KDE抗衡,世界最大的自由软件组织GNU(自由软件基金会)发起了GNOME桌面环境项目。与KDE不同,GNOME采用了符合GPL自由软件协议的GDK、GTK作为底层开发平台,也就是说GNOME是真正意义上的GPL自由软件,商业公司无需支付任何费用就可以使用他。且GTK采用传统的C语言。







你可能感兴趣的:(ubuntu系统)