VirtualBox を headless 稼動
デスクトップ環境を OpenSolaris にするとは言え、仕事の都合から MS-Windows 環境が必要な状況があるのは目に見えているため、VirtualBox を使った仮想環境上で MS-Windows を稼動させることに。
例によってインストールは至極簡単。ダウンロードしたアーカイブに ReadMe.txt も付いているしね。仮想マシン/仮想ディスク作成を経て、MS-Windows のインストールも無事終了。
ここまでの作業は VirtualBox の GUI 経由で行ったけど、グラフィックディスプレイの無いサーバ環境での稼動のような事態を想定して、所謂 headless server 運用にも挑戦。
理想的には、仮想マシン/仮想ディスクの作成もheadless server 運用すべきなんだけど、そこはそれ、勇気と無謀は違う、という奴だ(大袈裟な……)。
$ VBoxManage list vms .... "WindowsXP" {vmid} $ VBoxHeadless --startvm vmid -vrdp on
デフォルトでは無効化されている機能だけど、上記 VBoxHeadless 起動での "-vrdp on" 指定などのような有効化指示があれば、RDP(Remote Desktop Protocol)経由で仮想マシン(≠ ゲスト OS)に繋ぐことができる。
早速、rdesktop コマンドから仮想マシンに接続。…………うーん、マウスの移動に追従できなくて、マウスカーソルが2つになったりしてるんだけど。あ、ゆっくり動かすと大丈夫かも。
でも、普段の作業でこの応答性はちょっと辛いなぁ。Microsoft 製クライアントでも事情は変化しないので、原理上無理があるのかも(画面サイズを狭めれば良いのか?)。
MS-Windows のリモートデスクトップにしろ、UNIX 系 OS への SSH リモート接続にしろ、ゲスト OS 起動が完了するまでは機能しないので、そう言った所謂「コンソール」へのアクセスが必要な状況(例: 仮想マシン BIOS への操作や、シングルモード起動等)限定での使用かなぁ。あ、後は headless モードのままゲストをインストールする時とか。
ゲストの MS-Windows が起動してしまえば、仮想マシン側ではなくゲスト側に RDP 接続した方が快適なので、日常使用の際はそちらで行くことに。
それと、仮想マシンへの RDP 接続は認証系が殆ど機能しないので:
といった感じになるのかな。
ちなみに VBoxHeadless コマンドは、仮想マシンが動作終了するまで戻って来ない。うっかり Ctrl-C で中断すると、所謂「コンセント引っこ抜き」相当の扱いになってしまうので、仮想マシンの突き放し起動ができる "VBoxManage startvm" を起点として、以下の様な運用で。
# 仮想マシン起動: $ VBoxManage startvm vmid --type headless # 仮想マシンの RDP アクセスを有効化 $ VBoxManage controlvm vmid vrdp on # 仮想マシンの RDP アクセスを無効化 $ VBoxManage controlvm vmid vrdp off # 仮想マシン一時停止: $ VBoxManage controlvm vmid pause # 仮想マシン状態保存⇒仮想マシン実行終了: $ VBoxManage controlvm vmid savestate