Wie verwendet man eine andere Shell als bash an einem Terminal als Standard?

14

Wenn Sie zum Terminal via Applications -> Terminaloder zu Ctrl+ Alt+ F1usw. wechseln, werden Ihre Befehle standardmäßig mit bash interpretiert. Wenn Sie einen anderen Befehlsinterpreter (wie zsh oder fish) verwenden möchten, wie starten Sie diesen standardmäßig?

Antonius
quelle

Antworten:

18

Wenn Sie Ihre Shell als Benutzer ändern möchten, geben Sie Folgendes ein:

chsh -s /path/to/your/shell

oder einfach

chsh

Sie müssen Ihr Passwort eingeben und Ihre Login-Shell ist auf die von Ihnen gewählte Shell eingestellt. Sie können nur eine Shell auswählen, die in aufgeführt ist /etc/shells.

qbi
quelle
2
Ich denke, dies ist der bessere Weg, um mit dem derzeit angemeldeten Benutzer zu gehen. Für die Verwendung sind keine Administratorrechte erforderlich.
Antony
9

Ändern Sie Ihre Standard-Shell. Es gibt eine Befehlszeilenmethode, um dies zu tun:

$ sudo usermod -s /path/to/newshell username

In den GUI-Einstellungen ist dies möglicherweise einfacher.

System -> Administration -> Benutzer und Gruppen -> [Benutzer auswählen] -> Erweiterte Einstellungen -> Erweitert

Wählen Sie dann die Shell aus der Dropdown-Liste.

Wenn die gewünschte Shell nicht in dieser Liste enthalten ist, ist sie wahrscheinlich nicht installiert.

Sie müssen sich abmelden und erneut anmelden, damit dies wirksam wird. Sie können überprüfen, welche Shell Sie in einem neuen Terminal ausführen, indem Sie "ps" ausführen.

Wenn Sie sehr neugierig sind, wird die Standard-Shell in / etc / passwd gespeichert (die trotz des Namens eigentlich keine Passwörter hat).

Dave Jennings
quelle
1
Für jemanden mit Administratorrechten ist das großartig. Ich habe mich entschlossen, die Antwort zunächst an qbi zu senden, da hierfür keine Administratorrechte erforderlich sind.
Antony