Ответы:
Чтобы добавить пользовательское приложение в настройки системы ( Центр управления Gnome ), найдите его файл ввода на рабочем столе /usr/share/applications/{appname}.desktop
и отредактируйте его, чтобы обеспечить наличие следующих записей:
Categories=Settings;X-GNOME-Settings-Panel;xxxxx;
X-GNOME-Settings-Panel={appname}
Замените {appname}
на имя приложения, которое вы добавляете в настройки системы.
xxxxx
решает раздел, где отображается ваше приложение. Замените xxxxx
одним из следующих возможных вариантов:
X-GNOME-PersonalSettings - Личный раздел
HardwareSettings - Аппаратный раздел (обратите внимание, что префикс X-GNOME не используется)
X-GNOME-SystemSettings - Системный раздел
После внесения изменений выполните эту команду:
sudo update-desktop-database
Это было опробовано и протестировано на Ubuntu 12.04 LTS 12.04 с gnome-control-center версии 3.4.2-0ubuntu0.12
Что следует отметить :
~/.local/share/applications
и, как следствие, невозможно добавить Приложения в Системные настройки только для одного пользователя.gnome-control-center
специальные патчи для Ubuntu, которые позволяют добавлять пользовательские записи. В результате этот метод специфичен для Ubuntu и не будет работать на ванили, gnome-control-center
используемой другими дистрибутивами.X-GNOME-Settings-Panel;X-GNOME-SystemSettings;
в Categories
и добавление X-GNOME-Settings-Panel=sample
достаточно.
В настоящее время добавление пользовательских элементов в настройки системы не поддерживается в восходящем направлении от GNOME.
Ubuntu вносит исправления в Системные настройки, gnome-control-center
чтобы в нее можно было включать свои собственные записи, специфичные для Ubuntu.
Короче говоря, вам нужно установить libgnome-control-center-dev
и создать оболочку вокруг вашего приложения, которая построена на основе пакета gnome-control-center, используемого libgnome-control-center-dev
дляpkg-config
Прямо сейчас нет никакого метода GUI, чтобы добавить это. Вы должны сделать это программно, используя C, и это будет работать только в Ubuntu.
Причины, по которым нельзя разрешать сторонние записи (называемые панелями), подробно изложены Дэвидом Цойтеном
> 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_.
Обновление ответа от @lancer для Ubuntu 14.04 lts:
Это может исходить от форка gnome-system-settings от команды ubuntu, как я мог прочитать где-нибудь в блоге (не могу вспомнить, где ..: /)
в любом случае, следующие 2 строки показывают различия, а более тщательный пример следует
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;
Обновление до 14.04 с конкретными подробностями о замене программы Users по умолчанию на users-admin, чтобы можно было менять группы.
установить системные инструменты gnome с помощью users-admin
sudo apt-get install gnome-system-tools
Переместите старый рабочий стол пользователя, чтобы он не отображался в Unity Control Center
cd /usr/share/applications/
mv unity-user-accounts-panel.desktop unity-user-accounts-panel.desktop.ORIG
Обновление базы данных
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