Как установить оболочку по умолчанию на Mac?
Я не люблю перепечатывать рыбу каждый раз, когда я запустить терминал. Я хочу!--0--> по умолчанию. Как установить fish shell в качестве оболочки по умолчанию на Mac?
12 ответов
Я хотел бы добавить 2 важных вещи здесь. Они применимы к MacOS Sierra 10.12.5 (16F73) и, вероятно, некоторые другие последние и предстоящие версии MacOS.
chsh
недостаточно для изменения оболочки по умолчанию. Убедитесь, что вы нажали команда+, в то время как ваш терминал открыт и измените опцию "оболочки открыты с" на " оболочку входа по умолчанию.'в случае bash убедитесь, что вы выполняете
echo $BASH_VERSION
чтобы подтвердить, что вы используете предполагаемую версию bash.bash --version
не дает вам правильную информацию.
1. sudo nano / etc / shells
2. добавьте /usr / local/bin / fish в свой список раковин
3. chsh-s /usr/local/bin/fish
можно использовать ЧШ сменить пользователя.
запустите следующий код, например, чтобы изменить оболочку на Zsh
chsh -s /bin/zsh
как описано в manpage, и Лорин, если оболочка не известна ОС, вы должны добавить ее в свой известный список:/etc/shells
.
Из Терминала:
-
добавить рыбу к
/etc/shells
, для чего потребуется административный пароль:sudo echo /usr/local/bin/fish >> /etc/shells
-
сделайте рыбу своей оболочкой по умолчанию с
chsh
:chsh -s /usr/local/bin/fish
"Системные Настройки":
Пользователь и группы → ctrl-нажмите на текущего пользователя → Дополнительные параметры...
-
изменить оболочку для
/usr/local/bin/fish
нажмите OK, выйдите из системы и снова
вот еще один способ сделать это:
предполагая, что вы установили его с MacPorts, что можно сделать, выполнив:
sudo port install fish
ваша оболочка будет находиться в /opt/local/bin/fish
.
вам нужно сказать OSX, что это допустимая оболочка. Для этого добавьте этот путь в конец .
как только вы это сделаете, вы можете изменить оболочку, перейдя в Системные Настройки -> Учетные записи. Нажмите на блокировку, чтобы разрешить изменения. Щелкните правой кнопкой мыши на учетной записи, и выберите "Дополнительные параметры...". В поле" Login shell " добавьте путь к рыбе.
единственное, что работал для меня было сочетание всех этих методов.
сначала я должен был добавить рыбу в
тогда я побежал
chsh -s /usr/local/bin/fish
наконец, я набрал команда+, и добавил
/usr/local/bin/fish
к пути по умолчанию там
только после того, как я сделал все три вещи рыба начала появляться по умолчанию для нового терминала окна.
на chsh
программа позволит вам изменить оболочку по умолчанию. Это будет полный путь к исполняемому файлу, поэтому если ваша оболочка fish
тогда он захочет, чтобы вы предоставили вывод, заданный при вводе which fish
.
вы увидите строку, начинающуюся с "Shell:
". Если вы никогда не редактировали его, он, скорее всего, говорит "Shell: /bin/bash
". Заменить /bin/bash
путь с путем к нужной оболочке.
когда в терминале, откройте настройки терминала с помощью команда+,.
на вкладке Настройка выберите одну из тем и перейдите на вкладку оболочка справа.
вы можете установить команду автозапуска fish
.
- откройте терминал и нажмите клавишу команда+, (запятая). Откроется окно настроек.
- первая вкладка "Общие".
- найти "оболочки открыты с" настройкой и выбрать 2-й вариант, который должен полный путь к оболочке.
- вставьте ссылку на команду fish, которая обычно является
/usr/local/bin/fish
.
я использую macOS Sierra.
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 >
просто измените это значение (с помощью команды write в dscl
).
на macOS Mojave мне пришлось сделать следующее (используя zsh в качестве примера):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)