xdg-open varsayılan uygulama davranışı


13

Hiç varsa defaults.listve mimeapps.list, xdg-openaçılır text/plainile gvim. Ama oluştururken defaults.listiçinde /usr/share/applications/ve aşağıdaki satırları ekleyin:

[Default Applications]
text/plain=emacs.desktop

firefox ile metin dosyaları açar.

Ancak, ' /usr/share/applications/defaults.liste ~/.local/share/applications/mimeapps.listgeçersem metin dosyalarını emacsbeklendiği gibi açar .

Sorularım:

  1. Nasıl yok xdg-openhayır olduğunda başlatmak için hangi uygulamayı belirlemek defaults.listve mimeapps.list?
  2. xdg-openSadece yazarken neden firefox kullanıyorum /usr/share/applications/defaults.list?

Arch linux kullanıyorum.


1
Openbox kullanıyorum. Ayrıca, /usr/share/applications/mimecache.infovarsayılan uygulamaları listeleyen bir dosya fark ettim . Daha da kafa karıştırıcı ...
Degrade

1
Bu yapılandırma dosyasını buldum~/.config/mimeapps.list
Sam Mason

Yanıtlar:


23

xdg-openUygulamaları açmak için kullanıyorsanız , xdg-mimebelirli bir mime türü için varsayılan uygulamayı ayarlamak için kullanın (genellikle xdg-utils'i yüklemek size xdg-mime ve ilgili programları verir).

Örneğin, belirli bir dosyanın "dosya türü" nü (varsa mime türü) görmek için:

$ xdg-mime query filetype tmp.txt
text/plain

$ xdg-mime query filetype foo.pdf 
application/pdf

$ xdg-mime query filetype $PWD
inode/directory

Dizinleri açmak için varsayılan dosya yöneticisini değiştirme örneği (caja.desktop (nane için varsayılan), nautilus.desktop (ubuntu), vb.)

$ xdg-mime default Thunar.desktop inode/directory

Ve locate -i foo.desktopbunun foo.desktopgerçekten var olduğunu doğrulamak için de yapın.

Daha da önemlisi, varsayılan metin düzenleyicinin ne olduğunu görmek için,

$ xdg-mime  query default text/plain 
gedit.desktop

Farklı bir varsayılan metin düzenleyicisi kullanmak için (yine, ".desktop" dosyasının var olduğunu doğrulayın):

$ locate -i vim.desktop
/usr/share/applications/gvim.desktop

$ xdg-mime default gvim.desktop text/plain

Şimdi, ya "foo.txt" yi çift tıkladığınızda (GUI dosya yöneticinizde) ya da çalışıyor yerine xdg-open foo.txtçalışacaktır .gvimgedit

Sorun giderme: xdg-mimeyardımcı programla kullanılması gerektiğinden, belirli bir uygulama için ".desktop" dosyasının bulunabildiğinden emin olun ; Örneğin,

$ xdg-mime default emacs text/plain 
xdg-mime: malformed argument 'emacs', expected *.desktop

Ayrıca, ".desktop" dosyası yoksa, bu sessizce beklendiği gibi çalışmaz:

$ locate -i emacs.desktop
(none)

$ xdg-mime default emacs.desktop text/plain  # won't work

Gerçek emacs ".desktop" dosyası (benim env):

$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop

$ xdg-mime default emacs24.desktop text/plain  # does work

Ayrıca bakınız: https://wiki.archlinux.org/index.php/xdg-open


3
Yıllar sonra, ama teşekkürler! Bazı geliştiriciler şaraba gerçekten kötü bir şaka yaptı, "Gerçekten o Windows acılarının bir kısmını geri istiyorsanız, nostaljik olmamak için hepsine sahip olmalısınız!" Ve o zamandan beri tüm X11 programları Metin Dosyalarını açarken bir not defteri klonu başlatır. Bir uygulamadan dosya açmak benim için nadirdir, ancak not defteri gerçekten acıyor. Senin yardımınla bir gvim aldım.
flaschenpost
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.