Closed. This question is off-topic。它当前不接受答案。












想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic

已关闭8年。



Improve this question




或至少其中一部分是有道理的。

更具体地说,我有一些环境变量,这些变量是通过运行脚本导出的,可以为手头的任务创建适当的环境。当我运行tmux时,无论是在全局环境还是 session 环境中,这些变量都无处可见。当然我可以再次运行此脚本,但是...

但是,如果可以在.tmux.conf文件中指定特定的变量,我会感到满意:
set-environment VAR $VAR

不符合我的期望。

提前致谢 :)

啊,我想我知道为什么。

当启动tmux的第二个 session 时,例如在另一个终端中,它将从第一个 session 复制环境。第一个几乎占用了调用shell的当前环境,并给它增加了一些麻烦。

我当前的解决方法是在需要更改环境时停止和启动tmux session 。

最佳答案

您应该将tmux session 选项update-environment配置为包含要在创建新 session 时更新的变量。默认值包括几个常见的X11和SSH变量:

DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY

要添加变量,请使用set-option tmux命令及其-g-a标志(附加到现有的“global”(默认)值)。在您的~/.tmux.conf中:
set-option -ga update-environment ' YOUR_VAR'

确保包含前导空格,以便在默认值中变量名与尾随名分开。

09-19 11:55