Я ищу то, что необходимо для изменения состояния параметра «Энергосбережение экрана» в KDE из командной строки.
В настоящее время я делаю это графически одним из двух способов:
В настоящее время я запускаю настраиваемый демон для переключения моей рабочей станции между рабочим столом и контекстом телевизора (это означает изменение разрешения монитора и основного монитора), и я хотел бы также иметь возможность подключаться к переключению параметра «Энергосбережение экрана», как я часто обнаруживаю. забудьте изменить настройку переключателя виджета при обратном переключении контекстов.
Я искал в своем каталоге ~/.config
следующий grep:
grep -rnis -e "power" -e "energy" -e "saving" ~/.config/{k,plasma}*
Я искал любое упоминание слова «мощность», «энергия» или «сбережение» в том, что могло быть связано конкретно с KDE или Plasma.
Я получаю следующие обращения, но ничего не меняется, когда я переключаю настройку «Энергосбережение экрана».
/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?
Другое решение, которое я нашел, заключалось в редактировании файла $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 с теми же параметрами
Для тех, кто сталкивался с этим, я понял это, но это было далеко не так, как я ожидал. Это можно контролировать вручную с помощью вызова 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>