3.2.虚拟控制台和终端
最后更新于
最后更新于
如果没有配置 FreeBSD 在启动时自动进入图形环境,那么系统将启动到命令行登录提示界面,如下所示:
第一行包含了一些系统信息。amd64
表示 FreeBSD 正运行在 64 位 x86 设备上。主机名是 pc3.example.org
,而 ttyv0
表示这是“系统控制台”。第二行是登录提示符。
由于 FreeBSD 是款多用户系统,因此它需要一种方法来区分不同的用户。这是通过要求每个用户在访问系统上的程序之前先行登录来实现的。每位用户都有一个唯一的“用户名”及其对应的个人“密码”。
要登录系统控制台,请输入安装系统时配置的用户名(详见 )并按下 Enter 键。然后输入与该用户名关联的密码并再次按下 Enter。出于安全原因,输入的密码不会回显。
若输入了正确的密码,将会显示“今日信息”(MOTD),随后出现命令提示符。根据用户创建时选择的 shell,此提示符可能是 #
、$
或 %
字符。这个提示符表明用户已登录到 FreeBSD 系统控制台,并可开始尝试使用可用命令。
虽然可以用系统控制台来与系统交互,但在 FreeBSD 系统的键盘上进行命令行操作的用户通常会登录到虚拟控制台。这是因为系统消息默认会输出到系统控制台上。这些信息会覆盖用户正在处理的命令和文件,从而妨碍工作。
FreeBSD 默认配置了多个虚拟控制台供用户输入命令。每个虚拟控制台都有自己的登录提示和 shell,用户可以方便地在它们之间切换。这实质上提供了图形环境中多窗口操作的命令行等价体验。
FreeBSD 保留了快捷键 Alt+F1 到 Alt+F8 用于切换虚拟控制台。使用 Alt+F1 可切换到系统控制台(ttyv0
),Alt+F2 可访问第一个虚拟控制台(ttyv1
),Alt+F3 可访问第二个虚拟控制台(ttyv2
),依此类推。当使用 Xorg 作为图形控制台时,快捷键变为 Ctrl+Alt+F1 返回文本模式虚拟控制台。
在控制台之间切换时,FreeBSD 会管理屏幕输出。这样产生了一种拥有多个虚拟屏幕和键盘的错觉,每个都可以用于输入 FreeBSD 要执行的命令。在一个虚拟控制台中启动的程序在切换到其他控制台时 不会 停止运行。
更详细的 FreeBSD 控制台与键盘驱动说明,可参考 、、、 和 。
在 FreeBSD 中,可用虚拟控制台的数量配置在 /etc/ttys
文件的以下部分:
FreeBSD 启动菜单提供了选项 “Boot Single User” 。如果选择此项,系统将启动到一种特殊模式,称为“单用户模式”。该模式通常用于修复无法启动的系统,或者在不知道 root
密码时重置该密码。在单用户模式下,网络功能和其他虚拟控制台不可用。但可以获得系统的完整 root
权限,并且默认不需要输入 root
密码。出于这些原因,启动到该模式需要对键盘有物理访问权限,因此在保护 FreeBSD 系统时,应考虑谁可以访问键盘这一问题。
控制单用户模式的设置位于 /etc/ttys
文件的以下部分:
在默认情况下,状态设为 secure
。这意味着默认假设对键盘的物理访问要么不重要,要么由实体安全策略加以控制。如果将该设置改为 insecure
,则说明当前环境是不安全的,因为任何人都可以访问键盘。当将这一行改为 insecure
时,FreeBSD 会在用户选择启动单用户模式时提示输入 root
密码。
注意
更改此设置为
insecure
时请小心! 如果忘记了root
密码,虽然仍可启动到单用户模式,但对不熟悉 FreeBSD 启动流程的人来说可能会很困难。
FreeBSD 控制台的默认显示模式可以调整为 1024x768、1280x1024 或任何显卡和显示器支持的分辨率。要使用不同的显示模式,需加载 VESA
模块:
如果新的显示模式符合要求,可以通过在 /etc/rc.conf
中添加以下行,使其在启动时自动生效:
要禁用某个虚拟控制台,在对应那一行的开头加上注释符号(#
)。例如,要将虚拟控制台数量从八个减少到四个,可以在 ttyv5
到 ttyv8
这四行前添加 #
。不要注释掉系统控制台 ttyv0
的那一行。注意最后一个虚拟控制台(ttyv8
)用于在已安装并配置 Xorg 时访问图形环境,详见 。
关于该文件中每一列的详细说明以及虚拟控制台的可用选项,参见 。
要查看硬件支持哪些显示模式,请使用 。运行以下命令可获取支持的显示模式列表:
此命令的输出列出了硬件支持的显示模式。要选择新的显示模式,使用 root
用户身份通过 指定模式: