Comment puis-je changer de shell dans Ubuntu? [dupliquer]

87

Cette question a déjà une réponse ici:

J'ai un serveur Ubuntu VPS et je veux l'utiliser /bin/bash/comme shell. Comment puis-je changer ma coquille? J'ai un accès root mais je ne travaille pas en tant que root. Donc dash est mon shell par défaut maintenant.

J'ai lu Comment faire de Bash mon shell par défaut sur Ubuntu? et les chshcoutures à être le moyen privilégié d'aller. Mais quand je tape chsh /bin/bashje reçois ce message: chsh: unknown user /bin/bash

Et si je tape simplement /bin/bashles coutures du shell Bash pour bien fonctionner. Comment le changer?

Jonas
la source

Réponses:

85

Pour changer de shell, utilisez la chshcommande nue . Cela vous demandera le nouveau shell. Vous n'avez rien d'exécuter en tant que root.

Nounours
la source
Ah, c'était encore mieux!
Jonas
8
n'oubliez pas de vous déconnecter et de vous reconnecter pour voir le changement.
driftcatcher
26
Ne fonctionne pas en tant qu'utilisateur normal: $ chsh Vous ne pouvez pas changer le shell pour "utilisateur".
Henning
1
Travaille pour moi. On dirait que votre système a été délibérément verrouillé.
Michael Cole
1
J'utilise ssh, mais chsh me demande un mot de passe que je ne connais pas. Un moyen de contourner ça?
Qwerty
113

Lors de l'exécution en tant que root, vous pouvez utiliser chshpour modifier les shells d'autres utilisateurs. La syntaxe que vous voulez utiliser ici. Vous pouvez changer votre propre shell sans droits root.

chsh -s /bin/bash username

Dentrasi
la source
10
-1 chsh n'a pas besoin d'être lancé en tant que root pour changer votre propre shell. Changer la coquille des autres nécessite de root.
Broam
2
Cela a fonctionné. Je reçois toujours le message d'erreur "Vous ne pouvez pas changer le shell pour ...".
setzamora
2
Déconnectez-vous et
reconnectez-vous
1
+1 J'ai trouvé que cela fonctionnait, après avoir essayé la chshcommande en étant connecté en tant qu'utilisateur et en obtenant "Vous ne pouvez pas changer le shell pour ..."
therobyouknow
54

Vous pouvez modifier votre shell par défaut pour votre utilisateur à l'aide de la commande usermod.

sudo usermod -s <shell> <username>

remplacez par le nom du shell que vous voulez utiliser (c.-à-d. / bin / bash) et par le nom d'utilisateur pour lequel vous souhaitez le modifier.

Cela définira le shell par défaut pour le nom d'utilisateur sélectionné dans le fichier / etc / passwd.

txwikinger
la source
10
Utilisez-le usermodsi vous voyez "chsh Vous ne pouvez pas changer de shell pour ..."
Xeoncross
2
voter, puisque chsh n'a pas fonctionné pour moi en effet. Merci!
Mixaz
Important à noter que usermodnécessitesudo
ARun32