Làm cách nào để thay đổi trình bao mặc định của người dùng trong OSX?


33

Cách OSX chính xác để thay đổi shell mặc định của người dùng là gì? Khi tôi tìm kiếm nó, tôi đã tìm thấy một số tài liệu tham khảo cho một ứng dụng có tên NetInfo Manager nhưng tôi không thể tìm thấy nó trên hệ thống của mình. Ngoài ra còn có các tham chiếu đến một phiên bản dòng lệnh gọi là niutil mà tôi không tìm thấy.


Câu trả lời:


52

cho <= 10,4 - trình quản lý netinfo, / users / whoever / shell

cho> = 10,5

  1. Chuyển đến Tùy chọn hệ thống -> Tài khoản
  2. Nhấp vào biểu tượng khóa để mở khóa khung tùy chọn
  3. Nhấp chuột phải (hoặc nhấp chuột điều khiển) vào người dùng và chọn "tùy chọn nâng cao"
  4. Chỉnh sửa trường vỏ đăng nhập

5
Ồ, sau 8 năm sử dụng OS XI, tôi không biết gì về việc nhấp vào kiểm soát trong các prefs của người dùng: Tôi đoán điều này đã được thêm vào trong 10.5 mặc dù như bạn đã chỉ ra. +1
jkp

1
Control-Click đang làm choáng váng!
Eonil

1
Phao cứu sinh sau khi chuyển vỏ tài khoản của tôi ra khỏi PATH ... không thể khởi động Terminal để khắc phục thông qua dòng lệnh!
davemyron

2
Nó không hoạt động nữa trên el Capitan?
MarcusJ

Đúng, đây là vấn đề với loại điều này, 7 năm sau và mọi thứ đã thay đổi - tại sao bạn không tự nghiên cứu, thêm và trả lời và nó sẽ được nâng cấp, đó là cách mọi thứ hoạt động, tốt hơn là chỉ bắn tỉa những câu trả lời nhỏ
Chopper3

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

trong đó shell là thứ bạn muốn cho người dùng đó. sudokhông cần thiết nếu bạn biết usernamemật khẩu.

man chsh

để biết thêm ví dụ.


hoạt động quá cho root cho su, không hiển thị trong bảng điều khiển. Tôi nghĩ?
Chris F Carroll

4
Bạn cũng có thể chạy chỉ chshvà thay đổi trường vỏ. Nếu bạn gặp lỗi như thế chsh: /usr/local/bin/bash: non-standard shell, hãy thêm /usr/local/bin/bashvào /etc/shells.
Lri

3
Có thể một cái gì đó đã thay đổi trong 10.9, nhưng lệnh này hiện ném một thông báo sử dụng. Có vẻ như cú pháp chính xác là bây giờchsh -s /path/to/shell username
Matthapes

9

NetInfo đã được thay thế bởi Directory Services (dscl) và có thể lưu ý lớp vỏ mặc định cho Mac OS X kể từ 10.3 đã bị bash. Trước đó nó là tcsh.

Nếu bạn cần thực hiện việc này từ dòng lệnh (ví dụ: để đẩy qua ARD hoặc từ xa qua SSH), bạn có thể chạy:

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

Nếu bạn không chắc chắn về trình bao hiện tại, bạn có thể chạy:

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

Nếu người dùng không phải là người dùng cục bộ, đường dẫn sẽ chỉ thay đổi và nếu cần, bạn sẽ đổi localhostthành tên của Máy chủ thư mục mở. (Giả sử nó chạy 10.5).

Thông tin được lưu trữ trong .plists (xml) trong /private/var/db/dslocal/- tuy nhiên bạn không muốn chỉnh sửa các tệp plist bằng tay.


7

Cho 10.10:

không shellnhưng UserShell:

sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.