Frage

Ich mag keinen Fisch erneut eingeben jedes Mal, wenn ich Terminal starten. Ich möchte fish standardmäßig aktiviert. Wie kann ich Fisch Shell als Standard-Shell auf einem Mac?

War es hilfreich?

Lösung

Diese gelten für MacOS Sierra 10.12.5 (16F73) und wahrscheinlich auch einige andere aktuelle und zukünftige Versionen von MacOS.

  1. chsh ist nicht genug, um den Standard-Shell zu ändern. Stellen Sie sicher, dass Sie die Taste Befehl + , , während die Klemme offen ist, und ändern Sie die 'Shells offen mit' Option 'Standard-Login-Shell.'

  2. Bei bash, stellen Sie sicher, dass Sie echo $BASH_VERSION ausführen, um Sie zu bestätigen, um die beabsichtigte bash-Version ausgeführt wird. bash --version nicht geben Sie die richtigen Informationen.

Andere Tipps

1. sudo nano / etc / shells eingeben Bild Beschreibung hier

2. hinzufügen / usr / local / bin / Fisch in die Liste der Schalen eingeben Bild Beschreibung hier

3. chsh -s / usr / local / bin / Fisch

Sie können mit chsh auf eine Shell des Benutzers zu ändern.

Führen Sie den folgenden Code, zum Beispiel, Ihre Shell Zsh zu ändern

chsh -s /bin/zsh

Wie in der Manpage beschrieben, und von Lorin, wenn die Schale nicht durch das Betriebssystem bekannt ist, haben Sie es zu seiner bekannten Liste hinzuzufügen. /etc/shells

Vom Terminal:

  1. Fish In dem /etc/shells, das wird ein Administratorkennwort erforderlich:

    sudo echo /usr/local/bin/fish >> /etc/shells
    
  2. Machen Sie Fische Standard-Shell mit chsh:

    chsh -s /usr/local/bin/fish
    

Von den Systemeinstellungen:

  1. Benutzer und Gruppen → Strg-Klick auf Aktuellen Benutzern → Erweiterte Optionen ...

  2. Ändern Login-Shell /usr/local/bin/fish

    Login-Shell

  3. Klicken Sie auf OK, sich abzumelden und wieder

Hier ist eine andere Art und Weise, es zu tun:

Angenommen, Sie es mit MacPorts installiert, die, indem Sie getan werden kann:

sudo port install fish

Ihre Schale wird in /opt/local/bin/fish befinden.

Sie müssen OSX sagen, dass dies eine gültige Shell ist. Um dies zu tun, fügen Sie diesen Weg bis zum Ende der /etc/shells Datei.

Sobald Sie dies getan haben, können Sie die Shell ändern, indem Sie die Systemeinstellungen gehen -> Konten. Klicken Sie auf die Lock-Änderungen zu ermöglichen. Rechtsklick auf das Konto ein, und wählen Sie „Erweiterte Optionen ...“. In dem „Login-Shell“ Feld, fügen Sie den Pfad zu fischen.

Das einzige, was für mich gearbeitet eine Kombination all dieser Methoden war.

  1. Zuerst hatte ich Fisch in die /etc/shells Datei hinzufügen

  2. Dann lief ich chsh -s /usr/local/bin/fish

  3. Schließlich habe ich getippt Befehl + , und /usr/local/bin/fish auf den Standardpfad dort

  4. hinzugefügt

Erst nachdem ich alle drei Dinge getan hatte, fingen Fische als Standard für neue Terminal-Fenster auftauchen.

Auf macOS Mojave hatte ich den folgenden (mit zsh als Beispiel) zu tun:

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
  1. Öffnen Sie Terminal und drücken Sie Befehl + , (Komma). Dadurch wird ein Konfigurationsfenster öffnen.
  2. Die erste Registerkarte ist ‚Allgemein‘.
  3. Suchen ‚Shells öffnen mit‘ Einstellung und zweite Option wählen, die an der Schale vollständigen Pfad muss.
  4. Fügen Sie den Link zu Ihrem Fisch-Befehl, der im Allgemeinen ist /usr/local/bin/fish.

I macOS Sierra verwenden.

das chsh Programm können Sie Ihre Standard-Shell ändern. Es wird den vollständigen Pfad zu der ausführbaren Datei wollen, also, wenn Ihre Shell ist fish dann wird es wollen Sie die Ausgabe liefern gegeben, wenn Sie which fish geben.

Sie werden sehen, eine Zeile mit „Shell:“ ab. Wenn Sie es noch nie bearbeitet haben, ist es sehr wahrscheinlich, sagt „Shell: /bin/bash“. Ersetzen Sie, dass /bin/bash Pfad mit dem Pfad zu Ihrem gewünschten Shell.

Wenn im Terminal, öffnen Sie die Terminal-Einstellungen mit Befehl + , .

Auf der Registerkarte Einstellung die Option eines der Themen, und die Schale Registerkarte auf der rechten Seite wählen.

Sie können die Autostart-Befehl fish gesetzt.

heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
 > cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >

nur diesen Wert ändern (mit dem Schreibbefehl in dscl).

Wie die neueste Version von bash auf modernen macOS (getestet auf Mojave) erhalten.

brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)

Dann sind Sie bereit href="https://stackoverflow.com/a/48514114/117471"> vim Stil Tabulatorvervollständigung = 4 (aktuelle Version in brew ist 5.0.2

# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete

# Display a list of the matching files
bind "set show-all-if-ambiguous on"

# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"

Falls Sie Probleme mit den anderen Möglichkeiten haben, auf dem Mac Mojave gearbeitet, aber soll in der Regel arbeiten.

which fish

fügen Sie den Ausgabepfad zu „Systemeinstellungen> Benutzer und Gruppen> Benutzer-Klick, Erweiterte Optionen“ Einfügen das Ergebnis aus dem in „Login-Shell:“

Für mich ist diese Arbeit auf Neuinstallation von Mac OS X (Sierra):

  1. definiert aktuelle Benutzer als Eigentümer von Muscheln
sudo chown $(whoami) /etc/shells
  1. Fügen Sie Fisch in / etc / shells
sudo echo /usr/local/bin/fish >> /etc/shells
  1. Stellen Fish Ihr Standard-Shell mit chsh
chsh -s /usr/local/bin/fish
  1. Neudefinition root als Eigentümer von Muscheln
sudo chown root /etc/shells
scroll top