21

For example, how to add a "Startup Applications Preferences" launcher to this Window?

System Settings window in 11.10

1
  • have you tried the dconf-editor for access to the settings
    – Ringtail
    Feb 26, 2012 at 23:29

4 Answers 4

17

Add custom App entries to System Settings

Custom Entries in System Settings To add a custom app to System Settings (Gnome Control Center), find its desktop entry file - /usr/share/applications/{appname}.desktop and edit it to ensure that the following entries are present:

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

Replace {appname} with the name of the App you're adding to System Settings. xxxxx decides the Section where your app is displayed. Replace xxxxx with one of these possible options:
X-GNOME-PersonalSettings - Personal Section
HardwareSettings - Hardware Section (Note that prefix X-GNOME is not used)
X-GNOME-SystemSettings - System Section

Edit desktop entries to show in System Settings

After the modifications run this command:

sudo update-desktop-database

This was tried and tested on Ubuntu 12.04 LTS with gnome-control-center version 3.4.2-0ubuntu0.12

Things to Note:

  1. System Settings don't recognise desktop files in ~/.local/share/applications and as a result,it's not possible to add Apps to System Settings for one user alone.
  2. As noted by Manish Sinha in this Answer, Ubuntu uses a gnome-control-center with Ubuntu specific patches which enables the addition of custom entries. As a result,this method is Ubuntu specific and won't work on vanilla gnome-control-center used by other distros.
5
  • Actually, having X-GNOME-Settings-Panel;X-GNOME-SystemSettings; in Categories and adding X-GNOME-Settings-Panel=sample is sufficient.
    – nem75
    Aug 24, 2012 at 7:52
  • @nem75 that didn't work for me on Ubuntu 12.04, but the settings from lancer did
    – realgt
    Oct 17, 2012 at 12:44
  • the settings from lancer allowed me to add gnome-tweak-tool to my System Settings by modifying /usr/share/applications/gnome-tweak-tool.desktop
    – realgt
    Oct 17, 2012 at 13:19
  • If you want the launcher show up under Personal section, use X-GNOME-PersonalSettings instead of X-GNOME-SystemSettings. For Hardware section, use HardwareSettings (note that prefix X-GNOME is not used and doesn't even work. Some inconsistency here, don't you think?) Jan 22, 2013 at 15:00
  • Are there any other possible categories besides Personal or System Settings? And what theme are you using? Nov 27, 2014 at 0:35
4

11.10

Right now adding custom items to System Settings is not support upstream from GNOME

Ubuntu patches System Settings gnome-control-center so that it can include it's own ubuntu specific entries in it.

Long story short, you need to install libgnome-control-center-dev and create a wrapper around your application which is built against gnome-control-center package using libgnome-control-center-dev for pkg-config

Right now there is no GUI method to add it. You need to do it programmatically using C and it would work only on Ubuntu.

The reasoning for not allowing third party entries (called panels) is detailed by 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

Update of answer from @lancer for Ubuntu 14.04 lts:

It may come from the fork of gnome-system-settings from the ubuntu team as I could read on some blog post somewhere ( can't recall where .. :/ )

anyway, the following 2 lines shows the differences, & a more thorough example follows

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

ex:

[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;
1

Update for 14.04 with specific details on replacing default Users program with users-admin so groups can be changed.

  1. install gnome system tools with users-admin

     sudo apt-get install gnome-system-tools
    
  2. Edit users-admin desktop so it shows up in Unity Control Center - see entry below
  3. Move old user desktop so it does not show up in Unity Control Center

    cd /usr/share/applications/
    mv unity-user-accounts-panel.desktop unity-user-accounts-panel.desktop.ORIG
    
  4. Update database

    sudo update-desktop-database
    

This was tested on Ubuntu 14.04 LTS. Do not know how an system update will effect the updated files. Will have to inspect on next upgrade.

/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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .