Câu trả lời:
Có thể bạn có lỗi trong tệp .bashrc của mình ... Bạn có thể thử dán các câu lệnh echo trong .bashrc hoặc xóa nó hoặc thử tcsh thay vì bash để xem đó có phải là vấn đề không ...
Tôi đã có một vấn đề tương tự.
Trong trường hợp của tôi, Terminal sẽ ngừng nói 'Terminal - đăng nhập - 80x24' trong tiêu đề .
Tôi không muốn cài đặt lại Terminal từ đĩa OS X, và vì vậy tôi đã làm theo một số quy trình khác nhau và cuối cùng, một trong số chúng dường như đã hoạt động. Tôi không chắc chắn điều gì là quan trọng nhất, nhưng tôi đã quyết định chia sẻ các bước chính xác của mình trong trường hợp ai đó thấy chúng hữu ích:
1. Tránh com.apple.Terminal.plist
xa ~/Library/Preferences/
.
Một số báo cáo rằng tệp cấu hình Terminal có thể bị rối và ngăn ứng dụng khởi động.
Di chuyển tệp này vào một nơi nào đó để sao lưu, thoát khỏi Terminal và bắt đầu lại.
Trong trường hợp của tôi, việc đặt lại cấu hình đã thay đổi cài đặt phông chữ và màu thành mặc định, nhưng vấn đề vẫn tồn tại. Nếu bạn cũng vậy, hãy chuyển sang bước hai:
2. Thử chạy shell khác với bash
Một số lời khuyên để thay đổi shell mặc định trong Terminal thành /bin/zsh
và khởi động lại Terminal để xem vấn đề có cụ thể đối với bash không. Trong trường hợp của tôi, làm như vậy không có gì thay đổi, và Terminal vẫn sẽ bị treo login
.
3. Thử di chuyển .bash*
các tập tin ra khỏi thư mục nhà
Tôi nhớ rằng trong phiên trước tôi đã tạo .bash_profile
tập tin trong thư mục của tôi. Có lẽ một cái gì đó thực sự sai với nó. Nếu bạn chưa tự tạo, một số trình cài đặt có thể đã tạo (hoặc chỉnh sửa) nó, đặc biệt là nếu phần mềm không dành riêng cho Mac OS.
Thật không may, Finder không hiển thị các tệp ẩn theo mặc định và không cung cấp một cách dễ dàng để làm điều này. Tuy nhiên, trong trường hợp của tôi, tôi thấy rằng Automator thực sự có thể chạy các lệnh bash thành công :
Đây là kịch bản mà tôi đã sử dụng:
cd ~
mkdir backup
for F in .bash*
do
mv $F backup
done
Nó chuyển tất cả các tập tin bắt đầu với .bash
trong thư backup
mục nhà của tôi sang thư mục con.
4. Khởi động lại
Khởi động lại ứng dụng không hoạt động với tôi vào thời điểm này nhưng tôi đã quyết định thử khởi động lại .
Sau khi khởi động lại, Terminal hoạt động. Võngà!
Tôi đã chuyển lưu com.apple.Terminal.plist
lại ~/Library/Preferences/
, thay thế .bash*
tệp hiện tại và quyết định không khôi phục các tệp cũ (và có phần không quá hữu ích) và backup
thư mục đã xóa .
Tôi không biết liệu đó là sự trùng hợp ngẫu nhiên hay là sự kết hợp của các bước cụ thể đã giải quyết vấn đề nhưng tôi rất vui vì Terminal đang hoạt động trở lại và tôi hy vọng bạn cũng sẽ làm như vậy.
Nếu quy trình hiện tại thực sự là "đăng nhập", điều đó thường có nghĩa là đăng nhập đang chờ để tạo phiên đăng nhập và thậm chí chưa thử khởi động trình bao. Để xác minh điều này, hãy xem trong Activity Monitor và xem nếu bạn thấy shell đang chạy hoặc nếu bạn chỉ thấy quá trình "đăng nhập". Lưu ý rằng nếu bạn có các thiết bị đầu cuối khác mở, bạn có thể thấy các quy trình "đăng nhập" và shell khác cho chúng, vì vậy hãy cẩn thận về quy trình bạn đang kiểm tra. Quá trình xử lý sự cố thường là quy trình mới nhất có số id tiến trình (PID) cao nhất.
Tôi nhận ra Mark Szymanski nói rằng việc khởi động lại không giúp ích gì trong trường hợp của anh ta, nhưng tôi nghĩ tôi vẫn nên đề cập đến vấn đề này: nếu nó thực sự bị kẹt trong "đăng nhập", nguyên nhân phổ biến nhất là bạn đã chạy "sudo" và sau đó đóng thiết bị đầu cuối trong khi nó đang đợi bạn nhập mật khẩu Nếu bạn làm điều này, sudo sẽ đợi mật khẩu mãi mãi và điều này sẽ chặn tất cả thông tin đăng nhập cho đến khi bạn giết tiến trình sudo. Cách đơn giản nhất để giải quyết vấn đề là khởi động lại. Ngoài ra, bạn có thể tắt sudo từ Activity Monitor (hoặc từ một thiết bị đầu cuối khác nếu bạn tình cờ đã mở). Kể từ Mac OS X Lion 10.7, sudo sẽ thông báo khi thiết bị đầu cuối biến mất và dừng chờ mật khẩu, vì vậy vấn đề này sẽ không còn xảy ra nữa.
Một nguyên nhân khác của sự chậm trễ đăng nhập là nếu bạn kết nối với mạng Thư mục mở và máy chủ thư mục chậm chạp hoặc không phản hồi. Báo cáo điều này với quản trị viên mạng của bạn. Điều này thường chỉ gây ra sự chậm trễ trong vài giây, nhưng trong một số trường hợp, chúng có thể kéo dài đến vài phút.
Vấn đề không phải là vỏ hay mạng. Xóa các tệp * .asl:
sudo rm -rf /private/var/log/asl/*.asl
Phải mất thời gian, bởi vì nó bắt đầu một vỏ mới. Nhưng sau đó, nó hoạt động tốt trở lại.