Як змінити оболонку користувача за замовчуванням в OSX?


33

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


Відповіді:


52

for <= 10,4 - менеджер netinfo, / користувачів / хто / оболонка

для> = 10,5

  1. Перейдіть до Налаштування системи -> Облікові записи
  2. Клацніть піктограму блокування, щоб розблокувати область налаштування
  3. Клацніть правою кнопкою миші (або натисніть клавішу управління) користувача та виберіть "розширені параметри"
  4. Редагувати поле оболонки для входу

5
Нічого, після 8 років використання OS XI не знав про керування клацанням у налаштуваннях користувачів: я думаю, це було додано в 10.5, хоча, як ви вказали. +1
jkp

1
Control-Click приголомшує!
Eonil

1
Рятувальник після переміщення оболонки мого облікового запису з PATH ... не вдалося запустити термінал для виправлення за допомогою командного рядка!
Деймірон

2
Це більше не працює на El Capitan?
MarcusJ

Правда, це проблема з подібними речами, 7 років внизу, і все змінилося - чому б не зробити кілька досліджень самостійно, додати і відповісти, і це отримає перевагу, ось як все працює, краще, ніж просто обробляти мало відповідей
Chopper3

33
sudo chsh -s /path/to/shell username

де оболонка потрібна саме цьому користувачеві. sudoне потрібен, якщо ви знаєте usernameпароль.

man chsh

для додаткових прикладів.


працює також для root для su, який не видно на панелі керування. Я думаю?
Кріс Ф Керролл

4
Ви також можете запустити просто chshта змінити поле оболонки. Якщо ви отримаєте помилку типу chsh: /usr/local/bin/bash: non-standard shell, додайте /usr/local/bin/bashдо /etc/shells.
Лрі

3
Можливо, щось змінилося в 10,9, але ця команда тепер передає повідомлення про використання. Здається, правильний синтаксис заразchsh -s /path/to/shell username
Математика,

9

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.


7

За 10.10:

не shellале UserShell:

sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.