VNCん中でVMware
LinuxでVMware Workstationを使っています。LinuxのVMwareはXなアプリケーションなのでXが動いていることが必須です(多分)。
でもホストOSのXは帰るときに落としたい(exec ssh-agent startxしているため不在の間放置したくない)ので、必然的にVMwareも落とさないとだめです。
しかし、VMwareのゲストOSに遠隔から入りたかったりするので落としたくなかったりします。
んで、今までは安直に
$ xinit .Xclient-twm -- :1
とかして別なXを上げて、そこでVMwareを起動してxscreensaverでロックをかけてました。
まぁこれでもいいんですが、
- わざわざXを上げるのはなんかもったない(根拠レス)。
- 遠隔からVMwareのボタンをぽちぽちしたいことがある。
これならSSHのport forwardingで遠隔のvncserverにvncviewerでつなげられます。
で、やり方はこうです。
まずはVNCのインストール。Debian Sargeなので、以下のdebをaptitude install。
- tightvncserver
- vnc-common
- xtightvncviewer
んで、VNCのパスワードを設定。
$ vncpasswd Password:
次にvncserverを起動。画面の大きさは大きくなくていいので800x600で、色数は8bitだとVMwareがすんなり動かないので16bitで。
$ vncserver -name VMware -depth 16 -geometry 800x600 :1 New 'X' desktop is XXX:1
ほんでvncviewerで接続。さっき設定したパスワードを聞かれるので入力。
$ vncviewer :1 VNC server supports protocol version 3.3 (viewer 3.3) Password:
繋がったらvncviewerの中でVMwareを起動。
これでホストOSのXを落としても、vncviewerで繋げればVNCがつかんでいる:1なディスプレイの中でVMwareは元気に動いています。
ちなみにvncviewerを終了するときはF8でメニューが出てくるのでそれでQuit、vncserverを終了するときは
$ vncserver -kill :1
で。
VMwareのゲストOSからフォーカスを外すときは、通常ならCtrl+Altなんですがvncviewerの中だと左Ctrl+左Altではダメで、左Ctrl+右Altならちゃんとフォーカス外れました。環境依存が気がしますが…