시작 시 tmux `status line` 디렉토리를 변경하는 방법은 무엇입니까?

시작 시 tmux `status line` 디렉토리를 변경하는 방법은 무엇입니까?

/home/user/tmux를 실행할 때 tmux가 시작하는 쉘의 현재 작업 디렉토리에 관계없이 항상 해당 디렉토리에서 시작된다는 것을 알았습니다 .

나는 상태 줄을 실행 하여 pwd이것을 확인했습니다 .

set -g status-right "#(pwd)"

상태 표시줄에서 일부 셸 스크립트를 실행하고 싶지만 모든 스크립트에 대한 디렉터리 변경 사항을 수동으로 처리하고 싶지는 않습니다.

내가 원하는 것은 tmux가 디렉토리를 시작/호출된 위치로 변경하는 것입니다.

어떻게 해야 하나요?

답변1

$ 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/

tmux 클라이언트 및 서버 프로세스의 작업 디렉터리처럼 보입니다.tmux 시작 디렉토리,하지만tmux 상태 줄(예: #(pwd)줄에 있는 프로세스) 에서 시작된 모든 프로세스는 status-right작업 디렉터리로 실행됩니다.$HOME

이 동작을 변경하려면 tmux소스 코드를 수정하고 자체 버전을 컴파일해야 합니다.

답변2

제출 후질문tmux repo에서는 문제를 수정한 것으로 나타났지만 아직 단계에 있습니다 release-candidate. 그래서 소스에서 다시 빌드해야 했습니다.

관련 정보