PVE开启xterm.js控制台:告别noVNC复制粘贴限制的完整教程

在 Proxmox VE(PVE)里,我们平时习惯用 noVNC 作为虚拟机的控制台。 但问题来了——noVNC 不能复制粘贴!😩 如果你经常需要在虚拟机里操作命令,这简直就是“手工抄写机”。

别担心,其实 PVE 自带的 xterm.js 控制台 就能解决这个痛点,不仅支持复制粘贴,而且操作流畅。下面我们一步步来启用它。


步骤 1:先关掉虚拟机

别着急动手修改,先把目标虚拟机关掉。


步骤 2:添加串行端口

进入虚拟机的 硬件设置,添加一个 串行端口。 做完这一步,你会发现 PVE 面板里多了一个 xterm.js 控制台 选项。

不过,如果现在点进去,你大概率只会看到这样的提示:starting serial terminal on interface serial0

不管你按什么键,它都毫无反应。别慌,这是正常的。继续往下。


步骤 3:修改 grub 配置

进入虚拟机系统,编辑 grub 配置文件:

vi /etc/default/grub

找到这一行:

GRUB_CMDLINE_LINUX

在引号里加上下面这段参数:

console=tty0 console=ttyS0,115200

这一步的意思是告诉内核,把虚拟机的控制台输出也发到串口上。


步骤 4:更新 grub 配置

不同系统更新 grub 的命令不一样:

  • Debian/Ubuntu 系列
    update-grub
  • RedHat/CentOS 系列
    grub2-mkconfig --output=/boot/grub2/grub.cfg

步骤 5:重启虚拟机

执行完上面的操作后,重启一下虚拟机。 现在再打开 xterm.js 控制台,如果还是停在:

starting serial terminal on interface serial0

只需要 按一下回车,登录界面就会乖乖出现啦!🎉


总结

这样设置好之后,你就可以在 xterm.js 控制台里自由复制粘贴命令,再也不用在 noVNC 里手动敲一长串指令了。 对于日常维护和生产环境操作,效率直接翻倍。

Done!是不是很简单?