Как изменить оболочку по умолчанию для пользователей в OSX?

Каков правильный способ OSX для изменения оболочки по умолчанию для пользователей? Когда я поступил в Google, я нашел несколько ссылок на приложение под названием NetInfo Manager, но не смог найти его в своей системе. Были также ссылки на версию командной строки niutil, которую я тоже не нашел.

Для <= 10.4 – netinfo manager, / users / whoever / shell

При> = 10,5

  1. Перейдите в Системные настройки -> Учетные записи
  2. Щелкните значок блокировки, чтобы разблокировать панель предпочтений
  3. Щелкните правой кнопкой мыши (или щелкните правой кнопкой мыши) на пользователе и выберите «расширенные параметры»,
  4. Изменить поле командной строки
sudo chsh -s /path/to/shell username 

Где shell – тот, который вы хотите для этого пользователя. sudo не требуется, если вы знаете пароль пользователя.

 man chsh 

Для большего количества примеров.

NetInfo был заменен службами каталогов (dscl), и можно отметить оболочку по умолчанию для Mac OS X, поскольку 10.3 был bash. До этого это было tcsh.

Если вам нужно сделать это из командной строки (например, для нажатия через ARD или удаленно через SSH), вы можете запустить:

 sudo dscl localhost -change /Local/Default/Users/USERNAME shell OLD_SHELL NEW_SHELL #In Use: sudo dscl localhost -change /Local/Default/Users/chealion shell /bin/bash /bin/zsh 

Если вы не уверены в текущей оболочке, вы можете запустить:

 sudo dscl localhost -read /Local/Default/Users/USERNAME shell 

Если пользователь не является локальным пользователем, путь просто изменится, и при необходимости вы измените localhost на имя вашего Open Directory Server. (Предполагая, что он работает 10.5).

Информация хранится в .plists (xml) в /private/var/db/dslocal/ – вы не хотите редактировать файлы plist вручную.

За 10.10:

Не shell а UserShell :

 sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh 
Давайте будем гением компьютера.