我正在使用2.6版Tmux进行SSH连接,并且在bash环境DISPLAY
不等于Tmux DISPLAY
时遇到了一些问题-这使得无法显示任何内容。
经过一番搜索之后,似乎正在运行
export DISPLAY="`tmux show-env | sed -n 's/^DISPLAY=//p'`"
是解决方案,但是有时在重新连接后,Tmux DISPLAY
被重置为bash正在使用的东西以外的东西,并且它再次断裂。
我尝试跑步
set-hook -g client-attached 'run-shell update_display.sh'
在update_display.sh
中的.tmux.conf文件中仅包含上面的export-command,但是这没有做任何事情。为了进行测试,我尝试运行
run-shell "export DISPLAY='testing'"
同样在.tmux.conf文件中,这甚至都没有改变DISPLAY
。
我在这里错过明显的东西吗? Tmux是否不允许这样导出,或者发生了什么?
使用run-shell运行的命令不会影响tmux中的全局环境(除非您运行“ tmux setenv”,所以您的run-shell命令将不起作用。
如果要显式设置tmux的DISPLAY,请使用“ tmux setenv DISPLAY ...”,而不是'run-shell“ export DISPLAY ...”。]]
[更改的原因很可能是因为它处于更新环境中(默认情况下),并且您正在从具有新DISPLAY(或未设置DISPLAY的终端)进行连接。但这就是重点……如果没有发生,那么从tmux内部的shell运行“ tmux setenv”将无济于事。