问题
我正在寻找的是从命令行更改 KDE 中“屏幕节能”设置的状态所需的内容。
目前,我通过以下两种方式之一以图形方式执行此操作:
- 系统设置->电源管理->节能->屏幕节能
- 电池和亮度小部件 -> 启用电源管理
我目前运行一个自定义守护进程,用于在桌面和电视上下文之间切换我的工作站(这意味着更改显示器分辨率和主显示器),并且希望能够切换“屏幕节能”设置,因为我经常发现我忘记在切换回上下文时从小部件切换中更改设置。
我尝试过的
~/.config
我使用以下 grep搜索了我的目录:
grep -rnis -e "power" -e "energy" -e "saving" ~/.config/{k,plasma}*
我一直在寻找任何与 KDE 或 Plasma 相关的单词“power”、“energy”或“ saving”的实例。
我得到了以下点击,但是当我切换“屏幕节能”设置时没有任何变化。
/home/joe/.config/kglobalshortcutsrc:290:[org_kde_powerdevil]
/home/joe/.config/kglobalshortcutsrc:296:PowerOff=Power Off,Power Off,Power Off
/home/joe/.config/kglobalshortcutsrc:299:_k_friendly_name=Power Management
/home/joe/.config/ksmserverrc:30:program4=/usr/lib/x86_64-linux-gnu/libexec/org_kde_powerdevil
/home/joe/.config/ksmserverrc:38:restartCommand4=/usr/lib/x86_64-linux-gnu/libexec/org_kde_powerdevil,-session,<uuid>
/home/joe/.config/plasmashellrc:40:pluginWhiteList=services,desktopsessions,PowerDevil,shell,bookmarks,baloosearch,locations
这实际上是由 KDE 管理的吗?或者 KDE 是否只是将这个调用转移到 PowerDevil 上?
以供参考
- KDE 等离子版本:5.12.9
- KDE 框架版本 5.47.0
答案1
我发现的另一个解决方案是编辑 $HOME/.config/powermanagementprofilesrc。消除
[AC][DPMSControl]
idleTime=600
我用 sed 这样做了
sed -i "/\[AC\]\[DPMSControl\]/,+2d" $HOME/.config/powermanagementprofilesrc
然后调用
qdbus org.freedesktop.PowerManagement /org/kde/Solid/PowerManagement org.kde.Solid.PowerManagement.reparseConfiguration
重新加载配置
如果您需要重新激活它,请再次添加行并使用相同的参数运行 qdbus
答案2
对于遇到此问题的任何人,我都弄清楚了,但它与我预期的位置相差甚远。这可以通过 qdbus 调用手动控制。
暂停“屏幕节能”:
dbus-send --print-reply \
--dest=org.freedesktop.PowerManagement.Inhibit \
/org/freedesktop/PowerManagement/Inhibit \
org.freedesktop.PowerManagement.Inhibit.Inhibit \
string:"Application Name" \
string:"Reason"
这会给出类似的回复
method return time=1592250463.638616 sender=:1.54 -> destination=:1.574 serial=4527 reply_serial=2
uint32 <id>
这uint32 <id>
就是我们需要重新启用此设置的方法,可以这样调用:
dbus-send \
--dest=org.freedesktop.PowerManagement.Inhibit \
/org/freedesktop/PowerManagement/Inhibit \
org.freedesktop.PowerManagement.Inhibit.UnInhibit \
uint32:<id>