Wie ändere ich meine Standard-Shell in einer AWS-Instanz?

121

Ich möchte meine Shell auf meinen Amazon EC2-Instanzen von der Standard-Bash-Shell in zsh ändern. Wie mache ich das? Vielen Dank!

Shripad Krishna
quelle

Antworten:

159

Versuchen Sie es mit dem chshBefehl.

z.B

chsh -s / bin / zsh

Sie können den Speicherort von zsh durch Ausführen bestätigen whereis zshoder alternativ einfach ausführen

chsh -s $ (welches zsh)

Wenn Sie die Shell für ein anderes Benutzerkonto als das, bei dem Sie angemeldet sind, ändern möchten, müssen Sie es als root ausführen. Um also Johns Shell zu ändern, gehen Sie wie folgt vor:

sudo chsh -s $ (welche zsh) john

Beachten Sie, dass Sie sich abmelden und erneut anmelden müssen, damit die Änderung wirksam wird. Wenn Sie Gnome oder einen anderen Fenstermanager verwenden, müssen Sie sich ebenfalls vollständig von dieser Sitzung abmelden. Das einfache Schließen und Öffnen Ihres Terminals reicht nicht aus.

John T
quelle
Ich habe das versucht, aber mit dem root-Benutzer !! Mein AMI Image hat eher Ubuntu als Root. Musste zu Ubuntu Benutzer wechseln, um die Shell zu ändern! Danke für den Hinweis :)
Shripad Krishna
3
@Paddy Wenn Sie root sind, können Sie es für einen anderen Benutzer ändern, indem Sie ausführen chsh -s /bin/zsh username.
John T
Super :) Viel einfacher. Danke auch für diese Infos.
Shripad Krishna
3
@We are the World: Sie müssen / usr / local / bin / zsh als neue Zeile zu / etc / shells hinzufügen
Nate Parsons
5
Ich benutze eine etwas andere Versionsudo chsh -s $(which zsh) $(whoami)
SergioAraujo
20

Öffne / etc / passwd:

sudo vi /etc/passwd

Suchen Sie die Zeile mit Ihrem Benutzernamen:

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

und ersetze bash mit zsh:

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

Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden.

Georgii Oleinikov
quelle
6
Es ist besser zu verwenden chsh, aber wenn Sie wirklich/etc/passwd von Hand bearbeiten möchten, verwenden Sie mindestens den vipwBefehl.
Valmiky Arquissandas
Ich habe kein chsh auf meinem Rechner. Aus irgendeinem Grund wird meine Datei / etc / passwd regelmäßig durch die Standarddatei überschrieben. Wissen Sie, warum das passieren könnte?
Georgii Oleinikov
Berühren Sie nicht / etc / passwd. Es gibt bessere Möglichkeiten, dies zu tun, ohne mit dem passwd-Tool herumzuspielen!
Andrew
6

Ich bin hierher gekommen, um zusätzliche Informationen hinzuzufügen. Wenn Sie Probleme bei der Installation von zsh in Amazon Linux AMI von Amazon haben, wie beim Ausführen von:

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

Dann sollten Sie util-linux-user installieren :

sudo yum install util-linux-user

(Amazon Linux AMI hat standardmäßig nur lchsh , aber ich kann mir nicht vorstellen , wie es funktioniert).

Führen Sie dann den folgenden Befehl aus, es sollte funktionieren:

sudo chsh -s $(which zsh) $(whoami)
Chau Giang
quelle
5

Unter Ubuntu hat das Vornehmen von Änderungen über chsh im GNOME-Terminal nicht den erwarteten Effekt ...

Um dieses Problem zu lösen, gehen Sie folgendermaßen vor:

  • Klicken Sie mit der rechten Maustaste in das Terminal
  • Profile -> Profileinstellungen
  • Aktivieren Sie auf der Registerkarte "Titel und Befehl" das Kontrollkästchen "Benutzerdefinierten Befehl anstelle meiner Shell ausführen" und geben Sie den Pfad zur ausführbaren Datei zsh an.
  • Terminal neu starten.

Frieden.

PS: Habe nicht 10 Ruf, um Bilder zu posten, also alle Textanweisungen. :)

Ben
quelle
Sie haben den Repräsentanten, den Sie jetzt brauchen. : P
Pradyunsg
0

eine Linie

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

Extra Info: danach werden Sie wahrscheinlich diese machen wollen

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) Hänge zsh-autosuggestions & zsh-syntax-highlighting an solche plugins () an

plugins = (git zsh-autosuggestions schnelles Syntaxhervorheben)

source ~/.zshrc
OWADVL
quelle