是否可以将自定义项目添加到系统设置窗口?

是否可以将自定义项目添加到系统设置窗口?

例如,如何向此窗口添加“启动应用程序首选项”启动器?

11.10 中的系统设置窗口

答案1

将自定义应用程序条目添加到系统设置

系统设置中的自定义条目 要添加自定义应用程序到系统设置Gnome 控制中心),找到其桌面条目文件 -/usr/share/applications/{appname}.desktop并编辑它以确保存在以下条目:

Categories=Settings;X-GNOME-Settings-Panel;xxxxx;
X-GNOME-Settings-Panel={appname}

替换{appname}为您要添加到系统设置的应用程序的名称。 xxxxx决定部分您的应用将在其中显示。请xxxxx用以下可能的选项之一进行替换:
X-GNOME-个人设置 - 个人部分
硬件设置 - 硬件部分(请注意,没有使用前缀 X-GNOME)
X-GNOME 系统设置 - 系统部分

编辑桌面条目以显示在系统设置中

修改后运行此命令:

sudo update-desktop-database

这已在Ubuntu 12.04 LTSgnome 控制中心版本 3.4.2-0ubuntu0.12

注意事项

  1. 系统设置无法识别桌面文件 ~/.local/share/applications,因此无法为单个用户将应用程序添加到系统设置中。
  2. 正如所指出的马尼什·辛哈这个答案Ubuntu 使用 gnome-control-center带有 Ubuntu 特定补丁的版本,该补丁允许添加自定义条目。因此,此方法是 Ubuntu 特有的,不适用于gnome-control-center其他发行版使用的 vanilla。

答案2

11.10

目前,GNOME 上游不支持将自定义项目添加到系统设置中

Ubuntu 修补系统设置gnome-control-center,以便它可以包含自己的 ubuntu 特定条目。

长话短说,你需要安装libgnome-control-center-dev并创建一个包装器,它是根据 gnome-control-center 包构建的,使用libgnome-control-center-devforpkg-config

目前没有 GUI 方法来添加它。您需要使用 C 以编程方式执行此操作,并且它仅适用于 Ubuntu。

不允许第三方进入(称为面板)的原因是David Zeuthen 详细介绍

> Thu, May 12, 2011 at 4:39 PM, Sergey Udaltsov wrote:
> My whole point was that in the ideal world GNOME could be extensible
> enough so that no _forking_ would be necessary. Extension modules, not
> patches. That would be not a side effect of the license but the
> fundamental feature of the architecture. Do you see the difference?

Yes. I also think we tried that with GNOME 2 and failed. I mean, look
at GNOME 2's control center - on all distros, it's a royal mess of
random crap from either GNOME, the distro or 3rd party app written by
a kid in a basement. With GNOME 3.2, we will have a simpler control
center (since the extension mechanism is going away) but it will be
_awesome_.

答案3

来自@lancer 的针对 Ubuntu 14.04 lts 的回答更新:

它可能来自 ubuntu 团队的 gnome-system-settings 分支,我在某处的博客文章中读到过(不记得在哪里了.. :/)

无论如何,以下两行显示了差异,下面是一个更详尽的例子

X-Unity-Settings-Panel={appname}
Categories=GNOME;GTK;Settings;X-Unity-Settings-Panel;xxxx;

前任:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=TefApp
Name[C]=TefApp
Exec=/home/stephaneag/Documents/ubuntu_CustomSystemSettingsEntryApp/dummyScript.sh
Comment[C]=dumb dummy app
StartupNotify=true
Icon=utilities-terminal
Terminal=false
NoDisplay=false
# the following is necessary for the .desktop to be accepted in System Settings
# for our stuff to appear in "System" section:
#Categories=GNOME;GTK;Settings;X-Unity-Settings-Panel;X-GNOME-SystemSettings;
# for our stuff to appear in "Hardware" section:
#Categories=GNOME;GTK;Settings;X-Unity-Settings-Panel;HardwareSettings;
# for our stuff to appear in the "Personal" section:
Categories=GNOME;GTK;Settings;X-Unity-Settings-Panel;X-GNOME-PersonalSettings;
OnlyShowIn=Unity;

答案4

更新 14.04,其中包含有关使用 users-admin 替换默认用户程序的具体细节,以便可以更改组。

  1. 使用用户管理员安装 gnome 系统工具

     sudo apt-get install gnome-system-tools
    
  2. 编辑用户管理员桌面,使其显示在 Unity 控制中心 - 参见下面的条目
  3. 移动旧用户桌面,使其不再显示在 Unity 控制中心

    cd /usr/share/applications/
    mv unity-user-accounts-panel.desktop unity-user-accounts-panel.desktop.ORIG
    
  4. 更新数据库

    sudo update-desktop-database
    

这是在 Ubuntu 14.04 LTS 上测试的。不知道系统更新将如何影响更新的文件。下次升级时必须检查。

/usr/share/applications/users.desktop:

[Desktop Entry]
Version=1.0
Name=Users and Groups
Comment=Add or remove users and groups
Exec=users-admin
Icon=config-users
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Settings;X-Unity-Settings-Panel;X-GNOME-SystemSettings;
OnlyShowIn=Unity;
X-Unity-Settings-Panel=users

相关内容