Мне не нравится повторять рыбу каждый раз, когда я запускаю терминал. Я хочу fish
по умолчанию. Как установить оболочку для рыбы в качестве оболочки по умолчанию на Mac?
Как установить мою оболочку по умолчанию на Mac?
Ответ 1
Они применимы к MacOS Sierra 10.12.5 (16F73) и, возможно, к некоторым другим недавним и будущим версиям MacOS.
-
chsh
недостаточно для изменения оболочки по умолчанию. Убедитесь, что вы нажали Command + ,, когда ваш терминал открыт, и измените опцию "Оболочки открыты с" на "Оболочка входа по умолчанию". -
В случае bash убедитесь, что вы выполнили
echo $BASH_VERSION
чтобы подтвердить, что вы используете предполагаемую версию bash.bash --version
не дает правильной информации.
Ответ 2
1. sudo nano/etc/shells
2. добавить /usr/local/bin/fish в свой список оболочек
3. chsh -s/usr/local/bin/fish
Ответ 3
Вы можете использовать chsh, чтобы изменить оболочку пользователя.
Запустите следующий код, например, чтобы изменить вашу оболочку на Zsh
chsh -s /bin/zsh
Как описано в man-странице, и Лорин, если оболочка не известна ОС, вы должны добавить ее в свой известный список: /etc/shells
.
Ответ 4
От терминала:
-
Добавьте Fish в
/etc/shells
, для которого потребуется административный пароль:sudo echo /usr/local/bin/fish >> /etc/shells
-
Сделайте Fish своей оболочкой по умолчанию с
chsh
:chsh -s /usr/local/bin/fish
Из системных настроек:
-
Пользователь и группы → ctrl-click для текущего пользователя → Дополнительные параметры...
-
Смените оболочку на
/usr/local/bin/fish
-
Нажмите OK, выйдите из системы и снова
Ответ 5
Вот еще один способ сделать это:
Предполагая, что вы установили его с помощью MacPorts, что можно сделать, выполнив следующие действия:
sudo port install fish
Ваша оболочка будет расположена в /opt/local/bin/fish
.
Вам нужно указать OSX, что это допустимая оболочка. Для этого добавьте этот путь в конец файла /etc/shells
.
Как только вы это сделаете, вы можете изменить оболочку, перейдя в Системные настройки → Учетные записи. Нажмите "Блокировать", чтобы разрешить изменения. Щелкните правой кнопкой мыши учетную запись и выберите "Дополнительные параметры...". В поле "Входная оболочка" добавьте путь к рыбе.
Ответ 6
Единственное, что сработало для меня, это комбинация всех этих методов.
-
Сначала мне пришлось добавить рыбу в файл
/etc/shells
-
Затем я запустил
chsh -s /usr/local/bin/fish
-
Наконец, я набрал Command + , и добавил
/usr/local/bin/fish
к пути по умолчанию там
Только после того, как я сделал все три вещи, рыба начинала появляться по умолчанию для новых окон терминала.
Ответ 7
Ответ 8
В MacOS Mojave мне пришлось сделать следующее (на примере zsh):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
Ответ 9
программа chsh
позволит вам изменить оболочку по умолчанию. Он захочет получить полный путь к исполняемому файлу, поэтому, если ваша оболочка fish
, тогда вам понадобится предоставить вывод, указанный при вводе which fish
.
Вы увидите строку, начинающуюся с "Shell:
". Если вы никогда не редактировали его, скорее всего, он говорит "Shell: /bin/bash
". Замените этот путь /bin/bash
на путь к нужной оболочке.
Ответ 10
В терминале откройте настройки терминала с помощью Command + ,.
На вкладке "Настройка" выберите одну из тем и выберите вкладку оболочки справа.
Вы можете установить команду автозапуска fish
.
Ответ 11
- Откройте терминал и нажмите command + , (запятая). Откроется окно настроек.
- Первая вкладка - "Общие".
- Найдите "Shells open with" и выберите вторую опцию, которая нуждается в полном пути к оболочке.
- Вставьте ссылку на команду fish, которая обычно
/usr/local/bin/fish
.
Я использую macOS Sierra.
Ответ 12
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 >
просто измените это значение (с командой записи в dscl
).
Ответ 13
Как получить последнюю версию bash на современных macOS (протестировано на Mojave).
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
После этого вы готовы завершить вкладку в стиле vim, которая доступна только для bash> = 4 (текущая версия brew
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"
Ответ 14
Если у вас возникли проблемы с другими способами, работайте на Mac Mojave, но, как правило, работайте.
which fish
добавьте выходной путь в "Системные настройки> Пользователи и группы> щелкните правой кнопкой мыши пользователя, Дополнительные параметры" Вставьте полученный результат в "Оболочка входа:"
Ответ 15
Эта работа для меня на свежей установке Mac OSX (Sierra):
- Определить текущего пользователя как владельца оболочек
sudo chown $(whoami) /etc/shells
- Добавить рыбу в /etc/shells
sudo echo /usr/local/bin/fish >> /etc/shells
- Сделайте Fish своей стандартной оболочкой с помощью chsh
chsh -s /usr/local/bin/fish
- Переопределить корень как владельца оболочек
sudo chown root /etc/shells