如何在当前环境下启动tmux?

时间:2011-12-27 13:11:39

标签: tmux

或至少它的一部分,这是有道理的。

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

如果我可以在.tmux.conf文件中指定特定的变量,我会感到满意:

set-environment VAR $VAR

不做我期望的事。

提前致谢:)

啊,我想我知道为什么。

当启动第二个tmux会话时,比如说在另一个终端中,它会从第一个终端复制环境。第一个几乎采用了调用shell的当前环境并为它添加了一些tmuxiness。

我目前的解决方法是在需要更改环境时停止并启动我的tmux会话。

1 个答案:

答案 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'

请务必包含前导空格,以便将变量名称与默认值中的尾随名称分开。