2

私の要件は、LinuxシステムでFirefoxを使用してカスタムプロトコルハンドラーを実行することです。

/ usr / share / Applicationsにmyapp.desktopファイルを作成することで、Ubuntuにプロトコルハンドラーを正常に追加しました。内容はこんな感じです。

[Desktop Entry]
Name=myapp
Comment= My Custom protocol handler
Exec=/path/to/my/application %U
Icon=myicon
Terminal=0
Type=Application
X-MultipleArgs=True
MimeType=x-scheme-handler/myapp
Encoding=UTF-8
Categories=Network;Application;

その後、update-desktop-databaseを実行します。すべての設定が完了し、UbuntuのFirefoxブラウザーまたはFedoraでmyapp://と入力すると、myappが呼び出されました。

同じ手順はCentosまたはOpenSUSEでは機能しませんが。CentOSとOpenSUSEで次のことを試しましたが、うまくいきませんでした。

gconftool-2 -t string -s /desktop/gnome/url-handlers/myapp/command "/path/to/my/app %U"
gconftool-2 -s /desktop/gnome/url-handlers/myapp/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/myapp/enabled true

プロトコルハンドラーをcentosとopensuseで機能させるのを手伝ってください。私はcentos-6.2とopensuse11.2を使用しています

前もって感謝します。

4

1 に答える 1

2

私はその理由を理解しました。gconftoolを実行すると、URLハンドラーが追加されます。これらのコマンドは、root権限を取得するrpmpostスクリプトの一部として実行していました。したがって、URLハンドラーはユーザーに登録されませんでした。ユーザーとして手動で実行すると、ブラウザにmyapp://と入力すると、Firefoxがmyappを呼び出す可能性があります。

于 2012-08-16T18:07:11.860 に答える