如何为屏幕保护程序设置全局超时?

如何为屏幕保护程序设置全局超时?

我正在尝试设置一个全局屏幕保护程序和消隐空闲超时(带屏幕锁定),这将影响所有新用户帐户。我注意到,当用户配置 12.04 中的 gnome-screensaver 时,它会将一些数据写入 ~/.dconf 中的 blob,但我不知道如何全局设置它。我还知道全局超时为 10 分钟,带消隐,但不知道系统范围内的设置位置。我发现整个 dconf 转换有点困难。

如果无法通过这种方式配置 gnome-screensaver,我对使用 xscreensaver/xlock 的解决方案很感兴趣。

这样做的目的是设置一个自动锁定的空白屏幕。既是为了资源使用,也是为了安全。

忘了说一下,这是默认的 Ubuntu 12.04 桌面安装,带有 Unity 和 LightDM。不过,我会安装 gnome-shell 和 gnome-session-fallback 供大家选择。如果解决方案适用于不同的会话,那就太好了。

答案1

使用哪些 dconf 键

要了解 dconf 中哪些键被更改,您可以dconf watch /在更改设置时使用。在这种情况下,您将看到类似以下内容:

/org/gnome/settings-daemon/plugins/power/sleep-display-ac
  1800

/org/gnome/settings-daemon/plugins/power/sleep-display-battery
  1800

/org/gnome/desktop/session/idle-delay
  uint32 1800

然后,将这些密钥放入文件中/etc/dconf

创建并激活/etc/dconf

如果该目录不存在,则必须使用以下命令创建它并激活其使用:

mkdir -p /etc/dconf/profile /etc/dconf/db/local.d
cat <<EOF >/etc/dconf/profile/user
user-db:user
system-db:local
EOF

参见:https://live.gnome.org/dconf/SystemAdministrators

放置您的全局设置

使用名为的文件/etc/dconf/db/local.d,例如screensaver-delay

[org/gnome/settings-daemon/plugins/power]
sleep-display-ac=1800
sleep-display-battery=1800

[org/gnome/desktop/session]
idle-delay=1800

运行以下命令应用它: 。如果键与用户定义的值不冲突,dconf update它将(重新)生成将使用的文件。/etc/dconf/db/local

强制全局值

如果您想要强制这些全局值优于用户选择的值,您可以使用命名文件来实现/etc/dconf/db/local.d/locks,例如screensaver-delay

# Force screensaver delay
/org/gnome/settings-daemon/plugins/power/sleep-display-ac
/org/gnome/settings-daemon/plugins/power/sleep-display-battery
/org/gnome/desktop/session/idle-delay

答案2

xscreensaver 选项(在 Xubuntu 12.04 上测试):编辑/etc/X11/app-defaults/XScreenSaver(以 root 身份)以设置lockTruelockTimeout想要的任何时间。这将更改所有用户的默认值,但用户仍然可以使用正常首选项机制进行更改。

相关内容