管理者アカウントを作成したときに、誤って名前を間違って入力しました。ログイン画面でユーザー名を変更することはできましたが、/home/oldusername
の名前を/home/newusername
に変更することはできません。ほとんどのオンラインチュートリアルを試してみましたが、失敗しました。
私が試したコードはこれでした:
usermod -l newusername -m -d /home/newusername oldusername
しかし、出力は次のとおりです。
cannot lock /etc/passwd; try again later.
問題を修正してフォルダーをnewusernameに変更し、すべてのアプリケーションが以前と同様に動作することを期待するにはどうすればよいですか?
currentusername
でログインし、ターミナルを開いて次を入力します。
Sudo passwd root
ルートアカウントのパスワードを入力してからログアウトし、 Ctrl+Alt+F1 テキストコンソールを開くには、rootとしてログインし(ユーザー名:root、パスワード:「上で入力したもの」)、実行します:
usermod -l newusername -m -d /home/newusername currentusername
exit
押す Ctrl+Alt+F7 グラフィックコンソールに戻り、newusername
としてログインします。
ユーザーの表示名(ログイン画面に表示される表示名)を変更するには、System Settings->に移動しますUser Accountsその後、ダイアログの右側にある表示名をクリックします。
これは回復モードから行う必要があります。
再起動し、回復モードを選択してから、ルートコンソールにドロップし、そこでコマンドを入力します。その後、通常どおりに再起動します。
最初にできる簡単な解決策は、適切なユーザー名で新しいユーザーを作成し、管理者グループに追加することです。/ etc/sudoers
他の方法では、古いユーザー名でそれを行うことができます(Fedoraでテストしました):
# usermod -l new-username old-unername
新しいアカウントを作成し、すべてのファイルをコピーします。これはおそらく最も馬鹿な方法です。
ユーザー名を変更すると、避けられない問題が発生します。多くのプログラムは、もう存在しない古いディレクトリからデータを読み書きしようとします。新しいアカウントを作成し、古いフォルダーをすべてコピーするのは良い考えのようです。他にも問題があると思います。
しかし、これは以前のコメントが私を助けなかったという質問に答えます。
古いユーザー名にアクティブなプロセスがあったため、単にルートとしてログインし直すだけでは機能しない場合があります。だから私は他の人が言ったようにしたし、回復モードで再起動しました。しかし、その後、元のポスターが言及しているエラーメッセージが表示されました。発見されたように here これは、ドライブがリカバリモードでのみ読み取られるため、読み取り/書き込みを行う必要があるためです。
要約修正:
Sudo passwd root # assign a password
reboot # into recovery mode and log in as root
GRUBメニューが表示されるように設定されていない場合は、ブート中にShiftキーを押したままにします。ルートとしてログインし、シェルにアクセスします。
mount -o remount,rw / # make the disk writable
usermod -l <newname> -d /home/<newname> -m <oldname>
passwd -l root # deactivate the root password
reboot
古いユーザー名がログイン名になりますが、それでもログインできます。それを修正するには、以下のコマンドでファイルを編集し、同じ行で新しいユーザー名と古いユーザー名を持つ行を探し、古い行を新しい物:
Sudo nano /etc/passwd
他の人が他の場所で言っているように、多くのプログラムがもう存在しない古いユーザー名のフォルダーでアプリケーションデータを検索または保存するようなことをしようとするため、ユーザー名を変更するときに問題が発生します。