◆ 起動したら初期状態の設定で起動されました
◆ HOME が書き換えられていたようなので 設定すれば元通り
◆ ……あれ? 

半透明で綺麗なコンソール画面が使えるということで msys の mintty を使ってました


ですが ある日起動すると

初期画面!


フォントや背景などをカスタマイズすると綺麗になりますがデフォルトはコマンドプロンプトと同程度かそれ以下です
透過度 Glass にすると Win7 でいい感じらしいですが Win8 では全然です
あと透過度だけなら 好きなウィンドウに対して透過度指定できるソフトも使ってるので他でも良かったのですが タブやメニューとかがないシンプルさと日本語が扱えて一部のフォントが使えるソフトがこれくらいしかなかったんです

調べてみる

minttyrc は……ある
中身もそれっぽいもの


環境を調べてみると

ホームは /mindrive/Users/xxxxx/ にいます

mindrive は cygdrive に習って私が勝手につくったもので fstab に書いて C ドライブをマウントしてます
つまり C:\Users\xxxxx\ ってことです
これがないと インストールしたフォルダ以下しか見えなくて C ドライブにあるファイルが使えなかったのでわざわざ作ったのですが

/c と /d がある!?
できてる!?


前に作った時に試行錯誤して結局自分でマウントしなければ C ドライブ見れないって結論で mindrive 作った記憶があるので こんなわかりやすい /c や /d で C ドライブなどに接続できなかったと思うのですけど
ですが df コマンドでは見れますが / 以下の一覧では存在しないようです

fstab にも書かれてない当たり 特別なマウントがされてるようです
もしかすると 前回探してた時は df しなかったのかな
私 ls 並に頻繁に df するほうなので考えづらいですけど

msys 環境では fstab に書いたフォルダがないとマウントできません
/mindrive に C ドライブをマウントする設定をしていても /mindrive という空フォルダを作っておかないといけません
なのに /c や /d がないのにマウントできてるあたりやっぱり特別なフォルダなんですね

前からあったのかわからないですが env すると環境変数にいろいろCドライブ系のがあります

とりあえず原因らしきもの

とりあえず 原因は /mindrive/Users/xxxxx/ がホームになってることのようです
これまでのホームは Users 以下じゃなくて インストールしたフォルダの /home/xxxxx/ がホームでした
デフォルトで C ドライブにアクセスできることすら知らなかったのに ホームがインストール場所と関係ない Users 以下にいるはずないですもん

ホームがなんでこっちになったのかはよくわからないですが 戻す必要があります


まとめると
C:\Data\software\mingw\msys\1.0\home\xxxxx\
がホームだったのになぜか
C:\Users\xxxxx\
がホームになってしまってる
そのせいで mintty の設定を書いた .minttyrc のパスまで変わってカスタマイズしたデザインじゃなくなってる

C:\Users\xxxxx\.minttyrc
じゃなくて
C:\Data\software\mingw\msys\1.0\home\xxxxx\.minttyrc
を読み込むようにホーム戻さなきゃ

というところです


env すると HOME が Users 以下になっていました
cmd の環境では HOME 変数がないので mintty だけの設定ファイルで設定されてるようです

場所が見つからなくて grep に任せたところ /etc/profile つまり C:\Data\software\mingw\msys\1.0\etc\profile でHOMEを設定してるようです
HOME がすでにあればそのまま なければここで設定するようになってました

そこを /home/xxxxx に書き換えて再起動


デザイン変わらない!


/home/xxxxx/.minttyrc が読み込まれて無いようです
その状態で設定書き換えると Users 以下の minttyrc が更新されました


なんで!!?


もういっかい grep しても他には mintty.exe しかひっかかりません
もしや minttyrc ってターミナル自体の設定で profile などより先に読む必要があるから exe ファイル内にパスがハードコーディングされてる??

exe ファイルをバイナリエディタで書き換えてやろうかと考えましたが exe ファイル書き換えって文字数が違ってるといろいろおかしなことになりますし これまで動いていて自分では特に何も変えてないはずなのに動かなくなったという状況で exe ファイル書き換えて対策っておかしいよね と冷静になってやめました


HOME のパスを設定する方法と考えると やっぱり Windows 側の HOME 変数ですよね
何かのソフトのインストールで Windows の HOME が書き換えられて mintty の設定に影響してしまったというのがありそうです

なんですが 見てみると HOME 変数はないんです
これまでもなかったはずです

ダメ元でとりあえず Windows の環境変数 HOME に /home/xxxxx と設定すると




なんかいけましたよ!!


Windows なのに 「/home/xxxxx」です
よくわからない……

後日談

Windows の HOME に謎のパスを設定したせいで別のソフトがエラーで動かない問題が出てました
いつか起きそうだと思ってたけど 意外と早い

HOME 消すと mintty 動かなくなるなー Windows の HOME を変える以外で msys のホームを変更するちゃんとした方法を探さないとなー と思いながら HOME 変数を削除して mintty を起動すると

なんか ちゃんとデザイン適用されてる!

もう意味不明 わけわかんないです