ProxmoxのデフォルトのVMコンソールはnoVNCですが、入力の遅延やキーバインドの問題があり、利便性に欠けると感じることがあります。
そこで、Ubuntu VMをxterm.jsコンソールに対応させ、シリアルコンソールで操作できるように設定しました。
手順
0. VMのディスプレイ表示をシリアルターミナルに設定

1. シリアルコンソールを有効化
まず、[email protected] を有効化します。
sudo systemctl enable [email protected]
これで、ttyS0 (仮想マシンのシリアルポート) にログインプロンプトが出るようになります。
2. GRUB設定を変更
次に、GRUBにシリアルコンソールの設定を追加します。
sudo nano /etc/default/grub
以下のように編集
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200 consoleblank=0"
GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial --speed=115200"
ポイントは以下の2つです:
GRUB_CMDLINE_LINUXにonsole=ttyS0,115200を追加することで、シリアル出力を有効化GRUB_TERMINALをserialに設定
3. 設定を反映
GRUBを更新します。
その後、再起動するか、一度シャットダウンします。
sudo update-grub
sudo poweroff
xterm.jsを選ぶ
以上で、Proxmoxの管理画面からConsole → xterm.js を選ぶと、Ubuntu VMのシリアルコンソールに直接アクセスできるようになります。

これで、noVNCよりも軽快に作業が可能になりました。

