或至少它的一部分,这是有道理的。
更具体地说,我有一些环境变量,它们是通过运行脚本导出的,为手头的任务创建了一个适当的环境。当我运行tmux时,这些变量在全局或会话环境中都无处可见。当然我可以再次运行这个脚本但是......
如果我可以在.tmux.conf
文件中指定特定的变量,我会感到满意:
set-environment VAR $VAR
不做我期望的事。
提前致谢:)
啊,我想我知道为什么。当启动第二个tmux会话时,比如说在另一个终端中,它会从第一个终端复制环境。第一个几乎采用了调用shell的当前环境并为它添加了一些tmuxiness。
我目前的解决方法是在需要更改环境时停止并启动我的tmux会话。
答案 0 :(得分:59)
您应该配置 tmux 会话选项update-environment
以包含您在创建新会话时要更新的变量。默认值包括几个常见的X11和SSH变量:
DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY
要添加变量,请使用set-option
tmux 命令及其-g
和-a
标志(附加到现有的“全局”(默认)值) )。在~/.tmux.conf
:
set-option -ga update-environment ' YOUR_VAR'
请务必包含前导空格,以便将变量名称与默认值中的尾随名称分开。