Jawaban:
Mungkin Anda memiliki bug di file .bashrc Anda ... Anda dapat mencoba menempelkan pernyataan echo di .bashrc Anda, atau menghapusnya, atau mencoba tcsh alih-alih bash untuk melihat apakah itu masalahnya ...
Saya punya masalah serupa.
Dalam kasus saya, Terminal akan berhenti mengatakan 'Terminal - login - 80x24' pada judul .
Saya tidak ingin menginstal ulang Terminal dari disk OS X, jadi saya mengikuti beberapa prosedur berbeda, dan pada akhirnya salah satu dari mereka sepertinya berhasil. Saya tidak yakin mana yang paling penting, tetapi saya memutuskan untuk membagikan langkah-langkah persis saya jika seseorang menemukan mereka bermanfaat:
1. Minggir com.apple.Terminal.plist
dari ~/Library/Preferences/
.
Beberapa melaporkan bahwa file konfigurasi Terminal mungkin kacau dan mencegah aplikasi dari memulai.
Pindahkan file ini di suatu tempat untuk cadangan, keluar dari Terminal dan mulai lagi.
Dalam kasus saya, mengatur ulang konfigurasi mengubah pengaturan font dan warna ke default, tetapi masalahnya tetap ada. Jika Anda melakukannya, lanjutkan ke langkah kedua:
2. Coba jalankan shell selain bash
Beberapa saran untuk mengganti shell default di Terminal ke /bin/zsh
dan restart Terminal untuk melihat apakah masalahnya khusus untuk bash. Dalam kasus saya, melakukan itu tidak mengubah apa pun, dan Terminal akan tetap bertahan login
.
3. Coba pindahkan .bash*
file dari direktori home
Saya ingat bahwa selama sesi sebelumnya saya membuat .bash_profile
file di direktori saya. Mungkin ada yang salah dengan itu. Jika Anda belum membuat sendiri, beberapa penginstal bisa membuat (atau mengedit) itu, terutama jika perangkat lunak tidak spesifik untuk Mac OS.
Sayangnya, Finder tidak menampilkan file tersembunyi secara default dan tidak menyediakan cara mudah untuk melakukan ini. Namun, dalam kasus saya, saya menemukan bahwa Automator sebenarnya dapat menjalankan perintah bash dengan sukses :
Ini skrip yang saya gunakan:
cd ~
mkdir backup
for F in .bash*
do
mv $F backup
done
Itu memindahkan semua file dimulai dengan .bash
di direktori home saya ke backup
subdirektori.
4. Reboot
Restart aplikasi tidak berfungsi untuk saya pada saat ini tetapi saya memutuskan untuk mencoba reboot juga .
Setelah reboot, Terminal bekerja. Voa!
Saya memindahkan yang disimpan com.apple.Terminal.plist
kembali ke ~/Library/Preferences/
, mengganti yang sekarang, dan memutuskan untuk tidak mengembalikan .bash*
file lama (dan agak tidak terlalu berguna) dan backup
direktori yang dihapus .
Saya tidak tahu apakah itu kebetulan atau kombinasi dari langkah-langkah spesifik yang menyelesaikan masalah, tetapi saya senang bahwa Terminal bekerja lagi, dan saya harap Anda juga akan melakukannya.
Jika proses saat ini benar-benar "login", itu biasanya berarti login sedang menunggu untuk membuat sesi login dan bahkan belum mencoba untuk memulai shell. Untuk memverifikasi ini, lihat di Activity Monitor dan lihat apakah Anda melihat shell berjalan atau jika Anda hanya melihat proses "masuk". Perhatikan bahwa jika Anda memiliki terminal lain yang terbuka, Anda mungkin melihat "proses masuk" dan proses shell lainnya untuk mereka, jadi berhati-hatilah dengan proses yang sedang Anda periksa. Proses masalah biasanya yang terbaru dengan nomor id proses (PID) tertinggi.
Saya menyadari Mark Szymanski mengatakan bahwa reboot tidak membantu dalam kasusnya, tetapi saya pikir saya harus menyebutkan ini: jika benar-benar terjebak dalam "login", penyebab paling umum adalah Anda menjalankan "sudo" dan kemudian menutup terminal. selagi menunggu Anda memasukkan kata sandi. Jika Anda melakukan ini, sudo menunggu selamanya untuk kata sandi dan ini memblokir semua login sampai Anda mematikan proses sudo. Cara paling sederhana untuk mengatasi masalah ini adalah dengan reboot. Atau, Anda dapat membunuh sudo dari Activity Monitor (atau dari terminal lain jika kebetulan sudah ada yang terbuka). Pada Mac OS X Lion 10.7, sudo akan melihat kapan terminal hilang dan berhenti menunggu kata sandi, sehingga masalah ini seharusnya tidak lagi terjadi.
Penyebab lain keterlambatan login adalah jika Anda terhubung ke jaringan Open Directory dan server direktori lambat atau tidak responsif. Laporkan ini ke admin jaringan Anda. Ini biasanya hanya menyebabkan penundaan beberapa detik, tetapi dalam beberapa kasus mereka dapat bertahan hingga beberapa menit.
Masalahnya bukan pada shell atau jaringan. Hapus file * .asl:
sudo rm -rf /private/var/log/asl/*.asl
Dibutuhkan waktu, karena ia memulai shell baru. Tetapi setelah itu, itu berfungsi dengan baik lagi.