是否可以从“系统设置”中删除项目

是否可以从“系统设置”中删除项目

我想删除或禁用系统设置/gnome-control-center 中一些未使用的设置面板,以防止我的“野心勃勃”的用户弄乱它们。
具体来说,我想禁用/删除以下内容:

  • 打印机(因为我们没有连接这些机器)
  • 详细信息(因为它允许您在可移动媒体上设置操作)
  • 键盘(因为它可以让你设置快捷键 - 这不是什么大问题)

这看起来应该非常简单(我可以通过在与面板关联的文件Hidden=true中进行设置将它们从应用程序菜单中删除),但是当我这样做时,它们顽固地保留在系统设置中。.desktop

是我遗漏了什么吗,还是我们永远只能在“设置”应用程序中使用这些面板?

答案1

假设更改权限可以实现你的目标,那么看看这个魔法:

dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-printers-panel.desktop
dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-info-panel.desktop
dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-keyboard-panel.desktop

您可以使用以下命令删除覆盖:

dpkg-statoverride --remove /path/to/file

(但请注意,这不会重置原始权限)

答案2

好的,我思考我找到了一个解决方法——gnome-control-center不尊重Hidden=true文件gnome-whatever-panel.desktop,但它不够智能,如果你彻底清除相關.desktop文件。

因此,对于我列出的面板,您可以通过删除以下文件来删除/禁用它们:

/usr/share/applications/gnome-printers-panel.desktop
/usr/share/applications/gnome-info-panel.desktop
/usr/share/applications/gnome-keyboard-panel.desktop

作为MikeyB 在他的评论中指出使这些文件无法被“其他人”读取也是一个选择——我chmod 640在一台备用机器上测试了这个(),它似乎有效,为“普通”用户禁用了面板,但仍然让组root内成员可以使用它们root


这种方法有两个明显的缺点:

  1. 这将完全禁用这些面板全部用户。
    你甚至无法通过运行gnome-control-center info或类似方法手动调用它们正如 Radu Rădeanu 所提到的- 他们就是不肯发射。

  2. gnome-control-center相关软件包的更新可能将面板恢复。
    这基本上意味着在每次软件更新后进行检查,以确保它们仍然存在(或具有适当的限制权限),并在必要时再次删除文件chmod.desktop

对我来说,这些都不是一个大问题,因为我无论如何都是从命令行配置这些机器的,系统设置面板只是供用户进行微小的“个性调整”,所以除非这个解决方法

答案3

不,很遗憾你不能删除任何打印机细节, 或者键盘系统设置。这些被称为“PANELS”,并且硬编码在gnome-control-center包中。如果您删除此包,您将不会拥有系统设置不再。

假设你从主面板中删除这些图标和名称系统设置无论如何,用户可以使用以下命令之一从终端打开其中任何一个:

gnome-control-center info
gnome-control-center keyboard
gnome-control-center printers

请参阅man gnome-control-center以了解更多信息。

相关内容