基本的なUbuntuデスクトップのURLプロトコルハンドラー


16

URLプロトコルハンドラーをGconfに登録する方法がありましたが、現在は廃止されており、DConf(または推奨されるラッパーであるGsettings)で同じことを行う方法はないようです。

DConf以降、URLプロトコルハンドラーを適切に登録するにはどうすればよいですか?

さらに、私のUbuntu 12.04では、何かが奇妙に見えます(理解できないので)

プロトコルapt://apturlコマンドで処理する必要があります。Operaブラウザでもそうですが、ブラウザの設定機能を使用してこの特定の関連付けを追加したからです。それ以外の場合、残りの環境では:

  • 実行xdg-open apt://foo.barが開きますelinks(私のwww-browser代替手段)。
  • 実行gnome-open apt://foo.barすると、ソフトウェアセンターが開きます。
  • を開くとgconf-editor/desktop/gnome/url-handlers/apt値がapturl "%s"有効になっているキーが表示されます。GConfは廃止されたと見なされているため、この構成は無視されるようです。
  • を開くとdconf-editor、URLハンドラーまたはプロトコルに関連するものが表示されません/desktop/gnome

私の目には少し乱雑に見えます(この言葉遣いでからかうだけで、悪いことは何もありません)

下に何がありますか?

サイドノート:私は、完全なデスクトップ環境がロードされていない場合でも動作することが望ましいものを探しています。たとえば、i3wmセッションを実行するだけでgsettings-daemon(そして、このケースに関係のない他のもの)ロードします。

更新

プロトコルハンドラを「登録」するもう1つの方法は、*.desktopファイルとそのMIMEタイプを使用することです。例えばMimeType=application/<the-protocol>;

/usr/share/applications/ubuntu-software-center.desktopはこのコンテンツで見つけました:

[Desktop Entry]
Name=Ubuntu Software Center
GenericName=Software Center
Comment=Lets you choose from thousands of applications available for Ubuntu
Exec=/usr/bin/software-center %u
Icon=softwarecenter
Terminal=false
Type=Application
Categories=PackageManager;GTK;System;Settings;
MimeType=application/x-deb;application/x-debian-package;x-scheme-handler/apt;
StartupNotify=true
X-Ubuntu-Gettext-Domain=software-center
Keywords=Sources;PPA;Install;Uninstall;Remove;Purchase;Catalogue;Store;

これはなぜのgnome-open apt://foo.bar代わりにSoftware Centerを開くのかを説明していますapturl

だから私はこれをインストールしapturl.desktopました~/.local/share/applications

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/apturl %u
Name=APT‑URL
Comment=APT‑URL handler
Icon=
Categories=Application;Network;
MimeType=x-scheme-handler/apt;

後にupdate-desktop-database、さらには、再起動後の両方xdg-opengnome-openも同じ操作を行うと、ユーザーのデスクトップ・ファイルといつものように、1つをオーバーライドする必要があり、このユーザーのデスクトップファイルを、無視します/usr/share/applications/

たぶん、x-scheme-handlerMIMEタイプを指定するデスクトップファイルには特別なものがあり、通常の方法では処理されません。

デスクトップファイルの方法では質問に答えません。


回答:


9

次の~/.local/share/applications/mimeapps.listような行を開いて追加します。

x-scheme-handler/apt=apturl.desktop

ええ、HTTP、MAILTO、その他のいくつかについては理解できました。
Hibou57

そのようなフォルダはありません。ルートから検索しましたが、見つかりませんでした。
Vlas Bashynskyi

@VlasBashynskyi、場所はmimeapps.list異なる場合があります。ファイル名の検索を実行することをお勧めします。
Hibou57

4

xdg-mime

よりエレガントかもしれません(この例では"apt"を使用し、他のスキームに変更します):

  1. に登録されているMIMEタイプを確認し/usr/share/applications/defaults.listます。
  2. apt.desktopファイル(ここではいくつかの例)を~/.local/share/applications/(ユーザー全体)または/usr/share/applications/(システム全体)に追加します。
  3. デスクトップファイルによって処理されるMIMEタイプのキャッシュデータベースを構築します。 update-desktop-database
  4. プロトコルを登録する

    xdg-mime default apt.desktop x-scheme-handler/apt`
    

    これにより、スキームの新しいMIMEタイプがに追加されます~/.local/share/applications/mimeapps.list。システム上のすべてのユーザーに新しいmime-typeを登録できますsudo xdg-mime install --mode system <xml file>

でテストしxdg-open "apt://foo.bar"ます。

MIMEタイプの追加も参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.