ProxmoxのデフォルトのVMコンソールはnoVNCですが、入力の遅延やキーバインドの問題があり、利便性に欠けると感じることがあります。

そこで、Ubuntu VMをxterm.jsコンソールに対応させ、シリアルコンソールで操作できるように設定しました。

手順

0. VMのディスプレイ表示をシリアルターミナルに設定

proxmoxVM設定画面

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_LINUXonsole=ttyS0,115200 を追加することで、シリアル出力を有効化

  • GRUB_TERMINALserial に設定

3. 設定を反映

GRUBを更新します。

その後、再起動するか、一度シャットダウンします。

sudo update-grub
sudo poweroff

xterm.jsを選ぶ

以上で、Proxmoxの管理画面からConsole → xterm.js を選ぶと、Ubuntu VMのシリアルコンソールに直接アクセスできるようになります。

Proxmoxのターミナル選択メニュー

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

runnning-screenfetch