【问题标题】:Window name byobu status bar窗口名称 byobu 状态栏
【发布时间】:2022-01-25 01:04:16
【问题描述】:

我对 byobu 中的状态栏有疑问。当我在自己的计算机上使用 byobu 时,当前窗口的名称就是窗口编号(从 0 开始;看起来像“0:”“1:”等)。但是,我在远程服务器 (ssh) 上安装了 byobu,窗口的名称是当前目录的完整路径(例如“0:/home/myname/myfolder”等)。这不是很方便,因为路径通常很长。因此,我想将名称设置为仅窗口编号。

我比较了我的计算机和远程服务器的 ~/.byobu 文件夹中的文件,但我找不到任何区别。我在 statusrc(和其他)文件中尝试了不同的设置,并在 Internet 上花费了很多时间,但没有找到任何解决此问题的方法……我相当绝望……

谁能告诉我必须在哪里(哪个文件中的哪个命令)进行此设置??

提前谢谢你!

艾丽卡

【问题讨论】:

  • 差异可能是由于您的个人计算机和服务器之间不同版本的 tmux 的默认值发生了变化。 this answer 还解释了如何配置 byobu 以将路径显示为标题。这是一套吗?...
  • 嗯,我从来没有见过这个(我是 Byobu 的作者/维护者)。但我怀疑它与 tmux 版本或设置有关。两个系统上的“byobu -v”有什么区别吗?

标签: byobu


【解决方案1】:

当我们公司将我最常用的环境升级到 CentOS 7 时,同样的问题真的让我发疯了。我的带有 tmux 后端的 byobu,无论如何在 CentOS 6 上,用于显示在 shell 中运行的任何命令的可执行文件的名称,或者如果没有运行,则只是“bash”。这是可以接受的,有时也很有用,但通常显示的命令只是“cat”或“python”,因为它只会显示命令的第一个标记或管道命令系列。尽管如此,我还是会接管显示当前工作目录的内容,该目录总是非常长。

经过长时间的斗争,我最终在我的 .bashrc 文件中得到了这个,所以我可以手动设置任何窗口的标题:

function set_title { printf "\033k$1\033\\" }

这样,我可以在 shell 提示符处键入 set_title some_topic 其中 some_topic 对我来说是有意义的,以提醒我使用该 shell(及其命令历史记录)的目的。令我惊讶的是,我不知道为什么,但是 byobu 然后开始做它曾经做的事情 - 自动将状态栏中的窗口标题更改为当前命令。无论如何,在我执行set_title project1(或其他)之前都是如此。然后,从那时起,窗口标题将保留 project1 直到我再次执行set_title。我现在实际上发现了这种更可取的行为——它默认显示正在运行的命令,但我可以手动将它设置为更有意义的东西,然后什么都不会在我身上重置它。我很确定上面的 set_title 函数对你有用(如果你使用 bash)来手动设置标题。至于它是否在默认情况下神奇地再次开始显示命令名称,我无缘无故地告诉你,YMMV。

【讨论】:

  • 另外,我认为可能有一个键序列来设置窗口标题,我很确定我在某个地方看到过,但我不知道它是什么。既然我有了上述情况,我就没有动力去弄清楚了。
  • 可以使用F8设置窗口标题
【解决方案2】:

我在发布 tmux 3.2a 的 Fedora 上遇到了这个问题。

这是我认为出了问题的地方。 在 tmux 3.2a 中,有一个选项 allow-rename 似乎是必要的。 如果你不打开它,我认为 tmux 会忽略 byobu 使用转义序列重命名窗格的尝试。

我将此行添加到~/.byobu/.tmux.conf

set -g allow-rename on

然后重启byobu。 现在状态行显示

0:<directory of pane 0> 1:<directory of pane 1> etc.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多