Unityランチャーでいくつかの開いているアプリケーションが「疑問符」として表示されるのはなぜですか?


22

ランチャーが統一されているが起動後に別のアイコンを作成するいくつかのプログラムで問題が発生しています。ランチャーが生成したウィンドウを追跡して、整理しやすくすることは可能ですか?または、これはUnity自体のバグですか?

ここに画像の説明を入力してください

問題ではないかもしれませんが、この特定のプログラムはモノラルプログラムであり、生成されたアイコンがパネルとしてリストされます。


@ j-johan-edwards:どのプログラムにリンクするかはわかりませんが、ソフトウェアセンターで入手できるKeePass2です。
アンドリューレッド

いくつかのケースでは、設定することで、これを軽減することができStartupWMClass、アプリケーションのデスクトップランチャーでプロパティを:askubuntu.com/questions/36434/...
Glutanimate

回答:


23

何が起こっていますか

このような問題は、Unityのアプリケーションマッチングフレームワークに関連しています。技術的な詳細を簡素化するために、プログラムウィンドウとアプリケーションはUbuntuにとって2つの別個のものです。Ubuntuは、どのアプリケーションが特定のウィンドウを所有しているかを「推測」する必要があります。そして、時にはその推測が失敗し、ランチャーに疑問符が表示されます。

失敗の原因は次のとおりです。

  1. BAMFのバグ(上記のアプリケーションマッチングフレームワーク)。
  2. 欠陥のあるアプリケーション記述(別名「.desktop」ファイル)。
  3. アプリケーションの説明がまったくない。ウィンドウを起動する実行可能ファイルには、本質的にこのメタデータはありません。

質問(KeePass2)に示されているアプリケーションには、適切なバグトラッカーに報告されたタイプ1の問題があります

問題の例

以下の例は技術的なものであり、Ubuntuランチャーで独自のアプリケーションを適切に表示したいプログラマーを対象としています。

問題3 –アプリケーションの説明なし

アプリケーションをUnityと統合するには、つまり、ダッシュで検索してランチャーに配置するには、デスクトップエントリが必要です。そのようなエントリが中に配置され/usr/share/applications//usr/local/share/applications/および$HOME/.local/share/applications/(後者二つは、サードパーティのソフトウェア、システム全体とユーザのみのためであるそれぞれ)。これらは.desktop拡張子で終わり、次の基本形式に従います。

[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable

このエントリは、Exec実行可能ファイルを呼び出してプログラムを開始します。そのプログラムはウィンドウやダイアログを表示するたびに、Unityはその実行ファイルは、このアプリケーションの記述に「所属」、および特定の使用していることに気づくだろうNameIconランチャーでを。

これは最低限の例です。正式な仕様は、多くの高度な機能をカバーしています。

問題2 –アプリケーションの説明の誤り

my_app.desktop有効なアプリケーションディレクトリに存在すると仮定しますが、次のとおりです。

  • /file/path/of/my/icon ファイルシステムに存在しません。
  • /file/path/of/my/icon 画像ではありません。
  • エントリはいくつかの不正な構文または無効なタグを使用します。

上記のいずれの場合でも、Ubuntuはランチャーでアプリケーションウィンドウを適切に一覧表示できません。

問題1 – BAMFのバグ

Ubuntu 11.10の時点で、BAMFには、アプリケーションの正しいマッチングを妨げる多数のバグがあります。一般的な(一時的な)落とし穴は次のとおりです。

  • Execパスのシンボリックリンクを通常のファイルではなく、
  • 実行可能ファイルは、メインの実行可能ファイルを起動するスクリプトです。

これらの場合、プログラマには、シンボリックリンクの抽象化を削除したり、実行可能ファイルに直接リンクするなどの回避策を使用する以外の選択肢はありません。これらのどちらも、デスクトップエントリの仕様自体には必要ありません。


もう一つ。との.desktop両方で同じアプリのファイルを作成できます。最初のファイルは、アイコンが指定されていなくても、2番目のファイルをオーバーライドします。~/.local/share/applications//usr/share/applications/

1

ウィンドウは、WM_CLASSプロパティが設定されている場合にのみ、アプリケーションに一致させることができます。X11でこれを行うには、次を使用します。

XSetClassHint( display, window, &class_hints );

フィールド 'res_name'および 'res_class'を持つXClassHint構造体にポインターを渡す必要があります。


-1

16.04には、グレーアウトアイコンを含むいくつかの問題があり、タッチパッドが不安定になる(Acer V15ニトロ)こともあり、ソフトウェアセンター(他のアイコンも)がアイコンから(ターミナルコマンドのみから)開かないこともあります。gnomeソフトウェアをアンインストールして再インストールする推奨事項を見つけました。これを行ってから、システム全体が100%安定し、アイコンがグレー表示されなくなり、完全に動作するようになりました。この変更後に再起動したとき、最初は恐ろしく見えました-再起動時のシステムメッセージがたくさんあるので、自己責任で行ってください。

sudo apt-get autoremove gnome-software && sudo apt-get install gnome-software

2
これは質問とはまったく関係ありません。
マーティンソーントン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.