Mac OS X - Không thể khởi động Terminal.app - shell có giá trị bất hợp pháp


16

Tôi không thể chạy Terminal.app sau khi khôi phục hệ thống của mình từ cỗ máy thời gian.

Mac OS X Phiên bản 10.6.2

Nó hiển thị các lỗi sau. "Bạn không được phép chạy ứng dụng này" "Quản trị viên đã đặt vỏ của bạn thành giá trị bất hợp pháp"

Sau đó tôi đã xóa tệp ~ / Library / Preferences / com.apple.Terminal.plist

Nhưng thông điệp tương tự được hiển thị.

Tôi đã sửa chữa tất cả các quyền hệ thống với DiskUtility nhưng điều đó không giúp được gì.

Câu trả lời:


10

Khởi động lại là câu trả lời trong OS X Lion. Nếu bạn mất khả năng ghi vào USB hoặc ổ đĩa mạng, giải pháp là như nhau.

Tôi hy vọng một số cập nhật nhanh chóng để thoát khỏi một số vấn đề gây phiền nhiễu.


10

Giá trị này được đặt thành /bin/bash. Không có gì để thay đổi ở đây. Tôi đã kiểm soát những sở thích này. Tôi nhận được lỗi này cho mọi vỏ.

Cuối cùng tôi cũng tìm được giải pháp. Trong Finder tôi đi đến thư mục mở /etc. Ở đó tôi tìm thấy các tập tin /private/etc/shells, đó là trống rỗng. Tôi đã thay thế các tập tin /private/etc/shellsvới các tập tin sao lưu /private/etc/shells~orig.

Bây giờ / private / etc / shell chứa các mục sau:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

(Có nhiều bước cần thiết hơn trong Finder, xóa tệp shell rỗng, thay đổi quyền trong hộp thoại thông tin.)

Bây giờ tôi có thể bắt đầu Terminal.app /bin/bashmột lần nữa.


Tôi thấy rằng tài khoản của tôi thậm chí không thể nhìn thấy các thư mục / etc / bin vì một số lý do mặc dù tôi có thể thấy chúng từ tài khoản quản trị viên cục bộ trên máy (tài khoản chính của tôi là tài khoản miền công ty). Suy nghĩ về việc sử dụng CHMOD từ tài khoản quản trị viên để thay đổi quyền truy cập vào thư mục / etc / bin.
ScottCher

Xem xét chấp nhận câu trả lời của bạn (hoặc khác) cho câu hỏi này.
Daniel Beck

5

Tôi gặp vấn đề tương tự sau khi khôi phục Time Machine, trong trường hợp này, sử dụng bản sao lưu từ MacBook Pro để khôi phục lại MacBook.

Tôi đã có thể giải quyết vấn đề chỉ bằng cách sử dụng Finder (nhập mật khẩu của bạn mỗi lần được yêu cầu):

  • Sử dụng Đi> Chuyển đến Thư mục để đi đến "/ private"
  • Chọn "vv"
  • Lệnh-I hiển thị thông tin bật lên (không đóng lại cho đến khi kết thúc thủ tục này)
  • Nhấp vào biểu tượng khóa ở góc dưới bên phải để mở khóa quyền
  • Ghi lại cài đặt quyền cho "Mọi người"
  • Nhấp vào cài đặt quyền cho "Mọi người" và chọn "Đọc & Viết"
  • Sử dụng Đi> Chuyển đến Thư mục để đi đến "/ private / etc"
  • Tôi thấy rằng "shell" trống rỗng, nhưng có một "shell ~ orig" với một danh sách tốt các shell trong đó
  • Xóa "vỏ"
  • Chọn "shell ~ orig"
  • Command-C, Command-V để sao chép và dán nó; điều này tạo ra "shell ~ orig copy"
  • Chọn "shell ~ bản sao orig
  • Nhấp một lần nữa để vào chế độ đổi tên và thay đổi tên của "shells ~ orig copy" thành "shells"
  • Quay lại cửa sổ bật lên Thông tin và thay đổi cài đặt quyền cho "Mọi người" trở về giá trị ban đầu của nó
  • Đóng thông tin bật lên

Bây giờ tôi đã có tệp "shell" với danh sách shell hợp lệ, tôi đã có thể mở Terminal lần nữa.


4

Nhấp chuột phải vào tên tài khoản của bạn trong ngăn Tài khoản của Tùy chọn hệ thống và chọn Tùy chọn nâng cao. Thay đổi giá trị cho "Đăng nhập shell" - Tôi sử dụng / bin / bash, nhưng bạn có thể sử dụng bất kỳ shell đã cài đặt nào.


4

Tôi đã từng gặp vấn đề tương tự; một khởi động lại đã lừa tôi. Không quen với việc phải làm điều đó trên máy Mac :-P


Tương tự với tôi (trên Lion). Các ứng dụng khác đã hoạt động (như BBEdit) vì vậy tôi nghĩ rằng tôi sẽ thử khởi động lại trước và nó đã hoạt động.
vua nevan

3

Tôi cũng có cùng một vấn đề. Giải pháp đơn giản:

Chỉ cần chạy Sửa chữa Cấp phép Đĩa với Tiện ích Đĩa :-).


3

Việc thay đổi mật khẩu tài khoản người dùng của tôi thông qua Tùy chọn hệ thống đã sửa lỗi này cho tôi (Tôi đã thay đổi nó thành cùng một giá trị, điều này có lẽ chỉ buộc HĐH phải ghi một số thông tin tài khoản người dùng vào các tệp). Tôi sử dụng Mac OS X 10.7.3 và dường như không có tệp nào trong / etc bị thay đổi.


2

Kết hợp câu trả lời từ Timchemm rất hữu ích trong trường hợp của tôi.

Tôi đã sử dụng phương pháp của Tim để đưa ra một thiết bị đầu cuối bằng cách sử dụng một vỏ khác. Sau đó, tôi đã chỉnh sửa / etc / shell để bao gồm shell ưa thích và sau đó sử dụng lại cách tiếp cận của Tim để khôi phục đường dẫn shell ban đầu trong "Tùy chọn nâng cao".


2

Tôi đã từng gặp vấn đề tương tự. Time Machine vì một số lý do đã biến /private/etc/shellsthành một tệp có độ dài bằng không trong quá trình khôi phục của tôi. Câu trả lời của chemm là khá tốt, nhưng bỏ lỡ một số bước cho những người không thích Mac như tôi.

  • Để thậm chí đến với /private/etcbạn, bạn cần sử dụng Go -> Go to Foldertùy chọn mục menu Finder và nhập/private/etc
  • Sau đó xác định vị trí các tập tin shell.
  • Nó hoàn toàn không cho phép tôi chỉnh sửa tập tin, vì vậy tôi đã xóa nó.
  • Sau đó, tôi đã sử dụng cỗ máy thời gian để khôi phục tập tin đó.
  • Nếu bạn nhập cỗ máy thời gian trong khi tìm kiếm, nó sẽ khởi động bạn trong /private/etcthư mục đó .
  • Khi tôi khôi phục nó, tôi không thể tìm ra cách chuyển Time Machine sang thư mục đó (không thấy tùy chọn đi đến thư mục), vì vậy tôi đã khôi phục "shell" vào máy tính để bàn của mình và sau đó sử dụng Finder để sao chép / dán tệp vào /private/etc

Bạn sẽ cần cung cấp mật khẩu của mình một vài lần để đạt được những điều trên và tôi cho rằng bạn sẽ cần phải có tài khoản quản trị viên.


0

Đối với tôi, không có câu trả lời chuẩn nào là vấn đề - mọi thứ đều như vậy.

Thoát phiên Aquamacs (emacs) của tôi đã khắc phục vấn đề! Khi tôi khởi động lại Aquamacs, Terminal tiếp tục hoạt động tốt.

Tôi đã KHÔNG sử dụng lệnh shell emacs, nhưng bằng cách nào đó các ứng dụng này vẫn tương tác một cách đáng tiếc.

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.