Come posso modificare la shell predefinita su un'istanza AWS?


121

Voglio cambiare la mia shell dalla shell bash predefinita a zsh sulle mie istanze di Amazon EC2. Come faccio a farlo? Grazie!

Risposte:


159

Prova a usare il chshcomando.

per esempio

chsh -s / bin / zsh

È possibile confermare la posizione di zsh eseguendo whereis zsho in alternativa semplicemente eseguendo

chsh -s $ (che zsh)

Se vuoi cambiare la shell per un account utente diverso da quello a cui hai effettuato l'accesso, dovrai eseguirlo come root, quindi per cambiare la shell di john, fai:

sudo chsh -s $ (che zsh) john

Tieni presente che dovrai disconnetterti e riconnetterti per rendere effettiva la modifica. Se stai usando Gnome o qualche altro gestore di finestre, dovrai disconnetterti completamente anche da quella sessione - semplicemente chiudere e aprire il tuo terminale non è sufficiente.


L'ho provato, ma con l'utente root !! La mia immagine AMI ha ubuntu piuttosto che root. Ho dovuto passare all'utente ubuntu per cambiare la shell! Grazie per il suggerimento :)
Shripad Krishna,

3
@Paddy se sei root puoi cambiarlo per un altro utente eseguendolo chsh -s /bin/zsh username.
John T,

Fantastico :) Molto più facile. Grazie anche per quelle informazioni.
Shripad Krishna,

3
@Siamo il mondo: è necessario aggiungere / usr / local / bin / zsh come nuova riga a / etc / shells
Nate Parsons

5
Uso una versione leggermente diversasudo chsh -s $(which zsh) $(whoami)
SergioAraujo,

20

Apri / etc / passwd:

sudo vi /etc/passwd

Trova la riga con il tuo nome utente:

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

e sostituisci bash con zsh:

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

Disconnettersi e riconnettersi per rendere effettive le modifiche.


6
È meglio usarlo chsh, ma se vuoi davvero modificarlo /etc/passwda mano, almeno usa il vipwcomando.
Valmiky Arquissandas,

Non ho chsh sulla mia macchina. Inoltre, per qualche strano motivo, il mio file / etc / passwd viene regolarmente sovrascritto da quello predefinito. Sai perché questo potrebbe accadere?
Georgii Oleinikov,

Non toccare / etc / passwd. Ci sono modi migliori per farlo che non richiedono scherzi con lo strumento passwd!
Andrew,

6

Sono venuto qui per aggiungere ulteriori informazioni aggiuntive. Se riscontri problemi durante l'installazione di zsh in Amazon Linux AMI di Amazon, come quando esegui:

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

Quindi dovresti installare util-linux-user :

sudo yum install util-linux-user

(per impostazione predefinita Amazon Linux AMI ha solo lchsh , ma non riesco a capire come funzioni).

Quindi eseguire il comando seguente, dovrebbe funzionare:

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

5

Su Ubuntu, all'interno del terminale GNOME, apportare modifiche tramite chsh non avrà l'effetto previsto ...

Per superare questo problema, procedere come segue:

  • Fare clic con il tasto destro nel terminale
  • Profili -> Preferenze profilo
  • Nella scheda "Titolo e comando", selezionare "Esegui un comando personalizzato anziché la mia shell" e fornire il percorso dell'eseguibile zsh.
  • Riavvia terminale.

Pace.

PS Non hai 10 reputazione per pubblicare immagini, quindi tutte le istruzioni texty. :)


Hai il rappresentante di cui hai bisogno ora. : P
pradyunsg,

0

una linea

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

Informazioni extra: dopodiché probabilmente vorrai farlo

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) Aggiunge zsh-autosuggestions e zsh-syntax-highlighting ai plugin () come questo

plugins = (git zsh-autosuggestions evidenziazione rapida della sintassi)

source ~/.zshrc
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.