补充说明
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