起動時に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ソースコードを変更して独自のバージョンをコンパイルする必要があります。

おすすめ記事