Olhando para a sua configuração , você define várias variáveis de ambiente em .zshrc
, incluindo PATH
. Não faça isso. O arquivo .zshrc
é lido quando você inicia um shell interativo, portanto, as variáveis que ele configura só estarão disponíveis nos programas iniciados a partir de um shell interativo. Eles não estão disponíveis
em programas que são iniciados de outras maneiras, em particular a partir de um menu GUI.
Você não disse como começou o tmux. Se você iniciá-lo sem passar por um shell interativo (por exemplo, a partir de um arquivo de tempo de login ou diretamente dentro de um terminal GUI em vez de digitar t m x em um prompt interativo), então essas variáveis de ambiente não estão definidas no processo do tmux.
Mova suas definições de variáveis de ambiente para um arquivo que é executado no momento do login. Qual arquivo é executado depende de seu shell de login e, para logins da GUI, depende de como o sistema configurou a inicialização da sessão, que depende da distribuição e do gerenciador de exibição. A maioria das configurações executa o código shell a partir de ~/.profile
no login, portanto coloque suas definições de variáveis de ambiente lá.
Se o seu shell de login é bash, certifique-se de que você não tenha um ~/.bash_profile
ou que contenha as duas linhas seguintes e nada mais:
. ~/.profile
if [[ $- = *i* ]]; then . ~/.bashrc; fi
Se o seu shell de login for zsh, certifique-se de que seu ~/.zprofile
contenha a seguinte linha:
emulate sh -c '. ~/.profile'
Como alternativa, na maioria dos sistemas, você pode definir variáveis de ambiente em ~/.pam_environment
. Observe que esse arquivo tem uma sintaxe simples de VARIABLE=VALUE
, sem aspas, $
expansion, etc.
Para mais detalhes, consulte Qual é a melhor maneira de distribuir as variáveis de ambiente?