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 来让人们选择。如果解决方案适用于不同的会话,那就太好了。
要知道 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)