VNC備忘録

手元に一台だけ残っているWindows2000UltraVNCを、諸事情で最新版の1.0.5に入れ替えた。どうも今回のバージョンでは本家で日本語キーボードにも対応した(表示メニューは英語しか無いが、通信プロトコル的にマルチバイト対応した)らしいので、「おぉ、日本語パッチ無しでいいんだ!」と感動し、ついでに最近セットアップしてRC版を入れてた2台のXPマシンも最新版に入れ替えた。(ちなみに、日本語キーボード設定はサーバとビューワの両方にある。どっちがどうなのかはよくわからんので、俺は両方ともonにした。)

インストールは普通にいったのだが、その後、どうも調子がおかしい。サーバを起動する度に「パスワードが設定されてへんで」的な警告と共に設定ウィンドウが有無を言わさず開く。どうもVista対応のためにセキュリティ絡みの内部仕様が変わったようなのだが、解決方法が全くわからん。んで、findとかgrepとかstringsとかUNIX的な泥臭い方法で調べたあげくにわかったこと。

  • 以前のバージョン(とりあえず確認したのは1.0.4-RC14と1.0.2あたりのバージョン)を削除しても、レジストリに以前の設定は残るみたいだ。
  • 1.0.5では設定はレジストリではなく.iniファイルに保存するようになった模様。Vistaを知らんので何ともいえんが、おそらくVista対応のためなんだろう。ま、たしかに普通のアプリが気軽にレジストリを使うという文化は間違ってるな。
  • しかし、なぜかサーバが起動する際にはレジストリもreadしているっぽい。
  • その結果、挙動がおかしくなる。

ということらしい。しかも、再現性が無い。全く同じ設定で、全く同じレジストリ構成なのに、問題なく動くマシンもある。
ちなみに、設定ファイルは、

 c:/Program Files/UltraVNC/ultravnc.ini

らしい。ということで、経験的には

  • HKCU/Software/ORL
  • HKLM/Software/ORL
  • HKLM/Software/UltraVNC

あたりのレジストリ設定は全て削除するのが吉。

ところで、ビューワ側で「Japanese Keyboardでっせ」というオプションをデフォルトで付けようと思ってGUIから設定したのだが、これがどこに保存されているのか泥臭く調べた結果、

 c:/Documents and Settings/${USER}/Local Settings/Temp/options.vnc

という超絶なところに保存されていることが判明。なんだこの変態な仕様は!Tempに設定ファイルを保存するな!!

#学生時代の、「修論データを~/tempに保存し、しかも他者のアクセス不可に設定」という変なことをしていた某先輩を思い出したぞ。