これは、Debian、Ubuntu、Linux Mint(およびDebian/Ubuntuをベースにした他のLinuxディストリビューション)、Fedoraでユーザー名を変更する方法を説明するステップバイステップのガイドです。
説明では、ユーザー名とユーザーのホームフォルダ名を変更(リネーム)する方法と、古いホームフォルダ名を指したままの設定ファイルの潜在的な問題に対する簡単な回避策を説明します。 また、ログイン画面やデスクトップ上の他の場所に表示されるフルネーム (表示名) を変更する手順もあります。
以下のすべての手順やコマンドでは、newusernameoldusername を … 古いユーザー名に置き換えることを忘れないでください。
仮のユーザーを作成し、sudo権限を与えます。
仮のユーザーでログインし、ユーザー名の変更コマンドを実行します。 この方法では、名前を変更しようとしている同じユーザーから実行しても問題はありません(例:そのユーザーのためのプロセスが実行されているなど)。
新しい一時的なユーザー (tempuser) を追加し、Debian、Ubuntu、Linux Mint で sudo 権限を与えます (パスワードを入力した後、Enter を押し続けると、残りの情報の入力を省略できます)。
sudo adduser tempusersudo usermod -aG sudo tempuser
新規にtempuserを追加し、sudo権限を与えるFedoraの場合:
sudo adduser tempusersudo passwd tempusersudo usermod -aG wheel tempuser
2. tempuserでログインし、ユーザー名、ホームフォルダ、グループを変更(リネーム)します。
ログアウトして、ログイン画面でtempuseroldusernamenewusernameに変更します。
sudo usermod -l newusername -d /home/newusername -m oldusernamesudo groupmod -n newusername oldusername
古いユーザー名でプロセスが使用されているというエラーが発生した場合は、そのプロセスを強制終了してください (kill PIDtempuserで直接ログインすると、古いユーザー名で使われていたプロセスがなくなります。
3. /home/newusername/home/oldusernameへシンボリックリンクを作成します。
一部のアプリケーションでは、ユーザー名を変更するとエラーが表示されますが、これは古いユーザー名のホームフォルダを指す設定ファイルがある場合があるからです。
sudo ln -s /home/newusername /home/oldusername
4.表示名/フルネーム(firstname lastname)の変更。
私の場合、Ubuntu 19.04とFedora 29でユーザー名を変更しようとしたところ、GDM3のログイン画面やユーザーメニューで表示名(フルネーム)が変更されませんでした。
sudo chfn -f "firstname lastname" newusername
firstnamelastnamefirstnamelastnameは1つのアイテムにすることもでき、例えば、あなたの新しいユーザー名です。
chfnコマンドは、Fedoraではutil-linux-userパッケージで利用できますが、デフォルトではインストールされていません。
sudo dnf install util-linux-user
このパッケージをインストールすると、chfnコマンドがFedoraで動作するようになります。
5. 新しい(名前を変えた)ユーザー名でログインし、手順1で作成した一時的なユーザーを削除します。
ログアウトして、ログイン画面から新しい(名前を変えた)ユーザー名を選択して、ログインに進みます。 これで、手順1で作成した一時的なユーザー(tempuser)とそのホームフォルダを削除することができます:
sudo userdel -r tempuser
。