por que o shell (novo terminal, novos painéis/janelas tmux) demora para carregar?

por que o shell (novo terminal, novos painéis/janelas tmux) demora para carregar?

Quando abro um novo terminal, leva alguns segundos para o shell carregar; quando abro um novo painel ou janela no tmux, pode demorar um segundo a mais. O atraso é de cerca de 3 segundos.

Estou usando zsh com oh-my-zsh e os plug-ins ohmyzsh: git, vi-mode, history-substring-search.

Meu caminho se parece com:

/home/alec/.nvm/versions/node/v14.6.0/bin:/home/alec/.composer/vendor/bin:/home/alec/.local/bin:/usr/local/sbin:/usr/ local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/alec/code/bin

Anteriormente eu me perguntava se ter um repositório git no caminho seria problemático. O local final nesse caminho ~/code/bincostumava ser ~/bine havia o .gitbanco de dados dentro dele. Agora o .gitdiretório está dentro ~/code(o que me parece que impediria o shell de procurar executáveis), mas isso não proporcionou nenhuma melhoria de desempenho.

Não conheço nenhuma outra possibilidade de adivinhar e verificar ou quaisquer procedimentos lógicos de solução de problemas para executar/investigar.

Alguma sugestão?

Responder1

Adicione: set -xna parte superior e set +xinferior de ~.zshrcpara obter muitos resultados sobre o que está sendo executado durante a inicialização do shell. (É útil manter esse arquivo aberto em uma janela/terminal/editor separado durante todo o processo de depuração)

Pode ser difícil saber o que é adequado e o que é problemático entre todos esses resultados... mas se você notar algo que reconhece, esse é um bom lugar para começar. No meu caso, havia muitas linhas sobre nvmo "gerenciador de versão do nó". Desativar as nvmlinhas do meu .zshrcarquivo elimina dois segundos da inicialização do shell!

Para usar nvmsem a carga de desempenho,https://www.ioannispoulakas.com/2020/02/22/how-to-speed-up-shell-load-while-using-nvm/sugere algumas soluções possíveis.

informação relacionada