web-dev-qa-db-ja.com

システム設定ウィンドウにカスタム項目を追加することは可能ですか?

たとえば、「スタートアップアプリケーションの設定」ランチャーをこのウィンドウに追加する方法は?

System Settings window in 11.10

21
disfated

システム設定にカスタムアプリエントリを追加する

Custom Entries in System Settings カスタムアプリをSystem SettingsGnome Control Center)に追加するには、デスクトップエントリファイル-/usr/share/applications/{appname}.desktopを見つけて編集し、次のエントリが存在することを確認します。

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

{appname}を、システム設定に追加するアプリの名前に置き換えます。 xxxxxは、アプリを表示するSectionを決定します。 xxxxxを次の可能なオプションのいずれかに置き換えます。
X-GNOME-PersonalSettings-個人セクション
HardwareSettings-ハードウェアセクション(プレフィックスX-GNOMEは使用されないことに注意してください)
X-GNOME-SystemSettings-システムセクション

Edit desktop entries to show in System Settings

変更後、次のコマンドを実行します。

Sudo update-desktop-database

これは、Ubuntu 12.04 LTS12.04 withgnome-control-centerバージョン3.4.2-0ubuntu0.12

注意事項

  1. システム設定は~/.local/share/applicationsのデスクトップファイルを認識しないため、1人のユーザーだけのアプリをシステム設定に追加することはできません。
  2. Manish Sinha in this Answer で述べたように、Ubuntuはgnome-control-centerとUbuntu固有のパッチを使用して、カスタムエントリの追加を可能にします。その結果、このメソッドはUbuntu固有であり、他のディストリビューションで使用されるVanilla gnome-control-centerでは機能しません。
16
lancer

11.10

現在、システム設定へのカスタム項目の追加は、GNOMEからのアップストリームをサポートしていません

Ubuntuは、システム設定gnome-control-centerにパッチを適用して、独自のUbuntu固有のエントリを含めることができるようにします。

簡単に言えば、libgnome-control-center-devをインストールし、libgnome-control-center-dev for pkg-configを使用してgnome-control-centerパッケージに対してビルドされたアプリケーションのラッパーを作成する必要があります

現在、それを追加するための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_.
4
Manish Sinha

Ubuntu 14.04 ltsの@lancerからの回答の更新:

どこかのブログ投稿で読むことができたので、ubuntuチームからのgnome-system-settingsのフォークから来るかもしれません(どこで思い出せない..:/)

とにかく、次の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;
3
StephaneAG

グループを変更できるように、デフォルトのユーザープログラムをusers-adminに置き換える特定の詳細を含む14.04の更新。

  1. users-adminを使用してgnomeシステムツールをインストールする

     Sudo apt-get install gnome-system-tools
    
  2. Unity-Control Centerに表示されるようにユーザー管理デスクトップを編集します-以下のエントリーを参照してください
  3. Unity Control Centerに表示されないように古いユーザーのデスクトップを移動する

    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
1
Moonwatcher