首页 > 教程 > FreeBSD 教程 > FreeBSD 基础 > FreeBSD 虚拟控制台和终端

FreeBSD 虚拟控制台和终端

当你第一次启动 FreeBSD 系统时,系统内还没有安装图形界面环境,系统启动将会进入 TTY 界面:

FreeBSD/amd64 (mybsd) (ttyv0)

login:

TTY 是 Teletypewriter(电传打字机)的缩写,最初指物理的电传打字设备,而在现在是指纯文本、无图形化的字符交互界面,它直接连接操作系统内核,通过键盘输入命令,然后输出文本结果。TTY 界面是系统最底层、最基础的人机交互方式。

输出信息解释说明:

1)第一行是一些系统信息:

  • FreeBSD 是当前操作系统的名称
  • amd64 是当前系统的硬件体系架构,英特尔的 x86-64 架构
  • mybsd 是主机名,安装过程中设置的主机名,可以使用域名
  • ttyv0 是指第一个 TTY,v 是指 Virtual(虚拟), 0 是指第一个,虽然是 v0,但它是系统控制台,与其他的虚拟控制台有区别

2)第二行是登录提示符:

  • login: 登录提示符,提示输入用户名。

FreeBSD 是一个多用户系统,它需要区分不同的用户,需要输入用户名和密码,才能登录系统:

login: user
Password:  # 输出密码,密码不显示,正常输入即可

登录进 FreeBSD 系统后,系统会显示一些欢迎信息。

这时你就可以使用 FreeBSD 系统啦,你进入的是 Shell,根据创建用户选择的 Shell,会有不同的提示符,如 #$ 等。

在 Shell 中需要使用命令与系统交互(FreeBSD 系统中的命令与 Linux 系统中的命令极度的相似)

虚拟控制台

虽然可以使用系统控制台与系统交互,但是在 FreeBSD 的用户通常会登录到虚拟控制台。这是因为默认情况下,系统的消息会显示在系统控制台上,这样就会扰乱用户的输入与输出。

默认情况下,FreeBSD 配置了多个虚拟控制台。每个虚拟控制台都有自己的登录提示符和 shell,还可以在虚拟控制台之间进行切换。这与在图形界面中打开多个命令窗口一样。

FreeBSD 默认使用组合键 Alt+F1Alt+F8 在虚拟控制台之间进行切换。

  • 使用 Alt+F1 切换到系统控制台(ttyv0
  • Alt+F2 访问第一个虚拟控制台(ttyv1
  • Alt+F3 访问第二个虚拟控制台(ttyv2
  • 依此类推

当使用 Xorg 作为图形控制台时,使用组合键 Ctrl+Alt+F1 返回到基于文本的虚拟控制台。

从一个控制台切换到下一个控制台时,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

要禁用虚拟控制台,请在该虚拟控制台对应的行首添加注释符号(#)。

请注意,如果 Xorg 已安装并按照“X Window 系统”中的描述的内容进行了配置,则最后一个虚拟控制台(ttyv8)会访问图形环境。

单用户模式

FreeBSD 系统的启动菜单有一个 “Boot Single User” 选项。如果选择此选项,系统将启动为 “单用户模式”。此模式通常用于修复系统或重置 root 密码。

在单用户模式下,网络和其他虚拟控制台都不可用。但是,可以使用系统 root 权限,且不需要 root 密码。因此,需要使用物理键盘才能启动该模式。

控制单用户模式的设置位于 /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,则说明任何人都可以使用键盘,此时,启动单用户模式时需要输入 root 密码。

更改控制台视频模式

可以把 FreeBSD 控制台的默认视频模式(屏幕像素大小)调整为 1024x768、1280x1024 或任何其他图形芯片和显示器支持的大小。

1)要调整视频模式,需要先加载 VESA 模块:

kldload vesa

2)要查看当前的硬件支持的视频模式,可以使用 vidcontrol 命令:

vidcontrol -i mode

3)要设置新的视频模式,需要以 root 用户运行 vidcontrol 命令来指定模式:

vidcontrol MODE_279

注意:如上的命令只是更改当前对话的视频模式。

4)如果新的视频模式是可以使用的,可以在 /etc/rc.conf 中添加启动项,每次启动时都使用该模式:

allscreens_flags="MODE_279"