iTerm / Terminal OS X lambat dalam membuka shell


14

Saya menggunakan OS X 10.8 dan akhir-akhir ini saya memperhatikan bahwa iTerm2 terkadang bisa sangat lambat dengan membuka shell baru. Butuh sekitar 5 detik sebelum saya bisa melakukan sesuatu. Kelihatannya tidak banyak, tapi saya banyak bekerja di shell sehingga bisa sangat mengganggu.

Saya menggunakan ZSH dengan oh-my-zsh.

Saya sudah mencoba Terminal, menghapus oh-my-zsh, menghapus semua yang tidak perlu dari file startup (.zshenv, .zlogin, .zprofile, .zshrc, .zlogout) dan menghapus file ASL di / var / log / asl dan meskipun turun sedikit (seperti 0,20), tidak ada yang membuatnya turun secara instan atau bahkan di bawah 3,0.

Adakah yang punya ide lain?


Pertanyaan terkait: 31403 , 41743 , 236953 , 444614
Lri

Sudahkah Anda mencoba mengubah perintah untuk shell baru ke sesuatu seperti login -pfq username /usr/local/bin/zsh?
Lri

@ lauri-ranta: Mencoba semuanya di utas lainnya, tetapi tidak berhasil. Mencoba "login -pfq nama pengguna / usr / local / bin / zsh" juga tidak berhasil.
Dimitri

Untuk melihat apakah itu terkait dengan shell atau iTerm2: berapa banyak waktu yang diperlukan untuk memulai shell baru? (dengan memasukkan zshjendela terminal yang sudah terbuka)?
Matteo

tambahkan ke .zshrc:[ $((RANDOM & 1)) -eq 0 ] && do not sleep 5
theoden8

Jawaban:


18

Hapus login /var/log/asl, yaitu,

rm -rf /var/log/asl/*.asl

1
Bisakah Anda menjelaskan MENGAPA iterm sedang diperlambat oleh folder log ini dan adakah yang bisa dilakukan untuk menghentikan masalah ini?
David

2
@david Anda dapat memeriksa tautan ini untuk memahami alasan mengapa tab baru lambat. apple.stackexchange.com/a/71930/89583
Archan Mishra

Wow --- terima kasih banyak --- untuk iterm2 sepertinya jawabannya adalah dengan menggunakan saran di bagian bawah halaman itu (/ bin / bash -il) dari orang yang turun ke -1. Bagus sekali.
David

12

Per komentar dari Archan Mishra di atas, untuk iTerm 2 jawabannya adalah dengan mengatur perintah terminal kustom /bin/bash -il yang memotong pencarian sistem log ASL sepenuhnya. iterm2 terbuka langsung sekarang.


1

Ini adalah langkah-langkah yang saya gunakan untuk mengoptimalkan kecepatan startup shell saya dan mengurangi jeda dalam menjalankan perintah -

  1. Jika Anda menggunakan powerlevel9k, maka saya akan merekomendasikan untuk segera beralih ke powerlevel10k .

Powerlevel10k adalah tema untuk Zsh. Itu menekankan kecepatan, fleksibilitas dan pengalaman out-of-the-box. Ini adalah implementasi ulang dari tema Powershle9k zsh yang populer. Itu terlihat persis sama mengingat konfigurasi yang sama tetapi membuat prompt 10-100 kali lebih cepat. Itu dioptimalkan pada setiap tingkat tumpukan, sampai menggunakan versi libgit2 yang ditambal yang dapat memindai repo 4 kali lebih cepat dari aslinya. Itu dapat menghapus lag startup Zsh bahkan jika itu bukan disebabkan oleh tema dengan fitur-fitur seperti Instant Prompt.

  1. Pergi ke Preferensi -> Profil -> Umum -> Perintah dan pilih opsi Perintah daripada Login Shell dan tempel perintah di bawah ini dalam kotak di dekatnya.
login -pfq username /usr/local/bin/zsh -il

Anda tidak akan melihat waktu login terakhir dicetak saat memulai tab baru sekarang. Jika zsh tidak ada di lokasi / usr / local / bin / zsh, Anda harus menginstal zsh menggunakan brew. Zsh default yang disediakan oleh mac adalah di / usr / bin / zsh dan mungkin menggunakan versi yang lebih lama seperti 5.2 yang dapat menyebabkan kecepatan lambat ketika digunakan dengan iTerm atau oh-my-zsh.

  1. Untuk membuat paste di zsh cepat, jalankan perintah di bawah ini di terminal.
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
  1. Poin 2 seharusnya sudah mengatur waktu login yang lambat. Tetapi hanya untuk keamanan jalankan perintah di bawah ini
mkdir -p .hushlogin
  1. Ada banyak plugin yang mungkin Anda gunakan yang lambat dan menciptakan jeda. Anda perlu menunjukkan plugin ini dan menghapusnya. Untuk ini, Anda perlu membuat profil zsh. Ikuti tautan ini untuk rincian lebih lanjut -

https://stevenvanbael.com/profiling-zsh-startup


Selamat Datang di Pengguna Super! Tolong jangan memposting jawaban yang sama untuk beberapa pertanyaan. Jika informasi yang sama benar-benar menjawab kedua pertanyaan, maka satu pertanyaan (biasanya yang baru) harus ditutup sebagai duplikat dari yang lain. Anda dapat menunjukkan ini dengan memilih untuk menutupnya sebagai duplikat atau, jika Anda tidak memiliki reputasi yang cukup untuk itu, angkat bendera untuk menunjukkan bahwa itu adalah duplikat. Jika tidak, sesuaikan jawaban Anda untuk pertanyaan ini dan jangan hanya menempelkan jawaban yang sama di banyak tempat.
DavidPostill
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.