Wie kann ich mein Standard-Shell auf Mac setzen?
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?
Lösung
Diese gelten für MacOS Sierra 10.12.5 (16F73) und wahrscheinlich auch einige andere aktuelle und zukünftige Versionen von MacOS.
-
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.' -
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
2. hinzufügen / usr / local / bin / Fisch in die Liste der Schalen
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:
-
Fish In dem
/etc/shells
, das wird ein Administratorkennwort erforderlich:sudo echo /usr/local/bin/fish >> /etc/shells
-
Machen Sie Fische Standard-Shell mit
chsh
:chsh -s /usr/local/bin/fish
Von den Systemeinstellungen:
-
Benutzer und Gruppen → Strg-Klick auf Aktuellen Benutzern → Erweiterte Optionen ...
-
Ändern Login-Shell
/usr/local/bin/fish
-
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.
-
Zuerst hatte ich Fisch in die
/etc/shells
Datei hinzufügen -
Dann lief ich
chsh -s /usr/local/bin/fish
-
Schließlich habe ich getippt Befehl + , und
/usr/local/bin/fish
auf den Standardpfad dort 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)
- Öffnen Sie Terminal und drücken Sie Befehl + , (Komma). Dadurch wird ein Konfigurationsfenster öffnen.
- Die erste Registerkarte ist ‚Allgemein‘.
- Suchen ‚Shells öffnen mit‘ Einstellung und zweite Option wählen, die an der Schale vollständigen Pfad muss.
- 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):
- definiert aktuelle Benutzer als Eigentümer von Muscheln
sudo chown $(whoami) /etc/shells
- Fügen Sie Fisch in / etc / shells
sudo echo /usr/local/bin/fish >> /etc/shells
- Stellen Fish Ihr Standard-Shell mit chsh
chsh -s /usr/local/bin/fish
- Neudefinition root als Eigentümer von Muscheln
sudo chown root /etc/shells