Linux 命令速查
系统管理 man setconsole

setconsole

切换 Linux 系统控制台所使用的终端设备

返回

补充说明

setconsole 来自 Debian 的 console-setup 套件(早期也随 console-tools 提供),用于告诉系统把内核消息、getty 登录提示等系统控制台输出送到哪个终端设备上。默认是内置的虚拟控制台 /dev/tty1,在只有串口可用的服务器或嵌入式设备上常改成 /dev/ttyS0。

常见场景是串口控制台:机器没有显卡,或需要带外管理时,先让内核通过 console=ttyS0,115200n8 输出日志,再用 setconsole 把用户态控制台也切到串口,这样登录提示符才会出现在串口终端上。

该命令会把选择结果写入 console-setup 的配置中,需要 root 权限运行。切换后应确认目标设备上确实有 getty 在监听,否则会看到登录界面消失而不是出现。它只决定“用哪一个设备”,字符集、字体和键位仍由 setupcon、loadkeys 等命令负责。

语法

setconsole [选项] [设备]

选项

  • -r, --regular:使用普通虚拟控制台(/dev/tty1 到 /dev/tty63)
  • -8, --utf8:指定使用 UTF-8 模式的控制台
  • -a, --acm:使用 ACM 调制解调器类设备(/dev/ttyACM*)
  • -u, --usb:使用 USB 串口设备
  • -b, --braille:使用盲文终端
  • -t, --terminal 类型:显式指定终端类型
  • -h, --help:显示帮助信息

实例

# 查看当前系统控制台设置
setconsole

# 把系统控制台切换到第一个串口
setconsole /dev/ttyS0

# 切换到普通虚拟控制台 tty1
setconsole -r /dev/tty1

# 使用 USB 串口作为控制台
setconsole -u /dev/ttyUSB0

参考链接