Я хочу, чтобы lightdm перешел в режим энергосбережения через определенный промежуток времени. Если я вошел в систему, то мой экран будет отключен в соответствии с настройками пользователя, однако, когда никто не вошел в систему, экран останется включенным навсегда.
Я просмотрел несколько постов, в которых даются некоторые предложения о том, что делать, но ни один из них, похоже, не работает, или это зависит от моего ограниченного знания Linux.
обновлено 02.06.2014: Настройки, показанные sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively org.gnome.settings-daemon.plugins.power
, следующие:
org.gnome.settings-daemon.plugins.power active true
org.gnome.settings-daemon.plugins.power button-hibernate 'hibernate'
org.gnome.settings-daemon.plugins.power button-power 'interactive'
org.gnome.settings-daemon.plugins.power button-sleep 'suspend'
org.gnome.settings-daemon.plugins.power button-suspend 'suspend'
org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power idle-brightness 30
org.gnome.settings-daemon.plugins.power idle-dim true
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false
org.gnome.settings-daemon.plugins.power notify-perhaps-recall true
org.gnome.settings-daemon.plugins.power percentage-action 2
org.gnome.settings-daemon.plugins.power percentage-critical 3
org.gnome.settings-daemon.plugins.power percentage-low 10
org.gnome.settings-daemon.plugins.power priority 0
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 120
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
org.gnome.settings-daemon.plugins.power time-action 120
org.gnome.settings-daemon.plugins.power time-critical 300
org.gnome.settings-daemon.plugins.power time-low 1200
org.gnome.settings-daemon.plugins.power use-time-for-policy true
Я бы предположил, что sleep-inactive-ac-timeout 120
будет правильной записью, но это не так тайм-аут, если я не вошел в систему как пользователь.
Это подтвержденная ошибка:
И, как правило, ошибки здесь не по теме .
В любом случае, я нашел следующий обходной путь ( комментарий № 33 , относящийся к ошибке # 1245474 ), который работает для меня:
[.. .] Я добавил скрипт для обработки отключения времени ожидания dpms при входе пользователя в систему. Вот три файла, которые я создал. Во-первых, файл конфигурации:
/etc/lightdm/lightdm.conf.d/50-dpms.conf
[SeatDefaults] display-setup-script=/etc/lightdm/dpms-enable session-setup-script=/etc/lightdm/dpms-disable
Убедитесь, что вышеуказанное принадлежит корень. Проще всего создать его с помощью sudoedit.
1118 Далее идут два сценария. Они должны принадлежать пользователю root и быть исполняемыми (chmod +x
).
/ etc / lightdm / dpms-enable
#!/bin/sh ( # This delay is required. Might be because the X server isn't # started yet. sleep 10 # Set up a 5 minute timeout before powering off the display. xset dpms 0 0 300 ) &
/ etc / lightdm / dpms-disable
#!/bin/sh ( # This delay is required. Might be because the X server isn't # started yet. sleep 10 # Turn off X's handling of dpms timeout. Otherwise # gnome-settings-daemon and gnome-screensaver will fight over it. xset dpms 0 0 0 ) &
Дано выше, я получаю отключение монитора на экране входа в систему, и время ожидания dpms устанавливается равным нулю для пользовательского сеанса, поэтому заставка работает правильно.
BLOCKQUOTE>
Я создал файл в /etc/lightdm/lightdm.conf.d/
с именем 50-dpms.conf
.
[SeatDefaults]
display-setup-script=/usr/local/bin/dpms-start
Файл dpms-start - это скрипт, который позволяет пользователю lightdm
включать dpms.
#!/bin/sh
sudo xhost +si:localuser:lightdm # creates a user 'lightdm'
sudo su lightdm -s /bin/bash <<HERE # lightdm starts dpms from HERE
/usr/bin/xset +dpms
exit
HERE # and stops at this HERE
Обязательно наберите sudo chmod +x /etc/lightdm/lightdm.conf.d/dpms-start
, чтобы сделать его исполняемым. В Ubuntu 14.04 я использую это с Unity и Cinnamon и Unity-Greeter для блокировки экрана. Я не использую Synergy для нескольких дисплеев в Lightdm. Другой способ - добавить root в группу lightdm в / etc / group. Это избавило бы от необходимости создавать пользователя lightdm в dpms-start.