我们正在寻找一种方法来从我们安装的 Ubuntu Unity 中永久删除切换用户帐户功能。请注意,当您右键或左键单击右上角的用户名时,会出现此功能。然后它会显示一个包含 5-10 个已登录用户的列表以及切换用户帐户的选项。我们知道我们可以通过默认使用 gnome 来做到这一点,但我们也希望有使用 Unity 的选项,但没有切换用户帐户选项。
我们已经尝试了 dconf-editor、gsettings 和其他几个选项来删除用户名列表、从下拉列表中显示的切换用户帐户选项。我们知道一次可以为一个用户执行此操作,但我们希望为大约 160 个工作站上的所有用户执行此操作。
我们已经尝试过的一些选项是:
这是我们试图删除的内容的视觉效果:

您是否尝试过编辑/usr/share/glib-2.0/schemas/com.canonical.indicator.session.gschema.xml文件,只需更改以下内容:
<key type="b" name="user-show-menu">
<default>true</default>
<summary>Determine the visibility of the User Menu</summary>
<description>Allow for the user menu to be hidden by the user.</description>
</key> </code>
Run Code Online (Sandbox Code Playgroud)
对此(true到false):
<key type="b" name="user-show-menu">
<default>false</default>
<summary>Determine the visibility of the User Menu</summary>
<description>Allow for the user menu to be hidden by the user.</description>
</key>
Run Code Online (Sandbox Code Playgroud)
然后备份然后/usr/share/glib-2.0/schemas/gschemas.compiled
运行
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
Run Code Online (Sandbox Code Playgroud)
通常这会将其设置为所有用户的默认值。
更新:
Florian Diesch在评论中指出,最好编写一个覆盖文件,因为 .xml 可能会在更新中被覆盖,从而导致设置丢失。因此,不要直接修改 gschema.xml,而是创建一个/usr/share/glib-2.0/schemas/myoverride.gschema.override包含以下内容的文件:
[com.canonical.indicator.session]
user-show-menu=false
Run Code Online (Sandbox Code Playgroud)
其余部分相同:备份和编译。