0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Proxmox VE] コンソールでコピペが使いたい!xterm.jsを用いてコンソールを使う方法

Last updated at Posted at 2024-12-23

はじめに

Proxmox VEの管理画面から仮想マシンのコンソールを開く際、デフォルトではブラウザ上からゲスト内へのコピー・ペーストはできません。長いコマンドをちまちま入力する、長いURLをミスタイプにおびえながら入力する、コピペできればそんな思いをしなくていい!
ということで、コンソールでコピペが実装できるように設定します。

そもそもなぜコピペができないか?

コピペができないの理由は、Proxmoxのホストからコンソールを開く方法にあります。
Proxmoxは何種類かのコンソールを開く方法が用意されています。
代表的な3つの接続方法を調べてまとめてみました。

  • noVNC

    • 概要
      - Webブラウザから実行できるVNCクライアント
      • 利点
        • デフォルトで有効
        • ある程度のことは事足りる
      • 欠点
        • 特殊なキーの組み合わせが有効ではない・コピペができない
        • 前のログをさかのぼることができない
  • SPICE

    • 概要
      • Simple Protocol for Independent Computing Environmentsの略
      • 仮想マシンを遠隔からコントロールするためのプロトコル
    • 利点
      • コンソールだけではなく、GUIも表示させることができる
      • ゲスト側の音声、ファイル転送、USBなどの周辺機器などもコントロールできる
    • 欠点
      • 接続するには、ユーザーのパソコンにSPICEクライアントを、ゲスト内にドライバーをインストールする必要がある
        (つまり、ProxmoxのWEB UIからは操作できない)
  • xterm.js

    • 概要
      • xterm.jsというのは、そもそもJavaScriptでコンソールを描画するライブラリ
        Visual Studio Code・Hyperなどの有名なソフトウェアにも使用されている
      • サーバ上のbashと接続して、ブラウザからサーバ上のコマンドを叩けるようにする
    • 利点
      • 前のログをさかのぼることができる
      • コピペができる
    • 欠点
      • デフォルトで利用できないので、ゲストマシン上で設定する必要がある

Proxmoxの管理画面から、コピペができるコンソールを使用したいので、xterm.jsを導入することにしました。

環境

  • ホスト: Proxmox VE 8.2.2
  • ゲスト: Debian 12(cloud image)

導入方法

シリアルコンソールを追加する

Proxmoxの管理画面から対象のゲストを選び、ハードウェアのタブからシリアルコンソールを追加します。

image.png

シリアルポートは0番に設定します。

image.png

追加したらゲストを起動します。

ブートローダの設定を書き換える

ブートローダ(GRUB)の設定を書き換えます。
`/etc/default/grubを開いて、下のように書き換えます。

$ sudo vi /etc/default/grub 
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#    info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR='lsb_release -i -s 2> /dev/null | | echo Debian'
GRUB_CMDLINE_LINUX_DEFAULT=""
- GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0, 115200 earlyprintk=ttyS0, 115200 consoleblank=0"
- GRUB_TERMINAL="console serial"
+ GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200 consoleblank=0"
+ GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial -- speed=115200"

保存したら、ファイルに書いてあったようにsudo update-grubを実行し、ゲストを停止します。

再度ゲストを起動して、xterm.jsからコンソールを開くとちゃんと表示されます。

参考文献

https://pve.proxmox.com/wiki/Serial_Terminal
https://pve.proxmox.com/wiki/VNC_Client_Access

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?