我正在尝试设置一个全局屏幕保护程序和消隐空闲超时(带屏幕锁定),这将影响所有新用户帐户。我注意到,当用户配置 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 身份)以设置lock
为True
您lockTimeout
想要的任何时间。这将更改所有用户的默认值,但用户仍然可以使用正常首选项机制进行更改。