私はアドバイスに従ってユーザー名を変更しようとしています here ただし、次のコマンドを実行した後:
CurrentName@HostName ~ $ Sudo usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName
端末は次のように応答します:
CurrentName@HostName ~ $ usermod: user CurrentName is currently used by process 2491
そして、ユーザー名は同じままです。結局のところ、これを修正してユーザー名を変更する方法を誰かが知っていますか?
引用するにはman usermod
:
CAVEATS
You must make certain that the named user is not executing any
processes when this command is being executed
if the user's numerical user ID, the user's name, or the user's home
directory is being changed. usermod
checks this on Linux, but only check if the user is logged in
according to utmp on other architectures.
したがって、名前を変更するユーザーがログインしていないことを確認する必要があります。
また、私はこれをrootとして実行していないことに注意してください。ルートとして実行するか、「Sudo usermod」で実行します。
これは主に、最初からログインするためのrootアカウントがないUbutuの問題です。したがって、これは矛盾を引き起こします。私はsudoerグループのユーザーです。自分のuidを変更することはできません。
これが最善の解決策かどうかはわかりません。最初に偽のアカウントfooを作成し、これをSudoリストに追加します。次に、fooアカウントにログインし、usermod -g MYOWNGID myloginを実行します
別のユーザーでコマンドを実行する必要があると思います。 rootまたは他のユーザーでログインして、再試行してください。変更するユーザーがいるxウィンドウにいる場合、コマンドが失敗したことは論理的に聞こえます。
次の手順を試してください。
sudo passwd root
sermod -l newuser -d/home/newuser -m olduser
私はusermodを使用して同じ問題を抱えていますが、-mパラメータを使用して修正し、ホームディレクトリのコンテンツを新しいローカリゼーションに移動します。このオプションは、-dと組み合わせて使用します(ユーザーのメインディレクトリを変更します)。
Man usermodコマンドを確認することをお勧めします