web-dev-qa-db-ja.com

xdg-openはどのように機能しますか

Manページによると、xdg-openはユーザーが設定したアプリケーションを使用してファイルを開きます。しかし、そのアプリケーションは実際にどのように決定されますか? xdg-utilsに関連付けられた構成ファイルが表示されないので、設定はどこに保存され、どのように変更できますか?シンプルなPNGファイルがWineを使用してInternet Explorerを開く方法を見て、これらの設定を変更する必要があります。

27
MvG

xdg-openファイルの内容を見ると、単純なシェルスクリプトであることがわかります。その主なタスクは、使用中のデスクトップ環境を識別することです。これは、タスクを特定のツールに委任するために使用されます。

  • [〜#〜] kde [〜#〜]kde-openまたはkfmclientにデリゲート
  • Gnomegvfs-openまたはgnome-openにデリゲート
  • Mategvfs-openまたはmate-openにデリゲート
  • [〜#〜] xfce [〜#〜]デリゲートはexo-open
  • [〜#〜] lxde [〜#〜]デリゲートはpcmanfmになり、ほとんどのURLで「汎用」にフォールバックします
  • 啓蒙Enlightenment_openにデリゲート
  • それ以外はすべて「generic」と呼ばれ、スクリプトは自分の運を試します

したがって、中心的なメッセージはこれです。ほとんどの場合、これらのデリゲートの1つが実際の作業を行うので、これらの構成方法を確認する必要があります。

たとえば、私はXFCEを実行しているので、xdg-openexo-openを呼び出します。これは、XFCE設定のユーザーインターフェイスから利用でき、~/.local/share/applications/mimeapps.listに保存されているXFCE設定を使用します。

使用中の構成ファイルの詳細については、strace -e fileが役立ちます。また、「一般的な」状況でxdg-open自体の機能を確認したい場合は、sh -x `which xdg-open` file.nameをお試しください。

27
MvG