如何删除 Unity 2D 中的切换用户帐户选项?

jnl*_*key 5 unity-2d

我们正在寻找一种方法来从我们安装的 Ubuntu Unity 中永久删除切换用户帐户功能。请注意,当您右键或左键单击右上角的用户名时,会出现此功能。然后它会显示一个包含 5-10 个已登录用户的列表以及切换用户帐户的选项。我们知道我们可以通过默认使用 gnome 来做到这一点,但我们也希望有使用 Unity 的选项,但没有切换用户帐户选项。

我们已经尝试了 dconf-editor、gsettings 和其他几个选项来删除用户名列表、从下拉列表中显示的切换用户帐户选项。我们知道一次可以为一个用户执行此操作,但我们希望为大约 160 个工作站上的所有用户执行此操作。

我们已经尝试过的一些选项是:

这是我们试图删除的内容的视觉效果:

!

fal*_*ner 3

您是否尝试过编辑/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)

对此(truefalse):

<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)

其余部分相同:备份和编译。

  • 最好使用[覆盖文件](http://www.burtonini.com/blog/computers/gsettings-override-2011-07-04-15-45),而不是编辑 .xml 文件,因为包更新可能会覆盖.xml 文件。 (2认同)