Após enviar uma edição no tmux repo, acontece que eles já foram corrigidos, mas ainda estão em o estágio release-candidate
. então tive que refazer da fonte.
Eu noto que quando rodando o tmux, ele sempre inicia no diretório /home/user/
, independente do diretório de trabalho atual do shell onde o tmux foi iniciado.
Confirmei isso executando pwd
na linha de status:
set -g status-right "#(pwd)"
Eu quero executar alguns scripts de shell na linha de status, mas eu não quero manipular manualmente o material de diretório de mudança para todos os meus scripts.
O que eu quero é que o tmux altere o diretório para onde ele foi iniciado / invocado.
Como posso fazer isso?
Após enviar uma edição no tmux repo, acontece que eles já foram corrigidos, mas ainda estão em o estágio release-candidate
. então tive que refazer da fonte.
$ ps -ef | grep tmux
username 13965 12977 0 13:03 pts/2 00:00:00 grep --color=auto tmux
$ cd /tmp
/tmp $ tmux
(within tmux) /tmp $ ps -ef | grep tmux
username 14244 12977 0 13:04 pts/2 00:00:00 tmux
username 14246 1 0 13:04 ? 00:00:00 tmux
username 14269 14247 0 13:04 pts/3 00:00:00 grep --color=auto tmux
(within tmux) /tmp $ ls -l /proc/14244/cwd /proc/14246/cwd
lrwxrwxrwx 1 username username 0 Sep 25 13:07 /proc/14244/cwd -> /tmp/
lrwxrwxrwx 1 username username 0 Sep 25 13:07 /proc/14246/cwd -> /tmp/
Parece que o diretório de trabalho dos processos cliente e servidor tmux é o diretório em que o tmux foi iniciado, mas qualquer processo iniciado a partir da linha de status tmux, como #(pwd)
na sua linha status-right
, são executados com $HOME
como seu diretório de trabalho.
A alteração desse comportamento exigiria a modificação do código-fonte tmux
e a compilação da sua própria versão.
Tags tmux