通过DBUS控制Konsole的更新
最近我写了关于使用dbus控制konsole的文章。 正当我开始使用该脚本来设置我的konsoles时,我和其他人一样,发现通过dbus设置的标签页标题不会固定。 这篇简短的文章向您展示了一种解决方法,使您的选项卡标题保持不变。
即使我在几周前写了原始文章,直到现在我才意识到我遇到了问题,因为我只是这个周末升级了我最常用的系统。 此外,显然,我已经在我其他的系统上发现了解决方法,并立即忘记了它,因为我花了很多时间才弄清楚它(再次)。
在我真正(重新)发现解决方法之前,我浏览了一些konsole代码,注意到konsole有两种类型的标签页标题:一种是用函数设置的setTitle()另一种是用函数设置的setUserTitle()。 如果您不设置用setUserTitle()设置的那个,那么当您使用会话时,选项卡标题会更改回默认值。 问题是dbus接口允许您调用setTitle()但它不允许你调用setUserTitle().
您可以通过以下方式使用konsole的菜单来调用setUserTitle():编辑->重命名标签或者从键盘使用Ctrl-Alt-S。 如果您以这种方式设置(用户)标题,您会看到它现在会固定。 但这不是解决方法,因为我们试图通过dbus控制konsole,通过键盘或鼠标手动设置所有选项卡标题并不构成解决方法。
另一方面,实际的解决方法并非没有缺陷:它需要您更改shell配置文件,这意味着由于尚无法通过dbus使用指定的配置文件启动会话,因此您无法同时拥有两种行为。
经过这么长的序言,解决方法非常简单:使用konsole的菜单,执行:设置->编辑当前配置文件...,转到标签选项卡并清除标签标题格式和远程标签标题格式字段。

这样做有效,因为如果没有要设置的默认值,konsole不会重置标签标题。