qemuでVNCを使う時の設定

sudo ./x86_64-softmmu/qemu-system-x86_64 -vnc :0

VNCクライアントはWindows7からUltraVNCを利用。接続先は「192.168.11.60::5900」と指定。
-vnc localhost:0ではうまく行かなかった。


-vnc localhost:0でやった時→接続できない

[ksuzuki@kensv pVM]$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 localhost:vnc-server        *:*                         LISTEN

-vnc 192.168.11.10:0→接続できた

[XXX@YY ~]$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 192.168.11.10:vnc-server    *:*                         LISTEN

-vnc :0→接続できた

[XXX@YY ~]$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:vnc-server    *:*                         LISTEN

こうやって並べてみるとnetstatのLocal Addressの意味がよくわかる。
-vnc localhost:0では、"127.0.0.1"のポート"5900(vnc-server)"を開いている。
-vnc 192.168.11.10:0では"192.168.11.10"のポートに対して。
-vnc :0では、すべてのIPアドレスに対して。

自PCのIPアドレスは192.168.11.10に設定してあるので、ぱっと見、127.0.0.1=localhost=192.168.11.10のはずなのに、なんでつながらないんだ!
と思ってしまったけど127.0.0.1!=192.168.11.10が正解。IPアドレスを複数持つ場合だってあるから。
ちなみに、-vnc 0.0.0.0:0でもいけた。