如何将 dconf 键存储为只读?

如何将 dconf 键存储为只读?

我想使用 Unity-2D 的躲闪功能进行冲刺。我通过将DConf Editor 中hide-mode的值更改为 来实现这一点。com.canonical.Unity2d.Launcher2

但是,当我决定更改 Ubuntu 的壁纸时,该hide-mode值会恢复为0。我想通过使设置hide-mode只读来防止这种情况。我该怎么做?

答案1

您需要的目录是

/etc/dconf/db/local.d/locks

但是它们并不存储在那里;这是放置它们以使文件只读的地方。来自dconf 管理...

封锁

通过在密钥文件目录中创建“locks”子目录(即:/etc/dconf/db/local.d/locks)来支持锁定。此目录中包含的文件包含要锁定的密钥列表,每行一个。与密钥文件一样,您可以将任意数量的文件添加到此目录。以下是可能的示例:

# prevent changes to the company wallpaper
/org/gnome/desktop/background/picture-uri

当然,更改锁后,您需要运行“dconf update”工具。该工具会注意到“locks”目录上的时间戳是否已更改,因此无需触碰“.d”目录。


  • 隐藏模式的锁定键应该是......

     /com/canonical/unity-2d/launcher/hide-mode
    

    如果这不起作用我会认为这是一个错误。

选择 ...

  • 命令行方法:

     dconf write /com/canonical/unity-2d/launcher/hide-mode 1
    

您可以将其添加到某些脚本或 ~/bashrc 或其他内容中以重置它。


18.04 使用 gdm3

DConf 配置

一些 GDM 设置存储在 DConf 数据库中。可以通过将密钥文件添加到 /etc/dconf/db/gdm.d 目录,然后通过以 root 身份运行 dconf update 重新编译 GDM 数据库,或者通过登录系统上的 GDM 用户并使用 gsettings 命令行工具直接更改设置来配置它们。请注意,对于前一种方法,需要 GDM 配置文件 - 必须手动创建该文件,因为它不再随上游提供,见下文:

/etc/dconf/profile/gdm
user-db:user
system-db:gdm
file-db:/usr/share/gdm/greeter-dconf-defaults

您可以在/etc/dconf/db/gdm.dsty 中为每个键创建一个文件

rinzwind@schijfwereld:/etc/dconf/db/gdm.d$ ls
02-logo
rinzwind@schijfwereld:/etc/dconf/db/gdm.d$ more 02-logo 
[org/gnome/login-screen]
logo='/discworld/Pictures/Wallpapers/Nier.9.jpg'

这将在 dconf 中预先设置该值。

链接中有更多示例。

相关内容