Shell de login não interativo geralmente nunca sobrevive ao seu shell de login de nível superior, portanto eles podem esperar que qualquer instalação iniciada por ele esteja disponível a qualquer momento, mas este não é o caso do tmux:
- você faz login no seu shell - > seus scripts de login são executados
- você roda o tmux, faz algo, desconecta
- saia do seu shell de nível superior - > seus scripts de logout são executados
- a sessão do tmux ainda está em execução, mas as instalações iniciadas pelo seu shell de login não estão disponíveis no momento
- você faz login novamente e reinsira de outro shell de login
- quaisquer instalações iniciadas pelo novo shell de login podem não estar visíveis pelo tmux porque ele ainda está sendo executado com o ambiente antigo (mesmo que haja comandos para atualizar o ambiente)
Alguns podem achar que ter shells de início de login do tmux é desnecessário de qualquer maneira, porque na maioria das configurações não há scripts de logout, e scripts de login apenas configuram algumas variáveis de ambiente.
Além disso, se você anexar strings às suas variáveis de ambiente em seus scripts de login (assim: PATH = $ PATH: / algum / outro / caminho) e eles forem executados mais de uma vez na mesma hierarquia de processo, você terá duplicatas, e isso é muito chato.
Mas ainda tenho a tendência de pensar que o padrão faz sentido.
Veja também isto: link