我正在尝试使用自定义我的 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