窗口名称byobu状态栏

时间:2017-01-14 10:28:57

标签: byobu

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

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

有人能告诉我这个设置必须在哪里(哪个命令在哪个文件中)?

提前谢谢!

埃里卡

1 个答案:

答案 0 :(得分:0)

当我们公司将我最常使用的环境升级到CentOS 7时,这个问题确实使我发疯。无论如何,在CentOS 6上,我的带有tmux后端的byobu用来显示外壳中运行的任何命令的可执行文件的名称,如果什么也没有运行,则只是“重击”。这是可以接受的,有时是有用的,但是通常显示的命令只是“ 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。