iTerm / Terminal OS X lento nell'apertura di una shell


14

Sto usando OS X 10.8 e ultimamente sto notando che iTerm2 a volte può essere piuttosto lento con l'apertura di una nuova shell. Ci vogliono circa 5 secondi prima che io possa fare qualcosa. Potrebbe non sembrare molto, ma lavoro molto nella shell, quindi può diventare piuttosto fastidioso.

Sto usando ZSH con oh-my-zsh.

Ho provato Terminal, disinstallando oh-my-zsh, cancellando tutto ciò che non era necessario dai file di avvio (.zshenv, .zlogin, .zprofile, .zshrc, .zlogout) e cancellando i file ASL in / var / log / asl e anche se scende un po '(come 0,20), non c'è nulla che lo porta a un valore abbastanza istantaneo o addirittura inferiore a 3.0.

Qualcuno ha un'altra idea?


Domande correlate: 31403 , 41743 , 236953 , 444614
Lri

Hai provato a cambiare il comando per le nuove shell in qualcosa del genere login -pfq username /usr/local/bin/zsh?
Lri,

@ lauri-ranta: ho provato tutto in quegli altri thread, ma senza risultati. Anche provare "login -pfq username / usr / local / bin / zsh" non ha fatto nulla.
Dimitri,

Per vedere se è correlato alla shell o iTerm2: quanto tempo ci vuole per avviare una nuova shell? (entrando zshin una finestra terminale già aperta)?
Matteo,

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

Risposte:


18

Cancella accesso /var/log/asl, ovvero

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

1
Potresti spiegare PERCHÉ iterm viene rallentato da questa cartella di registro e c'è qualcosa che può essere fatto per fermare realmente questo problema?
David,

2
@david puoi controllare questo link per capire il motivo per cui le nuove schede sono lente. apple.stackexchange.com/a/71930/89583
Archan Mishra

Wow --- grazie mille --- per iterm2 sembra che la risposta sia usare il suggerimento in fondo a quella pagina (/ bin / bash -il) del ragazzo che è stato votato a -1. Funziona alla grande.
David,

12

Per commento di Archan Mishra sopra, per iTerm 2 la risposta è impostare un comando terminale personalizzato /bin/bash -il che ignori la ricerca completa dei log ASL del sistema. iterm2 si apre subito.


1

Questi sono i passaggi che ho usato per ottimizzare la velocità di avvio della shell e ridurre il ritardo nell'esecuzione dei comandi -

  1. Se stai usando powerlevel9k, ti ​​consiglio di passare immediatamente a powerlevel10k .

Powerlevel10k è un tema per Zsh. Sottolinea velocità, flessibilità ed esperienza immediata. Si tratta di una reimplementazione del popolare tema di Powerlevel9k zsh. Sembra esattamente lo stesso dato la stessa configurazione ma rende il prompt 10-100 volte più veloce. È ottimizzato a tutti i livelli dello stack, fino all'utilizzo di una versione patchata di libgit2 che può scansionare un repository 4 volte più veloce dell'originale. Può rimuovere il ritardo di avvio di Zsh anche se non è causato da un tema con funzionalità come Instant Prompt.

  1. Vai su Preferenze -> Profili -> Generale -> Comando e seleziona l'opzione Comando invece di Shell di accesso e incolla il comando seguente nella casella accanto.
login -pfq username /usr/local/bin/zsh -il

Non vedresti l'ora dell'ultimo accesso stampato quando avvii una nuova scheda ora. Se zsh non è presente nella posizione / usr / local / bin / zsh, dovrai installare zsh usando brew. Lo zsh predefinito fornito da mac è in / usr / bin / zsh e potrebbe utilizzare una versione precedente come 5.2 che può causare velocità lenta se utilizzato con iTerm o oh-my-zsh.

  1. Per rendere veloce l'incollaggio in zsh, esegui il comando seguente nel terminale.
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
  1. Il punto 2 dovrebbe già occuparsi dei tempi di accesso lenti. Ma solo per sicurezza esegui il comando seguente
mkdir -p .hushlogin
  1. Ci sono tonnellate di plugin che potresti utilizzare che sono lenti e creano ritardi. Devi sottolineare questi plugin e rimuoverli. Per questo, avrai bisogno del profilo zsh. Segui questo link per maggiori dettagli -

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


Benvenuto in Super User! Si prega di non pubblicare la stessa risposta a più domande. Se le stesse informazioni rispondono davvero ad entrambe le domande, allora una domanda (di solito la più recente) dovrebbe essere chiusa come duplicata dell'altra. Puoi indicarlo votando per chiuderlo come duplicato o, se non hai abbastanza reputazione per quello, alza un flag per indicare che è un duplicato. Altrimenti personalizza la tua risposta a questa domanda e non incollare la stessa risposta in più punti.
David Post
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.