1

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

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

有人可以告诉我必须在哪里(哪个文件中的哪个命令)进行此设置吗?

先感谢您 !

埃里卡

4

2 回答 2

0

我在发布 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.
于 2022-01-24T17:04:16.573 回答
0

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

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

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

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

于 2018-06-26T21:02:26.257 回答