补充说明
chvt 属于 util-linux,通过切换前台虚拟控制台实现终端切换,等价于按 Ctrl+Alt+F1~F6 的效果。常见用途是图形界面卡死、X/Wayland 黑屏时切到文本控制台排查,或在自动化测试中切换到指定 VT。
切换需要访问 /dev/ttyN 的权限,普通用户通常需要 root 或 CAP_SYS_TTY_CONFIG。目标 VT 不存在时会按需创建;没有物理控制台的容器、SSH 会话中切换不会影响远端终端。
语法
chvt N
N 为虚拟终端编号,常用 1-6;chvt 1 切回第一个文本控制台。
选项
-h, --help:显示帮助-V, --version:显示版本
实例
# 切换到第 2 个虚拟终端
sudo chvt 2
# 从图形界面切回第 1 个文本控制台
sudo chvt 1
# 查看当前前台 VT 编号
sudo fgconsole
# 查看系统已分配的 VT
ls /dev/tty[0-9]*
# 在脚本中先确认目标 VT 存在
sudo chvt 3 && sudo fgconsole
若执行后屏幕没有变化,通常是因为当前会话不是本地控制台(例如 SSH),或系统使用了不同的显示管理器;用 fgconsole 确认实际前台 VT。