Proxmox VE 中启用 CentOS 虚拟机的串口终端(xterm.js 控制台)
在 Proxmox VE 中启用 CentOS 虚拟机的串口终端(xterm.js 控制台)
本教程适用于 CentOS 7 虚拟机,目标是启用 Proxmox 的 Shell 控制台(xterm.js),实现无需图形界面的复制粘贴功能。
使用自带的noVNC没有粘贴复制功能,非常不方便,安装xterm.js就可以复制粘贴,也可以使用ssh终端连接,那也是一种办法。
🧩 前提条件
- 虚拟机已安装 CentOS 7.9
- Proxmox VE 主机已创建该虚拟机
- 虚拟机使用 LVM 或标准分区均可
1️⃣ 添加串口设备
在 Proxmox 主机上执行:
qm set <VMID> -serial0 socket
将 <VMID>
替换为你的虚拟机编号,例如 101
2️⃣ 修改 GRUB 配置(在centos里面修改)
编辑 /etc/default/grub
:
vi /etc/default/grub
找到:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
修改为:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet console=tty0 console=ttyS0,115200"
3️⃣ 生成新的 GRUB 配置文件
安装 GRUB 工具(如未安装):
yum install grub2-tools -y
生成配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
4️⃣重启虚拟机
reboot
✅ 验证效果
- 打开 Proxmox Web UI → 虚拟机 → Console → Shell(xterm.js)
- 如果是黑屏,按回车即可唤醒终端
- 现在可以在浏览器中复制粘贴命令,无需图形界面
**
有bug有bug有bug:::
**
问题概述
你在Proxmox的Web控制台(基于xterm.js)中使用vim编辑文件时,遇到以下异常行
为:
当光标在当前行右移时,该行的内容会突然变成上一行的文字
不是传统意义上的乱码,而是终端渲染错乱
已尝试设置TERM=xterm-256coLor和LANG=zh_CN.UTF-8,问题依旧
使用tmux作为中间层也无法缓解该错乱现象
技术分析
说明
可能原因
在vim的复杂重绘场景下(如水平滚动),DOM渲染器可能误判
xxterm.jsDoM渲染器兼容性差行缓存,导致错行
×tmux版本问题
某些版本(如2.6-2.7)在xterm.js中表现不稳定,可能动加剧错乱
Xvimbuffer重绘频率高
vim在水平滚动时频繁刷新当前行,终端无法正确同步
xterm.js的canvas渲染器在处理复杂布局时更稳定,但Proxmox
canvas渲染器未启用
没解决,不折腾了,用SSH(mobaxterm了)