J'ai mal saisi mon nom par erreur lors de la création du compte administrateur. Bien que j'ai réussi à changer le nom d'utilisateur à l'écran de connexion, je ne parviens pas à renommer le /home/oldusername
en /home/newusername
. J'ai essayé la plupart des tutoriels en ligne, et cela a échoué.
Le code que j'ai essayé était le suivant:
usermod -l newusername -m -d /home/newusername oldusername
Mais le résultat est:
cannot lock /etc/passwd; try again later.
Comment puis-je résoudre le problème et remplacer le dossier par newusername et attendre que toutes les applications fonctionnent comme avant?
Connectez-vous avec votre currentusername
, ouvrez un terminal et tapez:
Sudo passwd root
Entrez un mot de passe pour le compte root, puis déconnectez-vous, appuyez sur Ctrl+Alt+F1 pour ouvrir une console texte, connectez-vous en tant que root (nom d'utilisateur: root, mot de passe: "celui que vous avez saisi ci-dessus") et exécutez:
usermod -l newusername -m -d /home/newusername currentusername
exit
Presse Ctrl+Alt+F7 pour revenir à la console graphique et vous connecter en tant que newusername
.
Pour modifier le nom d'affichage de l'utilisateur (celui qui apparaît sur l'écran de connexion), accédez à Paramètres système -> . Comptes d'utilisateurs puis cliquez sur le nom d'affichage dans la partie droite de la boîte de dialogue.
Vous devez le faire en mode de récupération.
Redémarrez, choisissez le mode de récupération, puis passez à une console racine et tapez la commande à cet endroit. Puis redémarrez à nouveau normalement.
La première solution simple que vous pouvez faire est de créer un nouvel utilisateur avec le bon nom d'utilisateur et de l'ajouter au groupe des administrateurs: / etc/sudoers
autrement, vous pouvez le faire avec votre ancien nom d’utilisateur (je l’ai testé sur Fedora):
# usermod -l new-username old-unername
Je créerais un nouveau compte et copierais tous vos fichiers. C'est probablement la méthode la plus idiote.
Le changement de nom d'utilisateur entraînera des problèmes inévitables. Beaucoup de programmes vont essayer de lire et d’écrire des données de l’ancien répertoire qui n’y est plus. Créer un nouveau compte et copier tous les anciens dossiers semble une bonne idée. Je crois qu'il y a d'autres problèmes.
Mais cela répond à la question où les commentaires précédents ne m'ont pas aidé.
Se connecter simplement en tant que root risque de ne pas fonctionner car mon ancien nom d'utilisateur comportait des processus actifs. J'ai donc fait comme les autres l'ont dit et j'ai redémarré en mode de récupération. Mais ensuite, j'ai reçu le message d'erreur mentionné dans l'affiche originale. Comme découvert ici ceci est dû au fait que le lecteur est en lecture seule en mode de récupération, vous devez donc le rendre en lecture-écriture.
Correctif récapitulatif:
Sudo passwd root # assign a password
reboot # into recovery mode and log in as root
Maintenez la touche Maj pendant le démarrage si votre menu de menu n'est pas configuré pour afficher. Connectez-vous en tant que root et accédez à Shell.
mount -o remount,rw / # make the disk writable
usermod -l <newname> -d /home/<newname> -m <oldname>
passwd -l root # deactivate the root password
reboot
Votre ancien nom d'utilisateur sera le nom d'utilisateur, mais il vous laissera tout de même entrer. Pour le corriger, modifiez le fichier à l'aide de la commande ci-dessous, recherchez la ligne contenant votre nouveau et votre ancien nom d'utilisateur sur la même ligne et remplacez l'ancien par le nouveau:
Sudo nano /etc/passwd
Comme d'autres l'ont dit ailleurs, attendez-vous à des problèmes lors de la modification de votre nom d'utilisateur, car de nombreux programmes essaieront par exemple de rechercher ou de stocker des données d'application dans le dossier de votre ancien nom d'utilisateur, qui n'existe plus.