web-dev-qa-db-ja.com

現在の環境でtmuxを起動するにはどうすればよいですか?

または、少なくともその一部は、理にかなっています。

より具体的には、スクリプトを実行することによってエクスポートされたいくつかの環境変数があり、手元のタスクに適切な環境を作成します。 tmuxを実行すると、これらの変数はどこにも表示されず、グローバル環境にもセッション環境にもありません。もちろん、このスクリプトをもう一度実行できますが、...

ただし、.tmux.confファイルで特定の変数を指定できれば十分です。

set-environment VAR $VAR

私が期待することをしません。

前もって感謝します :)

ああ、その理由はわかっていると思います。

別の端末などでtmuxの2番目のセッションを開始すると、最初のセッションから環境がコピーされます。最初のものは、呼び出し元のシェルの現在の環境をほとんど取り、それにいくつかの豪華さを追加します。

現在の回避策は、環境を変更する必要があるときにtmuxセッションを停止して開始することです。

35
Phluks

tmuxセッションオプションを設定する必要がありますupdate-environment新しいセッションを作成するときに更新する変数を含めます。デフォルト値には、いくつかの一般的なX11およびSSH変数が含まれています。

DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY

変数を追加するには、set-optiontmuxコマンドとその-gおよび-aフラグ(既存の「グローバル」(デフォルト)値に追加)。あなたの~/.tmux.conf

set-option -ga update-environment ' YOUR_VAR'

変数名がデフォルト値の末尾の名前と区切られるように、必ず先頭にスペースを含めてください。

64
Chris Johnsen