![为什么我的 tmux 活动窗格标题在 ssh 到远程主机后没有变回来?](https://linux22.com/image/137920/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20tmux%20%E6%B4%BB%E5%8A%A8%E7%AA%97%E6%A0%BC%E6%A0%87%E9%A2%98%E5%9C%A8%20ssh%20%E5%88%B0%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%E5%90%8E%E6%B2%A1%E6%9C%89%E5%8F%98%E5%9B%9E%E6%9D%A5%EF%BC%9F.png)
我浏览了参考资料部分中的 tmux 手册页STATUS LINE
。
STATUS LINE
tmux includes an optional status line which is displayed in the bottom line of each terminal. By default, the status line is enabled (it may be disabled with the status session
option) and contains, from left-to-right: the name of the current session in square brackets; the window list; the title of the active pane in double quotes; and the time and
date.
双引号中的"localhost"
是状态窗格标题。
活动窗格的标题用双引号引起来;
从我的本地主机开始,我们可以看到双引号中的值是"localhost"
。
然后我通过 ssh 进入构建主机,值更改为"max@build"
.除非我退出会话时,引号中的值仍然是"max@build"
。
- 为什么标题没有改回 localhost?
- 另外,为什么不
refresh-client
将标题改回 localhost? - 如何让窗格标题返回到本地主机?
答案1
状态行中的标题被主机“build”的转义序列更改。仅终止 ssh 连接不会将标题更改回来。
发送"\ekTEST\e\\"
到终端会将标题更改为“TEST”。即 ESC k TEST ESC 反斜杠。
echo -en "\ekTEST\e\\"
实际上,这也行得通
echo -e "\ekTEST"