ところでメインマシンは Windows7 PC なのだけど、実際には VirtualBox に入れた Ubuntu Server へ、cygwin 上の ssh で接続して作業しているので Windows は開発環境としてはあんまり活用していない。Photoshop とか Illustrator とかを使ったり地デジを見る OS と化している。
それはそれでいいのだが、VirtualBox で困った点がひとつある。PC が 30 分放置の後に自動的にスリープする。スリープを解除すると、どうも動きが怪しくなるのだ。
VirtualBox 上の Ubuntu Server は、タスクスケジューラに登録したタスクで、ログオン時に headless 状態で起動させている。つまり画面を描画するウィンドウを持っていない。したがって、ウィンドウに付属している、仮想環境に対してちょっかいを出す機能を利用できない。ちょっかいを出すには VBoxManage.exe をコマンドプロンプトから呼び出すほかにないのだ。しかしスリープを解除するとどうも VBoxManage が実行中の仮想環境を見失ってしまうようなのである。
正確には、仮想環境が起動すると同時にそれを監視する COM サーバ(SBoxSVC.exe)も起動するようなのだが、それを VBoxManage.exe が見つけられなくなってしまう感じかもしれない。不思議なことに、GUI の VirtualBox マネージャを起動させると、そちらはちゃんと実行中の仮想環境を認識する。しかしマネージャは実行中の環境に対して設定を変えることはできないのだった。
仮想環境自体はふつうに動き続けているので、一度状態保存するなりシャットダウンして起動しなおせばいいのだが。ちょっと不便ではある。