ヘッドレスを実行しているvbox仮想マシンのコンソールを表示する方法

ヘッドレスを実行しているvbox仮想マシンのコンソールを表示する方法

CentOS 7で実行されているvirtualboxヘッドレス仮想マシンがあります。 virtualboxマネージャを開き、マシンを右クリックして[表示]を選択すると、仮想マシンのコンソールを表示できます。 GUIマネージャを開かずに(コマンドラインから)、これを行う方法(ヘッドレスクライアントヘッダーポップアップ)はありますか? vboxmanageで可能なほとんどのコマンドを試しましたが、エラーまたは誤った結果が表示されます。

答え1

これまでの答えはありません。さらなる調査の結果、VirtualBoxはこの機能を提供していないことがわかりました。私ができる最善の方法は、リモートデスクトップを使用することです。私のCentOSの場合、最も便利なアプリケーションはrdesktopです。拡張パックをインストールする必要があります。次に、クライアントに対してリモートデスクトッププロトコルを有効にします。 VMが起動したら、rdesktopを使用してクライアントコンソールにアクセスできます。 VMの直後にrdesktopが起動すると、起動順序にアクセスできます。したがって:

$ vboxmanage modifyvm "archive" --vrde on
$ vboxmanage startvm "archive" --type headless ; rdesktop localhost 

答え2

私の記憶が正しい場合は、シリアルポートを使用してこれを実行できますが、複雑です。

まず、仮想マシンにシリアルポートを追加する必要があります。コンソールを監視するホストファイルシステムに接続できるように、シリアルポートを「ホストパイプ」モードに設定する必要があります。

COM1="0x3F8 4"   # magic values for COM1
VBoxManage modifyvm <UUID> \
    --uart1 $COM1 \
    --uartmode1 server /tmp/serial-console

他にも利用可能なオプションがありますが、この方法では、コンピュータの起動時にVirtualBoxが/tmp/serial-consoleを生成する必要があります。ここで複雑に考える必要がない場合は、「サーバー」の代わりに「ファイル」を使用してコンソールを通常のファイルにダンプすることもできます。ただし、必要に応じてPTY(Pseudo Terminal)を使用してファイルパスに接続できます。ソカット

SOCK=/tmp/serial-console
socat UNIX-CONNECT:$SOCK PTY,link=$SOCK-pty

最後に、次のコマンドを使用してPTYに接続できます。画面

screen $SOCK-pty

Linuxでは、シリアルコンソールを有効にする必要があるかもしれません。このプロセスはディストリビューションによって異なります。以下のリンクをチェックして役に立つかどうかを確認できますが、Debian用です。

https://gist.github.com/snb/284940/11e6354f170be602c9c2f67b59d489ed49ebd143

関連情報