web-dev-qa-db-ja.com

Mozillaリモートプロトコルを使用してxdg-openでURLを開く

古いバージョンのNetscapeとMozilla(X11用)は、いわゆるリモートプロトコルをサポートしていました。URLを開いたり、Netscape/Mozillaウィンドウでいつでも電子メールの作成を開始することが可能でした。 (必ずしもローカルプロセスからではない)現在のDISPLAYで開いていました。

「リモート」機能はどちらの方法でも機能しました。リモートクライアントからローカルブラウザへ、またはその逆、またはリモート_Host1_からリモート_Host2_への両方がローカルのDISPLAYに接続できる場合。

ここにドキュメントがあります:

リモート要求の基本的なサポートは SeaMonkey でも保持されているため、現在でもopenURL(%url%,new-tab)openURL(%url%,new-window)などの引数をサポートしています

ここで、これらの引数を正確に指定してSeaMonkeyを起動するカスタム_*desktop_ファイルを作成します。

問題は次の形式です。

_[Desktop Entry]
Exec=seamonkey %u
_

_%u_拡張は機能しますが、この1つでは:

_[Desktop Entry]
Exec=seamonkey -remote openURL(%u)
_

それはしません:_%u_がスペースで囲まれている場合、展開されますonly

desktop entry specification はこれについて言及していないため、これは文書化されていない予期しない動作です。

何か回避策を提案できますか?

5
Bass

仕様については何も言えませんが、結果が問題である限り(ただし、このようなファイルでの引用に慣れていない場合)、これが機能することを期待しています。

Exec=bash -c 'echo seamonkey openURL"($1)"' seamonkey-wrapper %u%
4
Hauke Laging

先頭と末尾のパーセント文字を使用した可変パターンの使用法は、DOS風に見えます。freedesktop仕様のリファレンスでは、先頭の文字についてのみ言及しています。

Mozilla Remote Controlオプション のドキュメントによると、コマンドopenURLはオプション_-remote_の引数です。シェルからExecコマンドラインを実行しても、このオプションがないと機能しません。 Fedora上のseamonkey 2.49.5で正常にテストされました。

Exec=seamonkey -remote openURL(%u)を試してみませんか?

0
ua2b