iTerm / Terminal OS X lent à ouvrir un shell

14

J'utilise OS X 10.8 et dernièrement, je remarque que iTerm2 peut parfois être assez lent avec l'ouverture d'un nouveau shell. Il me faut environ 5 secondes avant de pouvoir faire quelque chose. Cela peut ne pas sembler beaucoup, mais je travaille beaucoup dans le shell, donc cela peut devenir assez ennuyeux.

J'utilise ZSH avec oh-my-zsh.

J'ai essayé Terminal, désinstallant oh-my-zsh, supprimant tout ce qui est inutile des fichiers de démarrage (.zshenv, .zlogin, .zprofile, .zshrc, .zlogout) et effaçant les fichiers ASL dans / var / log / asl et bien qu'il baisse un peu (comme 0,20 s), il n'y a rien qui le ramène à un niveau assez instantané ou même inférieur à 3,0 s.

Quelqu'un at-il une autre idée?

Dimitri
la source
Questions connexes: 31403 , 41743 , 236953 , 444614
Lri
Avez-vous essayé de changer la commande pour les nouveaux shells en quelque chose comme login -pfq username /usr/local/bin/zsh?
Lri
@ lauri-ranta: J'ai tout essayé dans ces autres threads, mais en vain. Essayer "login -pfq username / usr / local / bin / zsh" n'a rien fait de bien.
Dimitri
Pour voir s'il est lié au shell ou à iTerm2: combien de temps faut-il pour démarrer un nouveau shell? (en entrant zshdans une fenêtre de terminal déjà ouverte)?
Matteo
ajouter à .zshrc:[ $((RANDOM & 1)) -eq 0 ] && do not sleep 5
theoden8

Réponses:

18

Effacer la connexion /var/log/asl, c.- à -d.

rm -rf /var/log/asl/*.asl
néo
la source
1
Pourriez-vous expliquer POURQUOI iterm est ralenti par ce dossier de journal et y a-t-il quelque chose qui puisse être fait pour réellement empêcher ce problème de se produire?
David
2
@david vous pouvez vérifier ce lien pour comprendre la raison pour laquelle les nouveaux onglets sont lents. apple.stackexchange.com/a/71930/89583
Archan Mishra
Wow --- merci beaucoup --- pour iterm2, il semble que la réponse est d'utiliser la suggestion au bas de cette page (/ bin / bash -il) du gars qui a voté à -1. Fonctionne très bien.
David
12

Selon le commentaire d'Archan Mishra ci-dessus, pour iTerm 2, la réponse est de configurer une commande de terminal personnalisée /bin/bash -il qui contourne complètement la recherche dans les journaux ASL du système. iterm2 s'ouvre instantanément maintenant.

David
la source
1

Ce sont les étapes que j'ai utilisées pour optimiser la vitesse de démarrage de mon shell et réduire le retard dans l'exécution des commandes -

  1. Si vous utilisez powerlevel9k, je vous recommanderai de passer immédiatement à powerlevel10k .

Powerlevel10k est un thème pour Zsh. Il met l'accent sur la vitesse, la flexibilité et l'expérience prête à l'emploi. Il s'agit d'une réimplémentation du thème populaire Powerlevel9k zsh. Il a exactement la même apparence dans la même configuration mais rend l'invite 10 à 100 fois plus rapide. Il est optimisé à tous les niveaux de la pile, jusqu'à l'utilisation d'une version corrigée de libgit2 qui peut numériser un dépôt 4 fois plus rapidement que l'original. Il peut supprimer le retard de démarrage de Zsh même s'il n'est pas provoqué par un thème avec des fonctionnalités telles que l'invite instantanée.

  1. Allez dans Préférences -> Profils -> Général -> Commande et sélectionnez l'option Commande au lieu de Shell de connexion et collez la commande ci-dessous dans la case à proximité.
login -pfq username /usr/local/bin/zsh -il

Vous ne verriez pas la dernière heure de connexion imprimée lors du démarrage d'un nouvel onglet maintenant. Si zsh n'est pas présent dans l'emplacement / usr / local / bin / zsh, vous devrez installer zsh à l'aide de brew. Le zsh par défaut fourni par mac est dans / usr / bin / zsh et peut utiliser une version plus ancienne comme 5.2 qui peut ralentir la vitesse lorsqu'il est utilisé avec iTerm ou oh-my-zsh.

  1. Pour accélérer le collage dans zsh, exécutez la commande ci-dessous dans le terminal.
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
  1. Le point 2 devrait déjà prendre en charge les temps de connexion lents. Mais juste pour des raisons de sécurité, exécutez la commande ci-dessous
mkdir -p .hushlogin
  1. Il y a des tonnes de plugins que vous utilisez, qui sont lents et créent du retard. Vous devez signaler ces plugins et les supprimer. Pour cela, vous aurez besoin du profilage zsh. Suivez ce lien pour plus de détails -

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

Shubham Jain
la source
Bienvenue sur Super User! Veuillez ne pas poster la même réponse à plusieurs questions. Si la même information répond vraiment aux deux questions, alors une question (généralement la plus récente) doit être fermée en double de l'autre. Vous pouvez l'indiquer en votant pour le fermer comme doublon ou, si vous n'avez pas assez de réputation pour cela, lever un drapeau pour indiquer qu'il s'agit d'un doublon. Sinon, adaptez votre réponse à cette question et ne collez pas simplement la même réponse à plusieurs endroits.
DavidPostill