3.2.虚拟控制台和终端

除非 FreeBSD 已被配置为在启动时自动启动图形环境,否则系统将启动到命令行登录提示符,如本示例所示:

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

login:

第一行包含了有关系统的一些信息。amd64 表示 FreeBSD 正在一个 64 位 x86 系统上运行。主机名是 pc3.example.org,而 ttyv0 表示这是“系统控制台”。第二行是登录提示。

由于 FreeBSD 是一个多用户系统,它需要一种方法来区分不同用户。这是通过要求每个用户在访问系统上的程序之前进行系统登录来实现的。每个用户都有一个独特的“用户名”和个人“密码”。

要登录到系统控制台,请输入在系统安装期间配置的用户名(如“添加用户”中所述),然后按回车键。接下来输入与该用户名关联的密码并按回车键。出于安全原因,密码不会回显在屏幕上。

在输入正确的密码后,将显示每日消息(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 运行。在某个虚拟控制台启动的程序,在用户切换到另一个虚拟控制台后也不会停止运行。

参考 kdbcontrol(1)、vidcontrol(1)、atkbd(4)、syscons(4)和 vt(4),以获取 FreeBSD 控制台及其键盘驱动程序的更多技术说明。

在 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 Window 系统进行配置)。

对于该文件中每一列的详细说明以及虚拟控制台的可用参数,请参阅 ttys(5)。

3.2.2. 单用户模式

FreeBSD 启动菜单提供了一个名为 "启动单用户" 的选项。如果选择了此选项,系统将启动到名为 "单用户模式" 的特殊模式。通常用于修复无法启动的系统或在不知道密码时重置 root 密码。进入单用户模式后,网络和其他虚拟控制台不可用。但是,系统的完整 root 访问权限可用,并且默认情况下无需 root 密码。因此,要启动到此模式,需要有物理键盘访问权限,并且确定谁有物理访问键盘权时需要考虑保护 FreeBSD 系统。

控制单用户模式的设置都可在 /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

默认情况下,状态设置为 secure。这意味着谁有物理键盘访问权限要么不重要,要么受物理安全策略控制。如果将该设置更改为 insecure,则假设环境本身是不安全的,因为任何人都可以访问键盘。当此行更改为 insecure 时,FreeBSD 将在用户选择引导到单用户模式时提示输入 root 密码。

3.2.3. 更改控制台分辨率

FreeBSD 控制台默认分辨率可调整为 1024x768、1280x1024 或显卡和显示器支持的其他尺寸。要使用不同的分辨率,请加载 VESA 模块:

# kldload vesa

要确定硬件支持哪些分辨率,请使用 vidcontrol(1)。要获取支持的分辨率列表,请执行以下操作:

# vidcontrol -i mode

这个命令的输出列出了硬件支持的分辨率。要选择新的分辨率,请使用 vidcontrol(1)作为 root 用户来指定模式:

# vidcontrol MODE_279

如果新的分辨率可使用,可以通过将其添加到 /etc/rc.conf 中,在启动时永久设置它:

allscreens_flags="MODE_279"

最后更新于

FreeBSD 中文社区 2024