ウィンドウでパッケージを識別しますか?

ウィンドウでパッケージを識別しますか?

ダイアログやウィンドウに小さなバグが見つかることがあります。たとえば、サウンド設定ダイアログに非常に小さなバグが見つかりました。報告しようと思いましたが、どのパッケージがそのダイアログを提供しているのかがわかりませんでした。

それを実行するための簡単なツールはありますか? xwininfo のようなものを想像しています。コマンドを実行すると、マウス ポインターが変化し、ウィンドウをクリックすると、コマンドがパッケージ名を返します。このようなコマンドを使用すると、バージョン情報やディストリビューションを収集し、適切なページでバグ トラッカーを開くように拡張することが簡単になります。

以前は「ヘルプ > 問題の報告」がありましたが、Gnome コントロール センターはメニューを使用しないため、そのオプションは使用できません。もちろん、これはメニューを使用しないすべてのウィンドウに当てはまります。では、代替手段はありますか?

答え1

ターミナル(ctrl- alt- t)を開いて、次のように入力します。

ubuntu-bug -w

ウィンドウをクリックして、そのウィンドウを所有するアプリケーションに関するバグレポートを提出するように指示するメッセージがポップアップ表示されます。

ちなみに、これは apport を使用します。apport は多くの有用なデバッグ情報を自動的に収集し、Ubuntu のバグを報告するための推奨される方法です。

答え2

上記の roadmr の回答は、これまでのところ最善の方法ですが、正しいソース パッケージを返す bash ワンライナーを思い付くことができるかどうかを確認したいと思いました。どうやら または にパイプできないため、想像していたよりもさらに面倒dpkgですwhich

dpkg -S $(which $(xprop | grep "WM_CLASS(STRING)" | grep -o "\".*\"" | cut -d "," -f 1 | tr -d '""')) | cut -d ":" -f 1

これを少し詳しく見てみましょう。 およびgrepcut単に文字列を検索して操作するだけです。興味深いのは次の点です。

  • xprop- クリックしたウィンドウに関する情報を確認できます。

  • which- 使用されたコマンドのフルパスを返します。例:

    $ which  gnome-control-center
    /usr/bin/gnome-control-center
    
  • dpkg -S- ファイルを指定すると、そのファイルのソース パッケージの名前が提供されます。バイナリ名とソース パッケージ名が異なる場合に非常に便利です。例:

    $ dpkg -S /usr/bin/orca
    gnome-orca: /usr/bin/orca
    

関連情報