Comment changer mon shell par défaut sur une instance AWS?

121

Je souhaite changer mon shell bash par défaut en zsh sur mes instances Amazon EC2. Comment je fais pour le faire? Merci!

Shripad Krishna
la source

Réponses:

159

Essayez d'utiliser la chshcommande.

par exemple

chsh -s / bin / zsh

Vous pouvez confirmer l’emplacement de zsh en exécutant whereis zshou simplement en exécutant

chsh -s $ (quel zsh)

Si vous souhaitez modifier le shell d'un compte d'utilisateur autre que celui auquel vous êtes connecté, vous devez l'exécuter en tant que root. Pour changer le shell de John, procédez comme suit:

sudo chsh -s $ (quel zsh) john

Notez que vous devrez vous déconnecter et vous reconnecter pour que les modifications prennent effet. Si vous utilisez Gnome ou un autre gestionnaire de fenêtres, vous devrez également vous déconnecter complètement de cette session. Il ne suffit pas de fermer et d'ouvrir votre terminal.

John T
la source
J'ai essayé cela, mais avec l'utilisateur root! Mon image AMI a ubuntu plutôt que root. Il a fallu passer à l'utilisateur d'ubuntu pour changer de shell! Merci pour l'allusion :)
Shripad Krishna Le
3
@Paddy si vous êtes root, vous pouvez le changer pour un autre utilisateur en le lançant chsh -s /bin/zsh username.
John T
Génial :) beaucoup plus facile. Merci pour cette information aussi.
Shripad Krishna
3
@We are the World: Vous devez ajouter / usr / local / bin / zsh en tant que nouvelle ligne à / etc / shells
Nate Parsons
5
J'utilise une version légèrement différentesudo chsh -s $(which zsh) $(whoami)
SergioAraujo
20

Ouvrez / etc / passwd:

sudo vi /etc/passwd

Trouvez la ligne avec votre nom d'utilisateur:

username:x:1634231:100:Your Name:/home/username:/bin/bash

et remplacez bash par zsh:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

Déconnectez-vous et reconnectez-vous pour que les modifications prennent effet.

Georgii Oleinikov
la source
6
Il vaut mieux l'utiliser chsh, mais si vous voulez vraiment éditer /etc/passwdà la main, utilisez au moins la vipwcommande.
Valmiky Arquissandas
Je n'ai pas chsh sur ma machine. Aussi, pour une raison quelconque, mon fichier / etc / passwd est régulièrement écrasé par celui par défaut. Savez-vous pourquoi cela pourrait se produire?
Georgii Oleinikov
Ne touchez pas / etc / passwd. Il existe de meilleures façons de le faire qui ne nécessitent pas de jouer avec l'outil passwd!
Andrew
6

Je suis venu ici pour ajouter des informations supplémentaires. Si vous rencontrez des problèmes lors de l'installation de zsh dans Amazon Linux AMI par Amazon, comme lors de l'exécution:

sudo chsh $(which zsh) : // chsh command not found

Ensuite, vous devriez installer util-linux-user :

sudo yum install util-linux-user

(par défaut, Amazon Linux AMI n’a que lchsh , mais je ne peux pas comprendre comment cela fonctionne).

Puis lancez la commande suivante, ça devrait marcher:

sudo chsh -s $(which zsh) $(whoami)
chau giang
la source
5

Sous Ubuntu, à l'intérieur du terminal GNOME, les modifications via chsh n'auront pas l'effet escompté ...

Pour résoudre ce problème, procédez comme suit:

  • Clic droit dans le terminal
  • Profils -> Préférences de profil
  • Sous l'onglet "Titre et commande", cochez la case "Exécuter une commande personnalisée à la place de mon shell" et indiquez le chemin d'accès à l'exécutable zsh.
  • Redémarrez le terminal.

Paix.

PS N'a pas 10 réputation pour poster des images, donc toutes les instructions textuelles. :)

Ben
la source
Vous avez le représentant dont vous avez besoin maintenant. : P
pradyunsg
0

une ligne

sudo chsh -s $(which zsh) $(whoami)

Extra Info: après cela, vous voudrez probablement faire cela

git clone https://github.com/zdharma/fast-syntax-highlighting.git \
  ~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

nano ~/.zshrc 

find plugins = (git) Ajoutez zsh-autosuggestions & zsh-syntax-en surbrillance à plugins () comme ceci

plugins = (git zsh-autosuggestions mise en surbrillance de la syntaxe rapide)

source ~/.zshrc
OWADVL
la source