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

mar*_*tin 7 administration unity screensaver 12.04

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

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

这样做的目的是设置一个带有自动锁定的空白屏幕。两者都是因为资源使用和安全性。

忘了说这是带有 Unity 和 LightDM 的默认 Ubuntu 12.04 桌面安装。然而,我会安装 gnome-shell 和 gnome-session-fallback 来让人们选择。如果解决方案适用于不同的会话,那就太好了。

Chr*_*uet 8

使用了哪些 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
Run Code Online (Sandbox Code Playgroud)

然后,您将这些密钥放在/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
Run Code Online (Sandbox Code Playgroud)

参见: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
Run Code Online (Sandbox Code Playgroud)

运行以下命令应用它: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
Run Code Online (Sandbox Code Playgroud)