web-dev-qa-db-ja.com

GNOMEウィンドウマネージャーにアプリケーションを追加するにはどうすればよいですか?

GNOMEのオンボードドキュメントは、誰でも簡単に推測できるものだけをカバーしています。コマンドラインからしか起動できないアプリケーションがあります。端末を使ってもかまいませんが...

とにかく、どうすればコマンド(およびできればNiceロゴ)をGNOME WMに追加できますか?

59
mart

[〜#〜] gnome [〜#〜] およびその他の freedesktop.org に準拠したデスクトップ環境では、 [〜#〜] kde [〜#〜]Unity などのように、アプリケーションはデスクトップのデスクトップに追加されますデスクトップエントリを介したメニューまたはデスクトップシェル、.desktop拡張子付きのテキストファイルで定義(デスクトップファイルと呼ばれる) )。デスクトップ環境は、利用可能なデスクトップエントリから抽出された情報を組み合わせて、ユーザーのメニューを構築します。

デスクトップファイルは、次の2つの場所のいずれかに作成されます。

  • /usr/share/applications/システムのすべてのユーザーが使用できるデスクトップエントリの場合
  • ~/.local/share/applications/は、単一のユーザーが使用できるデスクトップエントリの場合

新しく追加されたアプリケーションを機能させるには、GNOMEを再起動する必要がある場合があります。

慣例により、デスクトップファイルの名前にはスペースや国際文字を含めないでください。

各デスクトップファイルはgroupsに分割され、それぞれが角かっこ([])で囲まれたグループヘッダーで始まります。各セクションには、等号(=)で区切られたkeyvalueのペアがいくつか含まれています。

以下は、デスクトップファイルのサンプルです。

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application

説明

  • [Desktop Entry]Desktop Entryグループヘッダーは、ファイルをデスクトップエントリとして識別します
  • Typeエントリのタイプ。有効な値はApplicationLinkおよびDirectoryです。
  • Encoding文字エンコーディング デスクトップファイル
  • Nameメニューまたはランチャーに表示されるアプリケーション名
  • Commentツールチップで使用されるアプリケーションの説明
  • Iconメニューまたはランチャーのアプリケーションに表示されるアイコン
  • Execシェルからアプリケーションを起動するために使用されるコマンド。
  • Terminalアプリケーションをターミナルで実行する必要があるかどうかにかかわらず、有効な値はtrueまたはfalseです。
  • エントリが表示されるメニューカテゴリのCategoriesセミコロン(;)で区切られたリスト

Execキーのコマンドライン引数は、次の変数で表すことができます。

  • %f単一のファイル名。
  • %F複数のファイル名。
  • %u単一のURL。
  • %U複数のURL。
  • %d単一のディレクトリ。 %fと組み合わせて使用​​して、ファイルを検索します。
  • %D複数のディレクトリ。 %Fと組み合わせて使用​​して、ファイルを検索します。
  • %nパスのない単一のファイル名。
  • %Nパスのない複数のファイル名。
  • %kデスクトップファイルの場所のURIまたはローカルファイル名。
  • %vデバイスエントリの名前。

~または$HOMEのような環境変数はデスクトップファイル内で展開されないため、参照される実行可能ファイルは$PATHにあるか、または絶対パスを介して参照される必要があります。

完全な Desktop Entry Specification は、 GNOME Dev Center で入手できます。

起動スクリプト

起動するアプリケーションを呼び出す前に特定の手順を実行する必要がある場合は、アプリケーションを起動するシェルスクリプトを作成し、デスクトップエントリにシェルスクリプトを指定できます。アプリケーションを特定の現在の作業ディレクトリから実行する必要があるとします。適切な場所(たとえば、~/bin/)に起動スクリプトを作成します。スクリプトは次のようになります。

#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd

スクリプトの実行可能ビットを設定します。

$ chmod +x ~/bin/launch-application

次に、デスクトップエントリのExecキーを起動スクリプトにポイントします。

Exec=/home/user/bin/launch-application
96
Thomas Nyman

Thomas Nymanからの非常に良い答え。

Gnomeには、*。desktopファイルの作成を支援するGUIツールgnome-desktop-item-editが付属しています。コマンドラインから使用するか、デスクトップファイルを作成する必要があります。

gnome-desktop-item-editからGnomeアプリケーションを作成する手順

  1. ターミナルウィンドウを開き、次のコマンドを入力します。

    gnome-desktop-item-edit --create-new/home/[ユーザー名] /。local/share/applications

  2. 開いたウィンドウで、以下を入力します。 enter image description here

    Name: Gnome Applicaiton

    Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications

    アイコンをクリックして、別のアイコンを選択します。

  3. [OK]をクリックしてウィンドウを閉じます

  4. ターミナルウィンドウを閉じる

新しく生成されたGnome Applicationのテスト

  1. オープンダッシュ
  2. タイプアプリケーション
  3. 前に入力したGnome Applicationが表示されます
  4. それを選択してください
  5. 別のアプリケーションを作成する
13
Dudi Boy

Thomas NymanとDudi Boyからの以前の回答は非常によく、詳細です。他の投稿で疑問に対する答えが見つからず、gitの問題で検索する必要があったため、これを投稿しています。

Thomas Nymanが提案したような手順を実行した後、プログラムのアイコンをアプリメニューに表示することができました。ここでの問題は、サイドバーとしてDash to Dockを使用していて、アイコンを他のアイコンのようにお気に入りとしてピン留めできないことです。検索したところ、StartupWMClass=ApplicationNameファイルに.desktopという行を追加する必要があることがわかりました。その後、Dash to Dockのアイコンを右クリックすると、お気に入りに追加するオプションが表示されます。

2
JonLord