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

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

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

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

16
задан gyaani_guy
03.04.2023 19:57 Количество просмотров материала 2936
Распечатать страницу

4 ответа

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

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

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

22
отвечен Steven 2023-04-05 03:45

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

В Windows 7:

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

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

16
отвечен dc46and2 2023-04-05 06:02

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


вместо создания файла 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 2023-04-05 08:19

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

exec zsh
5
отвечен glenn jackman 2023-04-05 10:36

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

bash
cygwin
oh-my-zsh
shell
zsh
Вверх