(目录)


2 走进 shell

    在 Linux 早期,可以用来工作的只有 shell。那时,系统管理员、程序员和系统用户都端坐在 Linux 控制台终端前,输入 shell 命令,查看文本输出。如今,伴随着图形化桌面环境的应用,想在系统中找到 shell 提示符来输入命令都变得困难起来。本文讨论了如何进入命令行环境,带你逐步了解可能会在各种 Linux 发行版中碰到的终端仿真软件包。

2.1 进入命令行

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

2.1.1 控制台终端

  1. 进入 CLI 的一种方法是让 Linux 系统退出图形化桌面模式,进入文本模式。这种模式称作Linux控制台。
  2. Linux 系统启动后,它会自动创建出一些虚拟控制台。虚拟控制台是运行在 Linux 系统内存中的终端会话。
  3. 大多数 Linux 发行版会启动 5~6 个(有时会更多)虚拟控制台。

2.1.2 图形化终端

  1. 除了虚拟化终端控制台,还可以使用 Linux 图形化桌面环境中的终端仿真包。终端仿真包会在一个桌面图形化窗口中模拟控制台终端的使用。
  2. 图形化终端仿真只负责 Linux 图形化体验的一部分。完整的体验效果需要借助多个组件来实现,其中就包括图形化终端仿真软件(称为客户端)。
  3. 图形化终端仿真器可以看作 GUI 中(in the GUI)的 CLI 终端,虚拟控制台终端可以看作 GUI 以外(outside the GUI)的 CLI 终端。
  4. 表2-1展示了 Linux 图形化桌面环境的不同组成部分。 ::: hljs-center

表2-1 图形界面的组成

:::

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

2.2 通过 Linux 控制台终端访问 CLI

  1. Linux 控制台是唯一可以为系统输入命令的地方。
  2. 在大多数 Linux 发行版中,通常必须按下Ctrl+Alt组合键,然后按功能键(F1~F7)进入要使用的虚拟控制台。功能键 F1 生成虚拟控制台1,F2 键生成虚拟控制台2,F3 键生成虚拟控制台3,F4 键生成虚拟控制台4,依次类推。
  3. login: 提示符后输入用户ID,然后再在 Password: 提示符后输入密码,就可以进入控制台终端了。在图形环境中,输入密码的时候会看到点号或星号,但是在虚拟控制台中,输入密码的时候什么都不会显示。
  4. 一旦登录完成,你可以保持此次登录的活动状态,然后在不中断活动会话的同时切换到另一个虚拟控制台。你可以在所有虚拟控制台之间切换,拥有多个活动会话。

2.3 通过图形化终端仿真访问 CLI

  1. 相较于虚拟化控制台终端,图形化桌面环境提供了更多访问 CLI 的方式。
  2. 在图形化环境下,有大量可用的图形化终端仿真器。

2.4 使用 GNOME Terminal 仿真器

  1. GNOME Terminal 是 GNOME 桌面环境的默认终端仿真器。
  2. 很多发行版,如 RHEL、Fedora 和 CentOS,默认采用的都是 GNOME 桌面环境,因此 GNOME Terminal 自然也就是默认配备了。
  3. Ubuntu Unity 采用 GNOME Terminal 作为默认的终端仿真软件包。

2.4.1 访问 GNOME Terminal

  1. 在 GNOME 桌面环境中,找到左上角的菜单,点击 Applications,从下拉菜单中选择 System Tools,点击 Terminal。
  2. 在 Unity 桌面环境中,Dash ➪ Search,然后输入 Terminal。GNOME 终端会作为一个名为 Terminal 的应用程序显示在 Dash 区域。点击对应的图标就可以打开 GNOME 终端仿真器了。
  3. 在 KDE 桌面环境中,默认的仿真器是 Konsole 终端仿真器。必须通过菜单才能访问。找到屏幕左下角名为 Kickoff Application Launcher 的图标,然后依次点击Application ➪ Utilities ➪ Terminal。
  4. 在一些 Linux 发行版的桌面环境中,例如 Ubuntu 的 Unity,可以使用快捷键Ctrl+Alt+T快速访问 GNOME 终端。

2.4.2 菜单栏

  1. GNOME Terminal 的菜单栏包含了配置选项和定制选项,可以通过它们使你的 GNOME Terminal 符合自己的使用习惯。

2.5 使用 Konsole Terminal 仿真器

  1. KDE 桌面项目拥有自己的终端仿真软件包:Konsole Terminal。
  2. Konsole 软件包具备基本的终端仿真特性,还包含了一些更高级的图形应用程序功能。

2.5.1 访问 Konsole Terminal

  1. Konsole Terminal 是 KDE 桌面环境的默认终端仿真器,可以通过 KDE 环境的菜单系统轻而易举地访问到。
  2. 在 KDE 桌面环境中,可以通过点击屏幕左下角名为 Kickoff Application Launcher 的图标来访问 Konsole Terminal。然后点击 Applications ➪ System ➪ Terminal(Konsole)。
  3. 在 GNOME 桌面环境中,可以通过 GNOME 的菜单系统进行访问。在屏幕左上角点 Applications ➪ System Tools ➪ Konsole。
  4. 在 Unity 桌面环境中,可以通过 Dash ➪ Search,然后输入 Konsole 进行访问。Konsole Terminal 会作为一个名为 Konsole 的应用程序显示在 Dash 区域。点击对应的图标打开 Konsole 终端仿真器。

2.5.2 菜单栏

  1. Konsole Terminal 的菜单栏包含了查看和更改终端仿真会话特性所需的配置及定制化选项。

2.6 使用 xterm 终端仿真器

  1. xterm 是最古老也是最基础的终端仿真软件包。
  2. xterm 软件包在 X Window 出现之前就有了,通常默认包含在发行版中。
  3. 尽管 xterm 是功能完善的仿真软件包,但是它并不需要太多的资源(如内存)来运行,非常适合老旧硬件设计的 Linux 发行版。

2.6.1 访问 xterm

  1. 在 Ubuntu 的 Unity 桌面中,xterm 是默认安装的。可以通过 Dash ➪ Search,然后输入 xterm 进行访问。xterm 会作为一个名为 XTerm 的应用出现在 Dash 区域。点击对应的图标就可以打开 xterm 终端仿真器。
  2. GNOME 和 KDE 桌面环境中并没有默认安装 xterm。安装完成之后,你必须从另一个终端仿真器中启动 xterm。打开一个终端仿真器进入 CLI,输入 xterm 并按回车键。

2.6.2 命令行参数

  1. xterm 的命令行参数非常多。你可以控制大量的特性来对终端仿真实施定制,例如允许或禁止某种 VT 仿真。
  2. 可以通过向 xterm 命令加入参数来调用某些配置选项。

2.7 小结

  1. 首先,我们讲解了通过虚拟控制台终端(不涉及 GUI 的终端)和通过图形化终端仿真软件包(GUI中的终端)访问 CLI 时的不同。简要对比了两种访问方式之间的差别。在学习了虚拟控制台终端之后,本文还讲述了利用三种图形化终端仿真器(GNOME Terminal、Konsole Terminal 以及 xterm)访问 CLI。
  2. GNOME Terminal 通常默认安装在 GNOME 桌面环境中。Konsole Terminal 通常默认安装在 KDE 桌面环境中。xterm 是 Linux 中第一个可用的终端仿真器,能够仿真旧式终端硬件。