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
и т. Д.
Я хотел бы заставить систему принять состояние, описанное в session01
.
$HOME/.config/ksmserverrc
текст, соответствующий сеансу saved by user
, текстом, соответствующим сеансу session01
. Теперь предположим, что я настроил свою систему так, чтобы при входе в систему она восстанавливала сохраненный вручную сеанс (как это сделать, описано в ответе на этот вопрос: Сохранение настроек сеанса в среде KDE без выключения ). Затем при следующем входе в систему KDE восстановит состояние в saved by user
- что, конечно, после моего взлома будет идентично состоянию в session01
.
Это можно сделать с помощью сценария. Действительно, я полагаю, что более или менее было выполнено с помощью сценария, а именно этого старого сценария от 2012 года (ищите функцию sessionRestore
).
Есть ли «нехакерский» способ заставить мою систему принять состояние, сохраненное в
session01
? Другими словами, есть ли конкретная команда KDE или параметр, который будет загружать этот сеанс по имени? А если нет, то какой смысл иметь командуsaveCurrentSessionAs
?
(Для чего я стою, я запускаю KDE Plasma Version 5.12.7 на Kubuntu 18.04.)