Temel Ubuntu Masaüstü'nde URL protokolü işleyicileri


16

URL protokol işleyicilerini artık eski olan Gconf'a kaydetmenin bir yolu vardı ve aynı şeyi DConf (veya önerilen paketleyici Gsettings) ile yapmanın bir yolu yok gibi görünüyor.

DConf'tan beri bir URL protokolü işleyicilerini nasıl düzgün şekilde kaydedebilirim?

Ek olarak, Ubuntu 12.04'ümde bir şey bana garip görünüyor (anlamadığım gibi)

Protokol komut apt://tarafından ele alınmalıdır apturl. Opera tarayıcımda öyle, ancak yalnızca bu özel ilişkilendirmeyi tarayıcının yapılandırma özelliğini kullanarak eklediğim için. Aksi takdirde, çevrenin geri kalanında:

  • Koşu xdg-open apt://foo.baraçılır elinks(benim www-browseralternatifim).
  • Çalışıyor gnome-open apt://foo.barYazılım Merkezi'ni açar.
  • Açılıyor gconf-editor, /desktop/gnome/url-handlers/aptdeğeri olan apturl "%s"ve etkin olan bir anahtar görüyorum . GConf'un eski olduğu düşünüldüğünde, bu yapılandırma göz ardı edilmektedir.
  • Açılıyor dconf-editor, URL işleyicileri veya protokolleri ile ilgili hiçbir şey göremiyorum/desktop/gnome

Gözlerime biraz dağınık görünüyor (sadece bu ifadeyle alay ediyor, kötü bir şey yok)

Altında ne var?

Yan not: Tam masaüstü ortamı yüklü olmadığında bile, yalnızca gsettings-daemon(ve bu durumla ilgisi olmayan) yüklü bir i3wm oturumu çalıştırırken olduğu gibi çalışan bir şey arıyorum .

Güncelleme

Bir protokol işleyicisini “kaydetmenin” başka bir yolu da *.desktopdosyalar ve bunların MIME Tipidir; örn MimeType=application/<the-protocol>;.

/usr/share/applications/ubuntu-software-center.desktopBu içeriğe sahip bir tane buldum :

[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;

Bu, neden gnome-open apt://foo.barYazılım Merkezi yerine neden açıldığını açıklar apturl.

Bu yüzden bu yüklü 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;

Sonra update-desktop-database, hatta yeniden başlattıktan sonra hem xdg-openve gnome-openhala aynı şeyi ve kullanıcı masaüstü dosyaları ile her zamanki gibi bulunanın yerini gerektiğini kullanıcının masaüstü dosyası, görmezden /usr/share/applications/.

Belki x-scheme-handlerMIME türünü belirten masaüstü dosyaları ile özel bir şey vardır ve bunlar normal şekilde ele alınmaz.

Masaüstü dosya yolu soruyu cevaplamıyor.


1
Bu yardımcı olabilir: unix.stackexchange.com/a/100736
Todd Owen

Yanıtlar:


9

Aşağıdaki ~/.local/share/applications/mimeapps.listgibi bir satır açın ve ekleyin:

x-scheme-handler/apt=apturl.desktop

Ya, HTTP, MAILTO ve diğerleri için anlayabilirim.
Hibou57

Böyle bir klasör yok. Kökten bir arama yaptım ve bulamadım.
Vlas Bashynskyi

@VlasBashynskyi, yeri mimeapps.listdeğişebilir. Dosya adı için bir arama yapmayı öneririm.
Hibou57

4

xdg-mime

Belki daha zarif (bu örnekte "apt" kullanıyorum , başka bir şema için değiştirdim):

  1. İçindeki kayıtlı MIME türlerini kontrol edin /usr/share/applications/defaults.list.
  2. apt.desktopDosyayı ( burada bazı örnekler ) ~/.local/share/applications/(kullanıcı çapında) veya /usr/share/applications/(sistem çapında) olarak ekleyin .
  3. Masaüstü dosyaları tarafından işlenen MIME türlerinin önbellek veritabanını oluşturun: update-desktop-database
  4. İle bir protokol kaydedin

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

    Bu, şema için yeni MIME Türünü ekleyecektir ~/.local/share/applications/mimeapps.list. Yeni mime tipini sistemdeki tüm kullanıcılar için kaydedebilirsiniz sudo xdg-mime install --mode system <xml file>.

İle test edin xdg-open "apt://foo.bar".

Ayrıca bkz . MIME Türü Ekleme .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.