3

Запуск Гнома 3.28. У меня проблемы с гашением экрана. Точнее говоря, экран не гаснет, и я не могу понять, как заставить его постоянно гаснуть. (Когда-то, несколько лет назад я полностью убил гашение экрана и больше не представляю, как я это сделал.) На протяжении всего этого, когда я имею в виду гашение, я специально хочу / предпочитаю отключение DPMS.

Установка "Пустого экрана" в разделе "Power" настроек gnome ничего не дает. xset q возвращает следующее:

DPMS (Energy Star):
  Standby: 0    Suspend: 0    Off: 0
  DPMS is Enabled
  Monitor is On

Я могу включить гашение экрана с помощью xset dpms 1200 2400 4800 . Это работает. Однако запуск любого приложения, использующего dbus для запроса запрещающего гашения экрана (например, Youtube в chrome), приводит к тому, что демон настроек питания gnome устанавливает эти значения в ноль и никогда не сбрасывает их обратно.

Трассировка , что происходит, начиная, скажем, Youtube, отправляет запрос inhibit на SessionManager:

method call time=1533650079.657788 sender=:1.1216 -> destination=org.gnome.SessionManager serial=3 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
   string "/usr/bin/google-chrome-stable"
   uint32 0
   string "Playing video"
   uint32 12
signal time=1533650079.659445 sender=:1.14 -> destination=(null destination) serial=10679 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=InhibitorAdded
   object path "/org/gnome/SessionManager/Inhibitor975"
method return time=1533650079.659468 sender=:1.14 -> destination=:1.1216 serial=10680 reply_serial=3
   uint32 754926118
signal time=1533650079.659475 sender=:1.14 -> destination=(null destination) serial=10681 path=/org/gnome/SessionManager; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.gnome.SessionManager"
   array [
      dict entry(
         string "InhibitedActions"
         variant             uint32 12
      )
   ]
   array [
   ]

Это приводит к тому, что демон gsd-power просит mutter отключить режим энергосбережения:

method call time=1533650079.666562 sender=:1.36 -> destination=:1.16 serial=182 path=/org/gnome/Mutter/DisplayConfig; interface=org.freedesktop.DBus.Properties; member=Set
   string "org.gnome.Mutter.DisplayConfig"
   string "PowerSaveMode"
   variant       int32 0

который работает, превращая настройки DPMS в нули. Когда я закрываю сеанс YouTube, я получаю соответствующий запрос запрета:

method call time=1533650081.283611 sender=:1.1216 -> destination=org.gnome.SessionManager serial=4 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Uninhibit
   uint32 754926118
signal time=1533650081.286730 sender=:1.14 -> destination=(null destination) serial=10690 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=InhibitorRemoved
   object path "/org/gnome/SessionManager/Inhibitor975"
method call time=1533650081.286768 sender=:1.14 -> destination=org.freedesktop.DBus serial=10691 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0=':1.1216'"
method return time=1533650081.286778 sender=org.freedesktop.DBus -> destination=:1.14 serial=3032 reply_serial=10691
method return time=1533650081.286784 sender=:1.14 -> destination=:1.1216 serial=10692 reply_serial=4
signal time=1533650081.286789 sender=:1.14 -> destination=(null destination) serial=10693 path=/org/gnome/SessionManager; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.gnome.SessionManager"
   array [
      dict entry(
         string "InhibitedActions"
         variant             uint32 4
      )
   ]
   array [
   ]

Но ничто не говорит бормотанию, чтобы снова включить режим энергосбережения. Что обычно должно делать это, и что может помешать этому?

1 ответ1

0

У вас есть GDM включен, потому что без блокировки экрана не будет затемнения.

Вопрос в том, что gdm читает org.gnome.SessionManager.Присутствие в качестве предыдущего gnome-scrennsaver, поэтому отправка сообщений в Mutter, является фальшивым, потому что таймеры сброса должны выполняться только один раз.

Диммирование выполняется путем отправки силы dpms или отказа от таймеров dpms.

ура, Роберт

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .