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