Windows8ではユーザー名を漢字にするな
KGS Go Server
ここのCGObanというネット囲碁クライアントが動かなくて困った。Java Web start というフレームワークを使っていて、ダウンロードしたjnlpファイル(中身はXML)をダブルクリックすると、自動的にJavaアプリケーションをダウンロードして実行する、という仕組みなのだが、肝心のJavaアプリケーションをダウンロードする際にエラーが発生する。エラーメッセージの内容を見ると「指定されたファイルまたは URL をロードできません。C:\Users\è¡ä¸\AppData\Local\Temp\javaws7」と、ユーザーフォルダの一時フォルダに保存したファイルを開こうとして、ファイルが無いよと言われている。よく見るとパスが文字化けしている。。
Windows8ではインストール時に入力したユーザー名と同じ名前のフォルダがマイドキュメントやら一時ファイルやらの保存場所として使われる。海外製のアプリケーションはShift-JISに対応していないことがあり、運が悪いと文字列がつぶれて正しく動作しない。フォルダ名を変えようにもロックされているのか全く反応しない。
数十分情報収集して、次の記事を参考にして解決した。
Windows8 で出来てしまった日本語名ユーザフォルダをリネームした話 | dp-lab.log
私がとった手順は
・適当な名前のローカルアカウントを作成(Adminとか)して、Administator権限を付与する。アカウントはマウスカーソルを右側に寄せると出てくるサイドバーの「設定」→「PC設定の変更」→「アカウント」から。
・再起動して今作ったローカルアカウントでログイン
・C:\Users に存在する漢字名のアカウントがリネームできるようになっているので、あの入力画面なら漢字にしちゃうよなぁとぼやきながらアルファベット名にリネーム
・regeditを起動(左下のウインドウズロゴを右クリック→ファイル名を指定して実行→regedit、でよい)、「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\」内のフォルダの「ProfileImagePath」を見ていって、さっきリネームした漢字名のフォルダが見つかったらアルファベット名にリネーム
・ログオフして、元のアカウントでログイン
これでユーザー名のフォルダが変わる。CGObanも起動できるようになった。むろんマイドキュメント内の文章などへのショートカットは無効になるので、設定しなおすこと。こんな面倒を避けるためにも、Windows8インストール時のユーザー名は、アルファベットで入力することをお勧めする。