「Ubuntu ソフトウェア」に表示される内容を dpkg/apt エントリにマップするにはどうすればよいでしょうか?

「Ubuntu ソフトウェア」に表示される内容を dpkg/apt エントリにマップするにはどうすればよいでしょうか?

「Ubuntu ソフトウェア」の「インストール済み」セクションに「ドキュメント ビューアー」というアプリケーションがあります。これをクリックすると、どのバイナリ ファイルが呼び出されるか、または dkpg/snap/apt のどのエントリが参照されるか (「docview」ですか? 「doc_view」ですか? 「docviewer」ですか?) を知りたいです。そうすれば、dpkg/apt/snap などのツールを使用してエントリを見つけ、それが何を指しているかを確認できます。

同様の質問に対して Web 上で得た回答はすべて、dpkg/apt/snap の使用を示唆しています。これらのすべてのケースでは、パッケージ名にスペースを含めることはできず、正規化されます。

Windows の場合、「プログラム」->「MyApp」->「詳細」->「プログラム ファイル」を右クリックする (これにより、指定されている .exe の場所が表示されます) のと同じような操作です。

答え1

Installedより良い答えが見つかるまで...タブに表示されるソフトウェア リストは、フォルダー内のファイルUbuntu Softwareから取得されるようです。このフォルダーで関連するエントリを Grep すると、次のようになります。*.desktop/usr/share/applications

# cd /usr/share/applications
# grep "Document Viewer" *.desktop
evince.desktop:Name=Document Viewer

ファイルevince.desktopにはTryExecExec必要なバイナリを指す行が含まれています。

TryExec=evince
Exec=evince %U

これらのエントリには完全なパスがないので、基盤となるマシンがランタイム PATH を参照してバイナリを見つけるものと考えられます。

関連情報