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
を開くと、/desktop/gnome
にURLハンドラーまたはプロトコルに関連するものが表示されません私の目には少し乱雑に見えます(この言葉遣いでからかうだけで、悪いことは何もありません)
下に何がありますか?
サイドノート:gsettings-daemon
(およびこの場合とは関係のないその他の要素)のみをロードしてi3wmセッションを実行する場合など、フルデスクトップ環境がロードされていない場合でも動作することが望ましいものを探しています。
プロトコルハンドラを「登録」するもう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
がapturl
ではなくSoftware Centerを開く理由を説明しています。
そこで、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-open
とgnome-open
の両方が同じことを行い、このユーザーデスクトップファイルを無視します。これは、通常のユーザーデスクトップファイルでは、/usr/share/applications/
。
x-scheme-handler
MIMEタイプを指定するデスクトップファイルには特別なものがあり、通常の方法で処理されない場合があります。
デスクトップファイルの方法では質問に答えません。
~/.local/share/applications/mimeapps.list
を開き、次のような行を追加します。
x-scheme-handler/apt=apturl.desktop
xdg-mime
もっとエレガントかもしれません(この例では "apt"を使用します。他のスキームに変更します):
/usr/share/applications/defaults.list
に登録されているMIMEタイプを確認してください。apt.desktop
ファイルを~/.local/share/applications/
または/usr/share/applications/
に追加します( ここの例 )。update-desktop-database
プロトコルを登録する
xdg-mime default apt.desktop x-scheme-handler/apt`
これにより、スキームの新しいMIMEタイプが~/.local/share/applications/mimeapps.list
に追加されます。システムSudo xdg-mime install --mode system <xml file>
上のすべてのユーザーに対して、新しいMIMEタイプを登録できます。
xdg-open "apt://foo.bar"
でテストする