在 KDE 中启动自定义名称的已保存会话

在 KDE 中启动自定义名称的已保存会话

KDE 支持使用任意名称保存会话。这可以通过使用命令来实现saveCurrentSessionAs。例如,要保存名为“session01”的会话,我们执行

DISPLAY=:0.0 qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.saveCurrentSessionAs "session01"

然后session01将出现在返回的列表中

DISPLAY=:0.0 qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.sessionList

如下:

default
session01
saved by user
saved at previous logout

所有这些已保存会话的内容都可以在中看到$HOME/.config/ksmserverrc,其中特别包含以下行

[Session: session01]
clientId1=102221941cd1ac000155588720400000011540004
clientId10=102221941cd1ac000155604496400000011810016

ETC。

我想让系统假定中描述的状态session01

我知道一种破解方法。我可以在文件中手动用与会话$HOME/.config/ksmserverrc对应的文本saved by user覆盖与会话对应的文本session01。现在假设我已经设置了我的系统,以便在登录时恢复手动保存的会话(如何做到这一点在回答对于这个问题:无需关闭即可在 KDE 环境中保存会话设置)。然后在下次登录时,KDE 将恢复 - 中的状态saved by user,当然,在我破解之后,它将与 中的状态相同session01

这可以通过脚本来完成。事实上,我相信,通过脚本完成,即这个老剧本从 2012 年开始 (寻找功能sessionRestore)。

但我想知道是否有办法做到这一点而不进行黑客攻击。(我刚才提到的脚本的作者同意该脚本是一个 hack(不是解决方案)—参见结尾这一页)那么,我的问题是:

有没有一种“非黑客”方式可以让我的系统采用 中保存的状态session01?换句话说,是否有特定的 KDE 命令或设置可以通过名称加载该会话?如果没有,那么saveCurrentSessionAs命令有什么意义?

(不管怎样,我在 kubuntu 18.04 上运行 KDE Plasma 版本 5.12.7。)

相关内容