在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell所提供的文本命令
行界面(command line interface,CLI)。CLI只能接受文本输入,也只能显示出文本和基本的图形
输出。

由于这些限制,输出设备并不需要多华丽。通常只需要一个简单的哑终端就可以使用Unix
系统。所谓的哑终端无非就是利用通信电缆(一般是一条多线束的串行电缆)连接到Unix系统上
的一台显示器和一个键盘。这种简单的组合可以轻松地向Unix系统中输入文本数据,并查看文本
输出结果。

如你所知,如今的Linux环境相较以前已经发生了巨大变化。所有的Linux发行版都配备
了某种类型的图形化桌面环境。但是,如果想输入shell命令,仍旧需要使用文本显示来访问
shell的CLI。于是现在的问题就归结为一点:有时还真是不容易在Linux发行版上找到进入CLI
的方法。

2.1.1 控制台终端

进入CLI的一种方法是让Linux系统退出图形化桌面模式,进入文本模式。这样在显示器上就
只有一个简单的shell CLI,跟图形化桌面出现以前一样。这种模式称作Linux控制台,因为它仿真
了早期的硬接线控制台终端,而且是一种同Linux系统交互的直接接口。

Linux系统启动后,它会自动创建出一些虚拟控制台。虚拟控制台是运行在Linux系统内存中
的终端会话。无需在计算机上连接多个哑终端,大多数Linux发行版会启动5~6个(有时会更多)
虚拟控制台,你在一台计算机的显示器和键盘上就可以访问它们。

2.1.2 图形化终端

除了虚拟化终端控制台,还可以使用Linux图形化桌面环境中的终端仿真包。终端仿真包会
在一个桌面图形化窗口中模拟控制台终端的使用。图2-1展示了一个运行在Linux图形化桌面环境
中的终端仿真器。
image.png

图形化终端仿真只负责Linux图形化体验的一部分。完整的体验效果需要借助多个组件来实
现,其中就包括图形化终端仿真软件(称为客户端)。表2-1展示了Linux图形化桌面环境的不同
组成部分。

表2-1 图形界面的组成
名 称 例 子 描 述
客户端 图形化终端仿真器,桌面环境,网络浏览器 请求图形化服务的应用
显示服务器 Mir,Wayland Compositor,Xserver 负责管理显示(屏幕)和输入设备(键盘、鼠标、触
摸屏)
窗口管理器 Compiz,Metacity,Kwin 为窗口加入边框,提供窗口移动和管理功能
部件库 Athenal(Xaw),X Intrinsics 为桌面环境中的客户端添加菜单以及外观项

要想在桌面中使用命令行,关键在于图形化终端仿真器。可以把图形化终端仿真器看作GUI
中(in the GUI)的CLI终端,将虚拟控制台终端看作GUI以外(outside the GUI)的CLI终端。理
解各种终端及其特性能够提高你的命令行体验。