通过 gsettings 命令无法更改设置

通过 gsettings 命令无法更改设置

我正在尝试使用自定义我的 Ubuntu 安装,gsettings但是使用该命令进行新的更改后什么也没有发生gsettings

例如,我进入终端并输入

gsettings set org.gnome.desktop.login-screen disable-user-list true

这应该会禁用登录屏幕上的用户列表,因此用户必须手动输入用户名和密码才能登录。注销后,我看到没有任何变化。在sudo命令开头添加后,仍然没有任何变化。我甚至dconf-editor使用

apt-get install dconf-editor

看看我是否可以通过 GUI 以这种方式更改设置,仍然没有结果。虽然更改似乎已记录,但登录屏幕没有任何变化,登录后仍可查看用户列表。

然后我偶然发现了一个 RedHat 指南(这里) 解释了如何以不同的方式执行此操作。它提到手动创建/编辑文件以更改设置。这涉及在中创建一个新的配置文件,/etc/dconf/profile然后在中创建一个新的数据库/etc/dconf/db/gdm.d/00-login-screen。我必须创建几个文件/文件夹,否则它们不会在这里。然后我dconf使用dconf update命令进行更新。我注销了,更改已经完成。

我的问题是;

为什么手动更改gsettings比在终端中直接输入命令更有效?我如何使用一行命令进行此类更改gsettings set org.gnome.desktop.login-screen disable-user-list true?在尝试其他设置后,我发现我可以使用看似更简单的命令更改壁纸gsettings,而不必创建文件/文件夹并做更多工作。我并不反对后一种方法。事实上,我发现它令人耳目一新。

我只是想知道为什么会发生这种情况?为什么只能这样?

答案1

您正在使用更改gsettings配置你的用户。GDM 不以您的用户身份运行,而是使用为其创建的帐户(通常称为gdm)。必须为用户更改该设置gdm

就像是

# as root, or with sudo
su --shell /bin/bash --login gdm
# in gdm's shell
dbus-launch --exit-with-session gsettings set org.gnome.login-screen disable-user-list true

相关内容