2014年7月2日水曜日

【Windows8.1】ユーザフォルダの名前が勝手に日本語になっていて、ソフトが動かないときの対処法

パソコンを買った。OSはWindows8.1 。
電源を入れたら、アカウントを作れという。
まぁ、Linuxでもアカウントは作らなくてはならない。特に疑問も持たずにアカウントを作り始める。
「Microsoft アカウントを使ってログインしますか?」なる問いに、AndroidだってGoogleアカウントと紐付けておいたほうが便利だし、当然Windowsだって…… という軽い気持ちで「はい」と答えてしまったために、数分後に絶望の淵に立たされることになった。
はじめに、Microsoft アカウントを紐付けてPCのアカウントを作成すると、ユーザフォルダに漢字の名前が付く。
あ、まさかShift JISじゃないだろうな。と、嫌な予感はするものの、それでも「へぇ、WindowsはOS側でマルチバイト文字に完全対応したんだ。やるなMicrosoft」などと、一旦は能天気にやり過ごしてみる。
しかし、R言語の開発環境RStudioが、インストールはできるのに立ち上がらない。あれ?こんなこともあるのかな、と、思いながらPythonの開発環境CANOPYをインストールする。これもインストールはできるのに立ち上がらない。しかも「フォルダにマルチバイト文字が使われている」という旨のエラーメッセージを出している。

あ、やばい。Windows8.1ぜんぜん使えねぇじゃん。

そのほかにも、いろいろインストールしてみると、Shift JIS 何するものぞと全く問題なく動くソフトも多いのだが、LinuxやMacなどマルチプラットフォームな開発環境で作られたとおぼしきものは、起動時に死んでしまうことが多い。
たぶん、Shift JISでなくUTF-8だったら、日本語のフォルダ名でもどうにかなったんじゃないのか。
フォルダ名なんて、OSを介したアクセスしかしないんだから、内部的にUTF-8を採用しておけばいいんじゃないのか。

そんなことを考えつつも、当面、使えるソフトだけ使いながら様子を見るかと思ってしまった。このあたりにハマっているのは自分だけじゃないだろうし、Microsoftが何かパッチを出してくれるんじゃないのかなどと、ぬるい考えも頭の隅をよぎった。
しかし、Linuxで使っていソフトはたいていエラーで立ち上がらないとなると、何のためにPCを新調したのかわからなくなってしまう。
仕方なくユーザフォルダの書き換えを断行した。

やり方は極めて単純かつ強引。自分が普段使うアカウント以外の管理者アカウントでログインし、ユーザフォルダの名前をアルファベットに書き換え、レジストリ内のユーザフォルダ名をその名前に合わせて書き換えるというもの。

手順を追うと、
  1. 普段使わない管理者アカウントでログインする。
    適当な管理者アカウントがなければ作って、一旦PCを再起動した後、新アカウントでログインする。
  2. フォルダ名を書き換える。
    日本語で作られたユーザフォルダを何でもいいのでアルファべットに書き換える。
  3. レジストリを書き換える。
    [Win]+x, r で、「ファイル名を指定して実行」ウィンドウを立ち上げ、ここで「regedit」と入力し、レジストリエディターを立ち上げる。

    HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList/の下に、なんだが長ったらしい名前のレジストリフォルダが複数あるので、順番にクリックしていき、「profileimagepath」というレジストリが、書き換え前のユーザフォルダと同じものを探す。
    これを先ほど書き換えたアルファベットの名前に書き換える。
以上で終了。
詳しくは、下記のURLなどご参考に。

やってみると簡単。なぜ今までやらなかったのか。
RStudioもCANOPYも快適に動いている。

これまでインストールしていたソフトもDropBox以外は問題なく動いている。
DropBoxは、面倒だったので、一旦アンインストールして、インストールし直した。
DropBoxについては、先にアンインストールしておいたほうが無難かもしれない。

2 件のコメント:

匿名 さんのコメント...

簡潔な方法記載で大助かり!です。

PC買い換えして、win8.1でログインにMSアカウント(日本語作成)使用してしまい、メールの移行でNGに。いろいろネットで調べたところ(「コンピュータの管理」からはhomepremium版でuser変更不可)、一番分かり易かったので、この通りの手順で実施。ただ、小生の場合2フォルダ名の書換(先行して入れた一太郎のATOKが動作していて不可。→アンインストールでOK)、3レジストリー書換(userで入っていたので書換不可→administratorでログインしOK)でちょっと躓きましたが、無事にユーザーフォルダ名変更できました。
お礼まで

匿名 さんのコメント...

pythonのpipができなくて困っていましたが、このページを見て解決しました。
大変役に立ちました。ありがとうございました。