FreeBSD 使用手册
上一页 | 第4章 　UNIX 基础 | 下一页

# 4.2 虚拟控制台和终端

可以用多种不同的方式使用 FreeBSD， 在文本终端输入命令是其中之一。 通过使用这种方式， 您可以容易地使用 FreeBSD 来获得 UNIX® 操作系统的灵活而强大的功能。 这一节将介绍 “终端” 和 “控制台”， 以及如何在 FreeBSD 中使用它们。

## 4.2.1 控制台

假如您没有设置 FreeBSD 在启动期间开启图形登录界面， 那么系统将在引导和启动脚本正确运行完成后，给您一个登录的提示。 您会看到类似这样的界面:

    Additional ABI support:.
    Local package initialization:.
    Additional TCP options:.

    Fri Sep 20 13:01:06 EEST 2002

    FreeBSD/i386 (pc3.example.org) (ttyv0)

    login:

这些信息可能和您的系统稍微有点不同，但不会有很大差别。 最后两行是我们感兴趣的， 理解这一行:

    FreeBSD/i386 (pc3.example.org) (ttyv0)

这一行是您刚才启动的系统信息其中一块， 您所看到的是一个“FreeBSD”控制台， 运行在一个Intel或兼容的x86体系架构上面[1]。 这台计算机的名字 (每台 UNIX 计算机都有自己的名字) 叫 `pc3.example.org`， 就是现在这个系统控制台──这个 `ttyv0` 终端的样子。

在最后，最后一行一直保持这样:

    login:

这里， 您将可以输入用户名 “username” 并登录到 FreeBSD 系统中。 接下来的一节， 将介绍如何登录系统。

## 4.2.2 进入FreeBSD

FreeBSD是一个多用户多任务的系统， 换句话来说就是一个系统中可以容纳许多不同的用户， 而这些用户都可以同时在这台机器中运行大量的程序。

每一个多用户系统都必须在某方面去区分 “user”， 在 FreeBSD 里 (以及 类-UNIX 操作系统)， 完成这方面工作是有必要的， 因而， 每位使用者在运行程序之前都必须首先 “登录”， 而每位用户都有与之对应的用户名 (“username”) 和密码 (“password”)。 FreeBSD 会在用户进入之前作出询问这两项信息。

当 FreeBSD 引导并运行完启动脚本之后， [2]， 它会给出一个提示， 并要求输入有效的用户名：

    login:

举个例子更容易理解，我们假设您的用户名叫 `john`。 在提示符下输入 `john` 并按 Enter， 此时您应该看到这个提示 “password”：

    login: john
    Password:

现在输入 `john`的密码并按下 Enter。 输入密码时是 不回显的! 不必为此担心， 这样做是出于安全考虑。

假如您输入的密码是正确的， 这时你应该已进入 FreeBSD， 并可以开始尝试可用的命令了。

您应该看见 MOTD 或者出现一个命令提示符 (`#`、`$` 或 `%` 字符). 这表明您已成功登录进入FreeBSD。

## 4.2.3 多个控制台

在一个控制台运行 UNIX 命令虽说很好， 但 FreeBSD 具有一次运行 多个程序的能力。 仅使用一个控制台只会浪费 FreeBSD 同时运行多任务的能力。 而 “虚拟控制台” 在这方面发挥强大的功能。

FreeBSD 能配置出满足您不同需求的虚拟控制台， 在键盘上您用一组键就能从各个虚拟控制台之间切换。 各个控制台有自己的传输通道， 当您在各个控制台切换时 FreeBSD 会切换到合适的键盘传输通道和显示器传输通道。

FreeBSD 各个控制台之间可利用特殊组键切换并保留原有控制台 [3]，您可这样做: Alt-F1， Alt-F2， 一直到 Alt-F8 在FreeBSD里切换到其中一个虚拟控制台。

同样地, 您正在从其中某个控制台切换到另一个控制台的时候, FreeBSD 会保存正在使用和恢复将要使用屏幕传输通道。 这种结果形成一种 “错觉”， 您拥有许多“虚拟”屏幕和键盘可以输入很多的命令。 这些程序需要在一个虚拟控制台不能停止运行而又不需要观察它， 它继续运行而您可以切换到其他的虚拟控制台。

## 4.2.4 `/etc/ttys`文件

FreeBSD 虚拟控制台的默认配置为8个，但并不是硬性设置， 您可以很容易设置虚拟控制台的个数增多或减少。 虚拟控制台的的编号和设置在 `/etc/ttys` 文件里。

您可以使用 `/etc/ttys` 文件在 FreeBSD 下配置虚拟控制台。 文件里每一未加注释的行都能设置一个终端或虚拟控制台 (当行里含有 `#` 这个字符时不能使用) 。 FreeBSD 默认配置是配置出9个虚拟控制台而只能启动8个， 以下这些行是 `ttyv` 一起启动:

    # name  getty                           type    status          comments
    #
    ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
    # Virtual terminals
    ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

如果要了解这个文件中每一列的详细介绍， 以及虚拟控制台上所能使用的配置， 请参考联机手册 ttys(5)。

## 4.2.5 单用户模式的控制台

关于 “单用户模式” 详细介绍在 第 13.6.2 节 这里可以找到。 当您运行单用户模式时只能使用一个控制台， 没有多个虚拟控制台可使用。 单用户模式的控制台同也可以在 `/etc/ttys` 文件设置， 可在这行找到要启动的`控制台`：

    # name  getty                           type    status          comments
    #
    # If console is marked "insecure", then init will ask for the root password
    # when going to single-user mode.
    console none                            unknown off secure

> 注意: 这个 `console` 已经注释掉, 您可编辑这行把 `secure` 改为 `insecure`。 这样， 当用单用户进入 FreeBSD 时， 它仍然要求提供 `root` 用户的密码。

> 在把这个选项改为 `insecure` 的时候一定要小心， 如果您忘记了 `root`用户的密码， 进入单用户会有点麻烦。 尽管仍然能进入单用户模式， 但如果您不熟悉它就会非常令人头疼。

## 4.2.6 改变控制台的显示模式

FreeBSD 控制台默认的显示模式可以被调整为 1024x768， 1280x1024， 或者任何你的显卡芯片和显示器所支持的其他尺寸。 要使用一个不同的显示模式， 你必须首先重新编译内核并包含以下2个选项：

    options VESA
    options SC_PIXEL_MODE

在内核用这2个选项编译完成后，你就可以使用 vidcontrol(1) 工具来测定你的硬件支持何种显示模式了。 以 root 身份在控制台键入以下命令来获得一份所支持的显示模式列表。

    # vidcontrol -i mode

这个命令的输出是一份你的硬件所支持的显示模式列表。 你可以在以 root 身份在控制台上键入 vidcontrol(1) 命令来改变显示模式：

    # vidcontrol MODE_279

如果你对于新的显示模式满意，那么可以把它加入到 `/etc/rc.conf` 使机器在每次启动的时候都能生效， 我们使用了上一个例子中的模式：

    allscreens_flags="MODE_279"

### 备注

[1] | 现在理解一下`i386`的含义。 请注意尽管您的 FreeBSD 并非在 Intel 386 CPU 上运行， 但也会显示为 `i386`。 这不是指您的处理器， 而是指处理器的 “体系结构”。
[2] | 启动脚本这些程序在FreeBSD在启动过程中运行。 它们的主要功能为其他每方面的运行作好准备， 和运行您的配置所用到的相关环境。
[3] | 关于 FreeBSD 的控制台和键盘设备这些详细资料或使用技巧可在手册里找到: syscons(4)、atkbd(4)、vidcontrol(1) 和 kbdcontrol(1)。 我们不在这里详细介绍， 但是爱好者总会在手册里找到详细的答案。

上一页 | 起始页 | 下一页
UNIX 基础 | 上一级 | 权限

本文档和其它文档可从这里下载：ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读文档，如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.