会社で使用しているPCでCygwinを使おうとしたところ、ホームディレクトリが日本語になっってしまった。長くて不便なので、アルファベットに変更する。
方針
/etc/passwdファイル上で、ホームディレクトリを変更することにする。
/etc/passwdが存在しないため、自分のユーザのエントリを作成し、/etc/passwdファイルを編集する
手順
/etc/passwdを作成
$ mkpasswd -c > /etc/passwd
$ grep `whoami` /etc/passwd
AzureAD+日本語ユーザ名:*:4096:4096:U-AzureAD\日本語ユーザ名,S-1-xx-x-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx:/home/日本語ユーザ名:/bin/bash
自分のエントリーが見えていればOK。
続いて、/etc/passwdを書き換える
$ grep `whoami` /etc/passwd
AzureAD+日本語ユーザ名:*:4096:4096:U-AzureAD\日本語ユーザ名,S-1-xx-x-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx:/home/UserName:/bin/bash
新たなホームディレクトリを作成し、設定ファイルをコピーし、念のため所有者を変更する
$ mkdir /home/UserName
$ cp -arp /home/日本語ユーザ名/. /home/UserName/
$ chown -R $(whoami): /home/kunito
cygwin, cygtermをログアウトして、再度ログインすれば、変更されている