xdg-open
を使用してirc://
リンクを開きたいのですが、必要なパラメーターを作成するにはどうすればよいですか?
xdg-openは基本的にどのデスクトップ環境があるかを確認し、gnome-open、gvfs-open、xfce-openなどを実行します。デスクトップ環境固有の手順については以下を参照してください...
Gnomeは、gconfを使用してすべてを保存するgnome-openプログラムを使用します。たとえば、gnome-open irc:// blahを実行しているUbuntu 10.10を搭載したマシンでは、xchatにirc://ハンドラーを追加するgconf設定パッチが含まれているため、xchatが開きます。
これは、/desktop/gnome/url-handlers/
のgconf設定で、gnomeがこれを行う方法を示しています。例としてxchat-2.8.8/src/common/dbus/apps_xchat_url_handler.schemas
を参照してください。
KDEの場合は、/ usr/share/kde4/services /にある.protocolファイルを確認し、新しいプロトコル用に新しいものを作成し、〜/ .kde/share/kde4/services /に配置する必要があります。他のユーザーの修正としてパッケージに追加することを検討してください。
KDEは、使用可能なKDEのバージョンと使用しているKDEのバージョンに応じて、kde-openまたはkfmclientを使用しています。
XFCEはexo-openと呼ばれるプログラムを使用します。このプログラムには、それを構成したり、uriハンドラーを追加したりする方法はありません。ソースコードを見ると、デスクトップファイルを使用して3種類のプログラムのみを指定していることがわかります。 TerminalEmulator、WebBrowser、およびEmailClient。
XFCE4(およびおそらくその他)を使用すると、xdg-openを構成してカスタムプロトコルハンドラーを定義できます。一部では、次のファイルを作成/編集する必要があります。
〜/ .local/share/applications/protocolhandler.desktop〜/ .local/share/applications/mimeapps.list
Ed2kプロトコルのハンドラーを追加する例は、stackexchange.com 2 で提供されています。
magnet:
URIタイプと送信(つまり、ビットトレントの場合)でこれを説明しますが、同じ方法を任意のスキームまたはファイルタイプに適用できます。
また、Debian Jessieでこれを確認しましたが、実際にはUbuntuマシンはありませんが、同じように動作するはずです(少なくともxdg-open、ファイルマネージャに注意してください別のロジックを使用することもできます)。
MIMEタイプ文字列を見つけます。ファイルMIMEタイプについては、fileコマンドで見つけることができます。 :
$ file -i Broken_Blossoms.webm Broken_Blossoms.webm: video/webm; charset=binary $
上記のファイルの場合、MIMEタイプはvideo/webm
です。
URIハンドラーの場合、タイプはx-scheme-handler/<scheme>
です。ここで、<scheme>
はURIのコロンの前の部分です。 「http」、「mailto」、「irc」または「magnet」。有効なMIMEタイプの例を次に示します。
x-scheme-handler/http
x-scheme-handler/irc
x-scheme-handler/magnet
x-scheme-handler/mailto
アプリケーションの.desktopファイルの名前を見つけます。
多くの場合、「公式」の名前と同じではなく、小文字のバージョン、または完全に異なる名前です。インストールされた.desktopファイルは、/ usr/share/applicationsの下にあります。これらは通常のテキストファイルであり、「正式な」名前が含まれているため、次のコマンドが役立ちます。
$ grep "Transmission" -l -r /usr/share/applications /usr/share/applications/transmission-gtk.desktop $
このコマンドは、「Word 'Transmission'を含むこのディレクトリの下のファイルを一覧表示する」という意味です。一部のアプリケーションはユーザー専用にインストールされる場合があります。その場合、パスは~/.local/share/applications
になります。
ファイルをまったく持たない「奇妙な」アプリケーションがある場合は、いつでも作成できます(そしておそらくアプリ開発者に送信できます)。簡単な方法は、既存のものをコピーし、理解しているフィールドを書き換えて、理解していないフィールドを削除することです。詳細については、 specification を参照してください。
xdg-mimeコマンドを使用して、割り当てを行います:
$ xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet $
ファイルの実際の場所(/usr/share/applications、~/.local/share/applications ...)に関係なく、常に名前のみを使用することに注意してください、フルパスではありません。
通常、コマンドは何も出力しません-それで構いません。実行したことを確認したい場合、またはMIMEタイプを開かずに現在割り当てられているものを確認したい場合:
$ xdg-mime query default x-scheme-handler/magnet transmission-gtk.desktop $
注1:他のMIMEタイプをチェックアウトする場合は、/ etc/mime.typesを参照してください。世界のすべてのタイプが含まれているわけではありません。たとえばURIハンドラーですが、アソシエーションを処理する「積極的な」形式に使用できます。例えば:
grep ^video/ | cut -d\t -f1 | xargs xdg-mime default vlc.desktop
すべての既知のビデオ形式をVLCに関連付けます。
注2:.desktopファイルには、MimeType
フィールドを使用して処理できると主張するMIMEタイプのリストが含まれていることがよくあります。 xdg-mimemanページには、上記のコマンドが機能する前に.desktopファイルがMIMEタイプを要求する必要があると書かれていますが、私にとってはフィールドがなくても機能するようです。 (つまり、関連付けが適用され、アプリケーションが起動します-本当に処理できる場合、タイプを処理することは別の質問です)。何が欠点なのか分かりません(将来的にはxdg-mimeがより制限されるかもしれません)。
手動でインストールされたPostmanアプリ(chrome拡張機能ではなく)にpostman
リンクを関連付けて、ブラウザーから次のようにpostmanドキュメントを開くことができるようにしました。
関連付けたいリンクは次のようになります。
postman://app/collections/import/39995-2b0394ab-b007-488d-9a0a...
関連付けを行うには、次の手順を実行しました。
/home/andrzej.rehmann/software/postman/
にアプリを手動でインストールします(tar.gzをダウンロードして解凍します)。/usr/share/applications/Postman.desktop
にデスクトップファイルを作成します[Desktop Entry]
Version=1.0
Type=Application
Name=Postman
Icon=/home/andrzej.rehmann/software/postman/app/resources/app/assets/icon.png
Exec="/home/andrzej.rehmann/software/postman/Postman" %u
Comment=Develop with pleasure!
Categories=Development;
Terminal=false
StartupWMClass=Postman
postman
xdgリンクをアプリケーションに関連付けます。xdg-mime default Postman.desktop x-scheme-handler/postman
誰かが興味を持っている場合、この設定を無効にしました: https://github.com/hoto/ansible-home-Fedora/blob/Fedora/roles/postman/tasks/postman_installer.yml