xdg-open domyślne zachowanie aplikacji


13

Kiedy nie ma defaults.listi mimeapps.list, xdg-openotwiera text/plainsię gvim. Ale gdy tworzę defaults.listw /usr/share/applications/i dodaj następujące linie:

[Default Applications]
text/plain=emacs.desktop

otwiera pliki tekstowe za pomocą Firefoxa.

Jednakże, jeśli przeniosę /usr/share/applications/defaults.listsię ~/.local/share/applications/mimeapps.list, otwiera pliki tekstowe z emacsjak oczekiwano.

Moje pytania:

  1. W jaki sposób xdg-openokreśla, która aplikacja ma zostać uruchomiona, gdy jej nie ma defaults.listi mimeapps.list?
  2. Dlaczego xdg-openkorzystam z Firefoxa, kiedy piszę /usr/share/applications/defaults.list?

Korzystam z Arch Linuxa.


1
Używam Openbox. Zauważyłem też /usr/share/applications/mimecache.infoplik, który wydaje się zawierać listę domyślnych aplikacji. Jest to jeszcze bardziej mylące ...
Gradient

1
Znalazłem ten plik konfiguracyjny w~/.config/mimeapps.list
Sam Mason

Odpowiedzi:


23

Jeśli używasz xdg-opendo otwierania aplikacji, użyj przycisku, xdg-mimeaby ustawić domyślną aplikację dla danego typu MIME (zazwyczaj zainstalowanie xdg-utils daje ci xdg-mime i powiązane programy).

Na przykład, aby zobaczyć „typ pliku” (typ MIME, jeśli chcesz) danego pliku:

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

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

$ xdg-mime query filetype $PWD
inode/directory

Przykład zmiany domyślnego menedżera plików do otwierania katalogów (można wybrać caja.desktop (domyślnie dla mennicy), nautilus.desktop (ubuntu) itp.):

$ xdg-mime default Thunar.desktop inode/directory

A także zrobić, locate -i foo.desktopaby sprawdzić, czy foo.desktoptak naprawdę istnieje.

Co więcej, aby zobaczyć, jaki jest domyślny edytor tekstu,

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

Aby użyć innego domyślnego edytora tekstu (ponownie, sprawdzając, czy plik „.desktop” istnieje):

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

$ xdg-mime default gvim.desktop text/plain

Teraz zamiast tego xdg-open foo.txtzostanie użyte podwójne kliknięcie „foo.txt” (w menedżerze plików GUI) lub uruchomienie .gvimgedit

Rozwiązywanie problemów: upewnij się, że można znaleźć plik „.desktop” dla danej aplikacji, ponieważ należy go użyć z xdg-mimenarzędziem; na przykład,

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

Ponadto dyskretnie nie działa zgodnie z oczekiwaniami, jeśli plik „.desktop” nie istnieje:

$ locate -i emacs.desktop
(none)

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

Rzeczywisty plik „.desktop” emacsa (w mojej env):

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

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

Zobacz także: https://wiki.archlinux.org/index.php/xdg-open


3
Wiele lat później, ale dzięki! Niektórzy programiści zrobili z winem naprawdę kiepski żart, musiał pomyśleć „jeśli naprawdę chcesz odzyskać trochę bólu z Windows, powinieneś mieć wszystko, aby nigdy nie nabrać nostalgii!” A ponieważ wszystkie programy X11 uruchamiają klon notatnika podczas otwierania plików tekstowych. Otwieranie plików z aplikacji jest dla mnie rzadkie, ale notatnik naprawdę boli. Z twoją pomocą odzyskałem gvima.
flaschenpost
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.