Как сменить оболочку по умолчанию в Cygwin?

Я пытаюсь изменить свою оболочку по умолчанию с bash на zsh в cygwin.

  1. обычная команда unix chsh не доступен на cygwin
  2. файл etc/passwd, кажется, больше не используется в существующих версиях cygwin.

так как еще можно изменить оболочку по умолчанию ?

27
задан gyaani_guy 2015-07-14 19:10:39
источник

4 ответов

ответ зависит от того, как вы начинаете с Cygwin.

если вы начинаете Cygwin с Cygwin.летучая мышь измените последнюю строку /Cygwin.bat (обычно C:\cygwin\ или C:\cygwin64\).

если вы начинаете Cygwin с mintty, затем добавьте оболочку в качестве параметра. mintty /usr/bin/zsh -

22
отвечен Steven 2017-05-17 21:28:33
источник

если запустить mintty.exe непосредственно или запустить Cygwin терминал из меню Пуск или на рабочем столе (который является ярлыком для mintty.exe), вы можете установить переменную среды оболочки в Windows, чтобы /usr/bin/zsh.

В Windows 7:

  1. нажмите клавишу Windows.
  2. начните вводить "environment".
  3. когда он появится, выберите "Изменить переменные среды для вашей учетной записи".

остальное должно быть понятным.

16
отвечен dc46and2 2016-10-13 23:51:15
источник

скопировал из мой ответ на переполнение стека:


вместо создания файла passwd, который Cygwin рекомендует1, можно редактировать /etc / nsswitch.conf. Добавьте или измените следующую строку:

db_shell: /usr/bin/fish

вниз/вверх стороной этого метода является то, что если у вас есть несколько пользователей, это изменение влияет на все из них. Сторона вверх / вверх заключается в том, что она мертва. Единственная загвоздка в том, что вам придется перезагрузка с Cygwin.

Если вы do use mkpasswd после этого изменения он будет использовать новую оболочку по умолчанию для всех пользователей, которым разрешено входить в систему.


1 в документации mkpasswd сказано следующее:

Не используйте эту команду для создания локального файла/etc / passwd, если он вам действительно не нужен. Дополнительные сведения см. В руководстве пользователя Cygwin.

Я не могу найти каких-либо твердых рассуждения в the руководство пользователя, кроме упоминания о том, что вам придется регенерировать файлы /etc/passwd и /etc/group, если ваши пользователи и группы меняются, что, я полагаю, является достаточно приличной причиной. Я могу сказать, что процесс несколько ошибок для новичков.

14
отвечен P Daddy 2017-05-23 15:41:42
источник

это хак: ставить первой строкой ~/.bash_profile:

exec zsh
5
отвечен glenn jackman 2015-07-14 19:15:32
источник

Другие вопросы shell bash zsh cygwin oh-my-zsh

X