【发布时间】:2020-05-27 08:32:13
【问题描述】:
我只是想将当前的 zsh 环境传递给 tmux 会话。我在.zprofile 中有RUST_BACKTRACE=1。我确实喜欢下面。
创建一个新会话,如下所示。
tmux new -d -s ipython ipython
附加到会话。
然后检查它有哪些环境变量。
In [1]: import os
In [2]: os.environ.copy()
Out[2]:
(No RUST_BACKTRACE environemnt.)
显然,环境变量和zsh的不一样。有没有办法让 tmux 加载 .zprofile 或类似的文件?
【问题讨论】:
-
我目前使用这个命令。
tmux new -d -s ipython zsh -c "source .zshrc;ipython" -
如果创建子进程,它会从父进程继承环境。在执行
tmux之前,通过执行printenv RUST_BACKTRACE) 来验证此环境变量是否存在。 -
请记住
tmux的客户端/服务器架构。 服务器 首次启动时会继承您的环境。之后,任何新会话都会从 服务器 继承其环境,而不是在您重新连接时继承 客户端 的环境。update-environmentsession 选项允许您指定环境变量列表,客户端应请求服务器为该会话更新。