Когда zsh установлен как оболочка входа в Mac OS X, когда он запускается iTerm, zsh не считает, что он запускается как оболочка входа, хотя он запускается как '-zsh' ('-' ставится как первый символ arg [0]), который должен означать, что он должен начинаться как оболочка входа в систему.
Поэтому, когда я устанавливаю оболочку входа в систему на bash, bash распознает это первое '-' в $ 0 и запускается как оболочка входа в систему, но zsh этого не делает, хотя, похоже, так и должно быть.
Есть ли способ заставить zsh распознать '-' в arg [0] или заставить iTerm запустить оболочку с аргументом командной строки --login?
Ответы:
В iTerm -> Настройки -> Вкладка «Профили» -> Раздел «Общие» установите команду в: / bin / zsh --login
источник
/usr/local/bin/zsh --login
Вам будет предложено ввести пароль, но после обновления настроек любые новые сеансы iTerm / Terminal, которые вы запускаете на этом компьютере, по умолчанию будут называться zsh.
источник
chsh
вам сообщают что-то вроде «нестандартной оболочки», это означает, что вы должны добавить путь к новой оболочке/etc/shells
. Это может произойти, если вы переходите, например, на версию zsh, установленную homebrew, которая вставляет ее/usr/local/bin/zsh
.chsh -s $(which zsh)
может быть использован для обеспечения правильного пути.Перейдите на панель « Пользователи и группы» в Системных настройках -> Выберите пользователя -> Нажмите на замок, чтобы внести изменения (нижний левый угол) -> щелкните правой кнопкой мыши текущего пользователя, выберите « Дополнительные параметры» ... -> Выберите « Оболочка входа»: / bin / zsh и ок
источник
Команда для изменения оболочки при запуске есть
chsh -s <path_to_shell>
. Оболочки по умолчанию в Mac OS X установлены внутриbin
каталога, поэтому, если вы хотите изменить значение по умолчанию,zsh
вы должны использовать следующееЕсли вы используете другую версию
zsh
вам, возможно, придется добавить эту версию,/etc/shells
чтобы избежать нестандартного сообщения оболочки. Например, если вам нужна версия home-brew,zsh
вы должны добавить/usr/local/bin/zsh
в вышеупомянутый файл, который вы можете сделать одной командой,sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"
а затем запуститьИли, если вы хотите сделать все это одной командой, просто скопируйте и вставьте это, если у вас уже установлен zsh
источник
/etc/shells
в теле самого ответа.Вы пробовали редактировать запись оболочки в настройках аккаунта .
Откройте диалоговое окно «Учетные записи», разблокируйте и щелкните правой кнопкой мыши свою учетную запись, чтобы открыть диалоговое окно « Дополнительные параметры ». Ваша оболочка должна быть / bin / zsh, и вы можете соответствующим образом отредактировать этот вызов (т.е. добавить аргумент --login).
источник
Используйте
login
утилиту для создания оболочки входа. Предположим, что пользователь, в которого вы хотите войти, имеет имя пользователя Алиса и в него установлена zsh/opt/local/bin/zsh
(например, более поздняя версия установлена через MacPorts). В iTerm 2 перейдите в «Настройки», «Профили», выберите профиль, который хотите настроить, и введите в « Команде» :Смотрите
man login
для более подробной информации о вариантах.источник