มีวิธีการลงทะเบียนตัวจัดการโปรโตคอล 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.bar
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-open
และgnome-open
ยังคงทำเช่นเดียวกันและละเว้นไฟล์เดสก์ท็อปผู้ใช้ซึ่งตามปกติด้วยไฟล์เดสก์ท็อปผู้ใช้ควรแทนที่ไฟล์/usr/share/applications/
ดังกล่าว
อาจมีบางสิ่งที่พิเศษกับไฟล์เดสก์ท็อปที่ระบุx-scheme-handler
ประเภท MIME และไม่ได้จัดการตามปกติ
วิธีทางไฟล์เดสก์ท็อปไม่ตอบคำถาม