Esisteva un modo per registrare i gestori del protocollo URL con Gconf, che ora è obsoleto e sembra che non ci sia modo di fare lo stesso con DConf (o Gsettings, il suo wrapper consigliato).
Come si registra correttamente un gestore di protocollo URL dal DConf?
Inoltre, qualcosa mi sembra strano (come non lo capisco) sul mio Ubuntu 12.04
Il protocollo apt://dovrebbe essere gestito dal apturlcomando. È così con il mio browser Opera, ma solo perché ho aggiunto questa associazione specifica usando la funzione di configurazione del browser. Altrimenti, nel resto dell'ambiente:
- La corsa si
xdg-open apt://foo.barapreelinks(la miawww-browseralternativa). - L'esecuzione
gnome-open apt://foo.barapre il Software Center. - Aprendo
gconf-editor, vedo una chiave il/desktop/gnome/url-handlers/aptcui valore èapturl "%s"ed è abilitato. Questa configurazione sembra essere ignorata, cosa ragionevolmente prevista, poiché GConf è considerato obsoleto. - In apertura
dconf-editor, non riesco a vedere nulla di correlato ai gestori o ai protocolli URL in/desktop/gnome
Mi sembra un po 'confuso ai miei occhi (stuzzicando solo questa frase, niente di male)
Cosa c'è sotto?
Nota a margine: sto cercando qualcosa che preferibilmente funzioni anche quando l'ambiente desktop completo non è caricato, come quando si esegue una sessione i3wm con solo gsettings-daemon(e altre cose non correlate a questo caso) caricate.
Aggiornare
Un altro modo per "registrare" un gestore di protocollo è con i *.desktopfile e il loro tipo MIME; es MimeType=application/<the-protocol>;.
Ho trovato un /usr/share/applications/ubuntu-software-center.desktopcon questo contenuto:
[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;
Questo spiega perché gnome-open apt://foo.barapre il Software Center anziché apturl.
Quindi ho installato questo apturl.desktopin ~/.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;
Dopo update-desktop-databasee anche dopo il riavvio, entrambi xdg-opene gnome-opencomunque fanno lo stesso e ignorano questo file desktop dell'utente, che come al solito con i file desktop dell'utente, dovrebbe sovrascrivere quello in /usr/share/applications/.
Forse c'è qualcosa di speciale con i file desktop che specificano il x-scheme-handlertipo MIME e non sono gestiti nel solito modo.
Il modo del file desktop non risponde alla domanda.