Alo*_*dal 6 command-line ssh terminal window-title
您可能知道,当您从 X 终端(rxvt、gnome-terminal...)ssh 到服务器时,ssh 会更改窗口标题以反映 user@host,但它不会将其更改回来。
互联网上有很多解决方法的技巧。我不是要另一个1。
我正在寻找的是解释为什么会这样。所以我可以学会忍受它。为什么 ssh 不设置标题?
更符合 FITD 的方式:如果 vim 可以做到,为什么 ssh 不能?
1 ...除非解释是问题仅由 ssh 配置错误引起,在这种情况下,我欢迎解决该问题。
Isa*_*man 12
终端中的窗口标题由嵌入在终端中运行的输出中的控制字符设置。ssh 没有注意到这一点,因为它只是将远程端生成的任何字符传递回客户端的标准输出。通常,大多数“设置窗口标题”的 UNIX/Linux 系统通过将控制字符嵌入到 shell 的提示PS1变量中,在 main/etc/bash_profile或用户的默认值$HOME/.bashrc或$HOME/.bash_profile(或您选择的 shell 使用的任何配置文件)中。本页介绍了如何在许多不同的 shell 中执行此操作。
因此,解释完后,您登录到设置了这些东西的远程机器,设置了窗口标题,窗口标题没有“变回”的原因可能是因为您的本地机器没有这些嵌入在本地提示中的控制字符以重新设置窗口标题。换句话说,一旦这些控制字符设置了窗口标题,它们就不会自动取消设置。您必须再次实际输出控制字符来更改它,通常是将它们放在本地提示变量中。
运行在本地机器上的 VIM 可以从 X 服务器查询窗口标题(通过引用 中的窗口 ID $WINDOWID)并保存标题以在退出时恢复它。这可以通过 VIM 选项title和titlestring(请参阅参考资料:help 'title')来控制。ssh 客户端似乎根本没有这样做,这可能是因为 ssh 根本不直接管理窗口标题,它只是从远程 shell 输出字符。
编辑:感谢 Stephane Chazelas 在评论中对 VIM 标题行为的更正。
| 归档时间: |
|
| 查看次数: |
1694 次 |
| 最近记录: |