如何控制 LightDM 省电偏好?

如何控制 LightDM 省电偏好?

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

我看过一些帖子,它们对如何做提出了一些建议,但似乎都没有用,或者是因为我对 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是正确的条目,但除非我实际以用户身份登录,否则它不会超时。

答案1

这是一个已确认的错误:

一般来说,与主题无关

无论如何,我找到了以下解决方法(评论#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 超时设置为零,因此屏幕保护程序正常工作。

答案2

/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 添加到 /etc/group 中的 lightdm 组。这样就无需在 dpms-start 中创建 lightdm 用户。

相关内容