Home -- Michael's Blog :: Just Do IT -- Manuals

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) man手册。

3.2.5. 单用户模式的控制台

关于``单用户模式''详细介绍在第 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

注: 这个控制台已经注释掉, 你可编辑这行把安全 变为 不安全。假如你这么做,当用单用户进入FreeBSD时, 它仍然要求提供root 用户的密码。

请注意在这时他已变为 不安全的, 如果你忘记了 root用户的密码, 单用户导入有点麻烦。 它可能是静态不动的,但它允许用某用户导入程序。

[1]

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

[2]

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

[3]

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

Michael's Blog :: Just Do IT -- manuals