OSX’te varsayılan kullanıcı kabuğunu nasıl değiştiririm?


33

Bir kullanıcının varsayılan kabuğunu değiştirmenin doğru OSX yolu nedir? Bunun için gittiğimde NetInfo Manager adlı bir uygulamaya birkaç referans buldum ancak sistemimde bulamadım. Ayrıca, bulamadığım niutil adlı komut satırı sürümüne de referanslar vardı.


Yanıtlar:


52

<= 10.4 - netinfo yöneticisi, / users / whoever / shell için

> = 10,5

  1. Sistem Tercihlerine Git -> Hesaplar
  2. Tercih bölmesinin kilidini açmak için kilit simgesine tıklayın.
  3. Kullanıcıya sağ tıklayın (veya kontrol tuşunu tıklayın) ve "gelişmiş seçenekler" i seçin
  4. Giriş kabuğu alanını düzenle

5
Vay, 8 yıl sonra OS XI kullandıktan sonra kullanıcıların tercihlerini tıklatarak kontrol hakkında bir şey bilmiyordu: Ben de belirttiğiniz gibi bu 10.5 eklenmiştir sanırım. +1
jkp

1
Control-Click stunnning!
Eonil

1
Hesabımın kabuğunu PATH dışına çıkardıktan sonra cankurtaran ... komut satırı aracılığıyla düzeltmek için Terminal'i başlatamadı!
davemyron

2
El Capitan'da artık çalışmıyor mu?
MarcusJ

Doğru, işte bu böyle bir şeyle ilgili sorun, 7 yıl aşağısı ve işler değişti - neden kendiniz biraz araştırma yapmıyorsunuz, ekleyip cevaplıyorsunuz ve ısrar ediyor, işler böyle yürüyor, sadece küçük cevapları almaktan daha iyi
Chopper3

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

bu kullanıcı için istediğiniz kabuk. şifresini sudobiliyorsanız, gerekli değildir username.

man chsh

daha fazla örnek için.


kontrol panelinde görünmeyen su için root için de çalışıyor. Bence?
Chris F Carroll

4
Ayrıca sadece çalıştırabilir chshve kabuk alanını değiştirebilirsiniz. Bir hata gibi alırsanız chsh: /usr/local/bin/bash: non-standard shell, eklemek /usr/local/bin/bashiçin /etc/shells.
Lri

3
Belki 10.9'da bir şeyler değişti, ama bu komut şimdi bir kullanım mesajı veriyor. Görünüşe göre doğru sözdizimi şimdichsh -s /path/to/shell username
Matthematics

9

NetInfo, Directory Services (dscl) ile değiştirildi ve 10.3 bash olduğundan Mac OS X için varsayılan kabuk belirtildi. Bundan önce tcsh oldu.

Bunu komut satırından yapmanız gerekiyorsa (örn. ARD üzerinden veya uzaktan SSH üzerinden itmek için) şunları yapabilirsiniz:

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

Geçerli kabuktan emin değilseniz, çalıştırabilirsiniz:

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

Kullanıcı yerel bir kullanıcı değilse, yol basitçe değişir ve gerekirse localhostAçık Dizin Sunucunuzun adını değiştirirsiniz . (Varsayalım 10.5).

Bilgi içinde .plists (xml) içine kaydedilir /private/var/db/dslocal/- plist dosyalarını elle düzenlemek istemezsiniz.


7

10.10 için:

değil shellama UserShell:

sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.