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.