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