มีวิธีการลงทะเบียนตัวจัดการโปรโตคอล URL ด้วย Gconf ซึ่งตอนนี้ล้าสมัยและดูเหมือนว่าจะไม่มีวิธีการทำเช่นเดียวกันกับ DConf (หรือ Gsettings ซึ่งเป็น wrapper ที่แนะนำ)
หนึ่งจะลงทะเบียนตัวจัดการโปรโตคอล URL อย่างถูกต้องตั้งแต่ DConf อย่างไร
นอกจากนี้มีบางอย่างที่แปลกสำหรับฉัน (เช่นที่ฉันไม่เข้าใจ) บน 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(และสิ่งอื่น ๆ ที่ไม่เกี่ยวข้องกับกรณีนี้)
ปรับปรุง
อีกวิธีในการ "ลงทะเบียน" ตัวจัดการโปรโตคอลคือกับ*.desktopไฟล์และ MIME-Type; 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.barapturl
ดังนั้นฉันติดตั้งสิ่งนี้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 และไม่ได้จัดการตามปกติ
วิธีทางไฟล์เดสก์ท็อปไม่ตอบคำถาม