Como alterar o diretório da linha de status do tmux na inicialização?

0

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?

    
por cevhyruz 25.09.2018 / 11:10

2 respostas

0

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.

    
por 27.09.2018 / 06:49
3
$ 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.

    
por 25.09.2018 / 12:18

Tags