回答:
このリストは、次の場所にある.desktopファイルを分析して作成されます。
/usr/share/applications
~/.local/share/applications
アプリケーションごとに複数のユースケースが存在する可能性があります。たとえば、banshee
デフォルトで3つの.desktopファイルを持つメディアプレーヤーを例にとります。
$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop
これらのファイルの唯一の違いは、開始パラメーターとMimeTypeリストです。
banshee-1.desktop
:一般的なメディアファイルbanshee-1-audiocd.desktop
:オーディオCDbanshee-1-media-player.desktop
オーディオプレーヤー(またが使用するrhythmbox
、vlc
など)したがって、「開く」リスト(および「メインメニュー」)には3つの「Banshee Media Player」があります。
このスペースを埋めるもう1つの方法は、個人用の.desktopファイルをで作成することです~/.local/share/applications
。手動で、またはツールを使用して。alacarte
(または[メインメニュー]-> [メニューの編集]を右クリック)もその1つです。
内alacarte
でアプリケーションを作成または移動するたびに、新しい.desktopファイルが内に配置され~/.local/share/applications
ます。アプリケーションを無効にすると、「メインメニュー」から「削除」されますが、「アプリケーションから開く」リストからは削除されません。
しかし、「削除」ボタンは、.desktopファイルに同一のコピーを作成/usr/share/applications
し~/.local/share/applications
て追加するHidden=true
ことにより、システム全体の継承値を「上書き」します。
これらのエントリのうち2つを削除すると、次のalacarte
結果が得られます。
$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop
エントリを削除する~/.local/share/applications
と、既存の状態(3つのbanshee
アイテム)に戻ります。
これらの2つのフォルダーに重複がない場合は、対応する.desktopファイルのオプションから重複を削除するかalacarte
、遊んでみてくださいHidden=true
。
このスレッドが古いことを認めて、私は自分でこの問題に困惑しました。個人的には、ファイルを削除したり、「クリーンアップ」を再生したりする必要はなく、現在のユーザー向けに微調整するだけだと感じました。複数の.desktopファイルがある場合、それぞれに一意の説明を付けることはできませんか?Linuxに関しては、特定のアプリ開発者はこのような単純なことを本当に見落としていましたか?
テキストエディタで.desktopファイルを開くと、[ 名前を付けて開く]メニューに表示される[ 名前]フィールドが見つかりました。そのため、私にとっては、問題を作成していることがわかっている.desktopファイル(たとえば、3つのBansheeファイル)を探しました。それぞれを見ると、違いはほとんどの場合、ショートカットが処理しているMIMEタイプに関係していました。これは、一部のプログラムがmimetypeに応じて異なるパラメーターを渡すことを好むためです。1つのインスタンスでのみ、古い.desktopファイルをクリーンアップせずにアプリケーションのアップグレードの結果として重複エントリを見つけました
その発見を武器に、既知の重複エントリの名前フィールドを変更して、これを反映させました。たとえば、BansheeがオーディオCDを処理するために特別に作成した.desktopファイルを編集するには、名前をそのように読みました。
バンシー(オーディオCD)
Rhythmboxも良い例です。CD+ MP3プレーヤーを処理するための個別の.desktopファイルがありますが、それぞれが同じように表示されます。私の推測では、1つのファイルがアプリケーションをロードし、ライブラリではなくユニットに焦点を合わせています。これは、MP3 / OGGファイルを処理するときにこれを発生させたくないので、名前を変更する価値があります。
とにかく、これは有用と思われるファイルを削除することなく、Open Withメニューがきれいに見えると思います。これらの変更がアプリケーションの更新間で持続するかどうかはまだわかりません...しかし、それらはスクリプト化することさえできる簡単で迅速な編集です。その場合、シェルは非常に役立ちます。たとえば、そのような重複したエントリを持つすべてのファイル名(およびパス)を表示するには:
grep -rl "^Name=Banshee$" /usr/share/applications
「Banshee」はもちろん、Open Withメニューに複数回表示されるものです。上に示した例では、アプリはGeanyと呼ばれていました。
これにより、結果ファイルをエディターに直接送信できます。あなたが正規表現の専門家でない場合、^および$はそれぞれ行頭と行末を指定します。これにより、システムは次のような行を検出しXGnome-FullName=Banshee Media Player
なくなります。また、すでに修正されている可能性のあるエントリを検出できなくなります。
jhbuild.desktop
し、mimeapps.list
中〜/ .localの/ share / applicationsに。また、/ usr / share / applicationsにはだまされていないため、まだ問題が発生しています。