Me too, just noticed one of my scripts failing:
qdbus org.kde.ksmserver /KSMServer logout 1 3 3
Cannot find '.logout' in object /KSMServer at org.kde.ksmserver
Any ideas??
Me too, just noticed one of my scripts failing:
qdbus org.kde.ksmserver /KSMServer logout 1 3 3
Cannot find '.logout' in object /KSMServer at org.kde.ksmserver
Any ideas??
Read the thread bro
Thank you. I think these would make beautifully useful defaults on Plasma.
Nice write up, good to see you sharing your knowledge have learnt a lot by just following some of your guides
It wasnât mentioned here, so Iâll just add that
shutdown 0
works.
For restart:
shutdown -r 0
the 0
is how much time to wait until shutdown.
This is not the same as the command above. It does not gracefully shut down Plasma, it does not remember your open programs, etcâŚ
There is a typo here.
qdbus org.kde.LogoutPrompt /LogoutPrompt promptShutdown
Should be
qdbus org.kde.LogoutPrompt /LogoutPrompt promptShutDown
(Capital D on Down.)
Without prompt:
qdbus org.kde.Shutdown /Shutdown logout
I have this in my ~/.aliases
that takes care of all my command line Plasma session management issues:
# Various aliases for session control and power management in KDE Plasma
# Logging out of Plasma, keeping termux and screen sessions
# These are the pre-Plasma 6 versions
#alias klogout="qdbus org.kde.ksmserver /KSMServer logout 1 0 1"
#alias klogout-force="qdbus org.kde.ksmserver /KSMServer logout 0 0 1"
# These are the Plasma 6 versions
alias klogout="qdbus6 org.kde.LogoutPrompt /LogoutPrompt org.kde.LogoutPrompt.promptLogout"
alias klogout-force="qdbus6 org.kde.Shutdown /Shutdown org.kde.Shutdown.logout"
alias kshutdown="qdbus6 org.kde.LogoutPrompt /LogoutPrompt promptShutDown"
alias kshutdown-force="qdbus6 org.kde.Shutdown /Shutdown org.kde.Shutdown.logoutAndShutdown"
alias kreboot="qdbus6 org.kde.LogoutPrompt /LogoutPrompt promptReboot"
alias kreboot-force="qdbus6 org.kde.Shutdown /Shutdown org.kde.Shutdown.logoutAndReboot"
alias klock="qdbus6 org.kde.screensaver /ScreenSaver Lock"
alias khibernate="qdbus6 org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Hibernate"
# Suspend doesn't really work for some reason
# alias ksuspend="qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Suspend"
# But Sleep works
alias ksleep="qdbus6 org.kde.kglobalaccel /component/org_kde_powerdevil invokeShortcut 'Sleep'"
@David_Edmunson, does a dbus
equivalent exist for Switch User? I ask because itâd be quicker than running promptLogout
, but qdbus org.kde.LogoutPrompt /LogoutPrompt
doesnât appear to return a relevant method:
method void org.kde.LogoutPrompt.promptAll() method void org.kde.LogoutPrompt.promptLogout() method void org.kde.LogoutPrompt.promptReboot() method void org.kde.LogoutPrompt.promptShutDown() method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name) method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name) signal void org.freedesktop.DBus.Properties.PropertiesChanged(QString interface_name, QVariantMap changed_properties, QStringList invalidated_properties) method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value) method QString org.freedesktop.DBus.Introspectable.Introspect() method QString org.freedesktop.DBus.Peer.GetMachineId() method void org.freedesktop.DBus.Peer.Ping()
See qdbus --system org.freedesktop.DisplayManager
Though Iâm not sure weâll keep that forever and ever