3.2. 虚拟控制台和终端

FreeBSD能多方面应用,其中之一它能在字符终端输入命令。 您可以在这方面容易地使用FreeBSD这个有强大适应性和功能的 UNIX® 系统, 这部份介绍 “多终端” 和“多控制台”, 和您在 FreeBSD 应怎样使用它们。

3.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里, 那一步介绍您应怎样做。

3.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。

3.2.3. 多个控制台

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

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

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

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

3.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) 联机手册。

3.2.5. 单用户模式的控制台

关于 “单用户模式” 详细介绍在 Section 12.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

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

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

Notes

[1]

现在理解一下i386的含义。 请注意 即使您的 FreeBSD 不是运行在一个 Intel 386 CPU, 都会定为i386。 他不是指您的处理器,而处理器的“体系结构”已经显示过去了。

[2]

启动脚本这些程序在FreeBSD在启动过程中运行。 它们的主要功能为其他每方面的运行作好准备, 和运行您的配置所用到的相关环境。

[3]

关于 FreeBSD 的控制台和键盘设备这些详细资料或使用技巧可在手册里找到: syscons(4)atkbd(4)vidcontrol(1)kbdcontrol(1)。 我们不在这里详细介绍, 但是爱好者总会在手册里找到详细的答案。