如何控制LightDM节电首选项?

我希望lightdm在特定时间段后进入省电模式。 如果我已登录,那么我的屏幕将根据用户设置超时,但是当没有人登录时,屏幕将永远保持。

我看了一些post,提出了一些关于该做什么的建议,但它们似乎都没有用,或者归结为我对Linux的有限知识。

2014年6月2日更新: 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相关 )对我有用 :

[…]我添加了一个脚本来处理用户登录时关闭X dpms超时。以下是我创建的三个文件。 首先,配置文件:

/etc/lightdm/lightdm.conf.d/50-dpms.conf

 [SeatDefaults] display-setup-script=/etc/lightdm/dpms-enable session-setup-script=/etc/lightdm/dpms-disable 

确保以上内容归root所有。 最简单的方法是使用sudoedit创建它。

接下来是两个脚本。 这些需要由root拥有并且可执行( chmod +x )。

的/ etc / lightdm / DPMS启用

 #!/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-禁用

 #!/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超时设置为零,因此屏幕保护程序正常工作。

我在/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 < 

请务必键入sudo chmod +x /etc/lightdm/lightdm.conf.d/dpms-start以使其可执行。 在Ubuntu 14.04中,我使用Unity和Cinnamon以及Unity-Greeter进行锁屏。 我没有将Synergy用于lightdm中的多个显示器。 另一种方法是将root添加到/ etc / group中的lightdm组。 这将消除在dpms-start中创建lightdm用户的需要。