apt-get/aptitudeがインストールされているプログラムのメニュー項目を生成しない場合はどうすればよいですか?

apt-get/aptitudeがインストールされているプログラムのメニュー項目を生成しない場合はどうすればよいですか?

明らかに、この問題はDebianベースの設定にのみ当てはまります。

パッケージをインストールするために、aptitudeまたはapt-getを使用することがよくあります。説明するメニュー項目が作成されました。実際、メニュー項目は表示されません。どうやら自分で作成することもできますが、それを行うにはバイナリの実際の名前(多くの場合はパッケージ名とは異なる)を知る必要があります。どのディレクトリにインストールされているかを簡単に知る方法が必要です。

だから、

  1. メニュー項目の作成が失敗する理由を知っている人はいますか?
  2. 独自のメニュー項目を作成できるようにバイナリの場所/名前に関する情報を取得するにはどうすればよいですか?

答え1

メニュー項目が作成されたことを示すメッセージが表示された場合は、パッケージが次のように/usr/share/menu1つ以上のメニュー項目を記述するファイルを入れたことを意味します。Debian メニューポリシー。これメニューシステムに関する文書(参考資料にもあります/usr/share/doc/menu)は、このファイルの構文を説明します。すべてのウィンドウマネージャにはシステムメニューが含まれている必要があります。しかし、Gnomeは標準的な作業を行いません(それで新機能は何ですか)。

/usr/share/applications/*.desktopGnomeとKDEは、の項目で構成されるメニューを表示します/usr/share/applnk/**/*.desktopFreedesktopメニュー仕様。すべてのパッケージがこれを提供するわけではありません。.desktopDebianエントリに基づいてファイルを生成することによって~/.config/menus/

答え2

あなたはそれを使用することができます:

dpkg -L package-name-goes-here

...特定のパッケージ用にインストールされているファイルのリストを取得します。実行可能ファイルのみが必要な場合:

for file in `dpkg -L package-name-goes-here`
do
  if [ -x $file -a ! -d $file ] # must be executable, but not a directory.
  then
    echo $file
  fi
done

これは素朴で急いで書かれたスクリプト以上の作業が完了しました。使用法: exec-files-from-package [package]

答え3

バイナリファイルを見つける簡単な方法:dpkg -L $pkg |grep bin/

関連情報