Kiedy nie ma defaults.list
i mimeapps.list
, xdg-open
otwiera text/plain
się gvim
. Ale gdy tworzę defaults.list
w /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.list
się ~/.local/share/applications/mimeapps.list
, otwiera pliki tekstowe z emacs
jak oczekiwano.
Moje pytania:
- W jaki sposób
xdg-open
określa, która aplikacja ma zostać uruchomiona, gdy jej nie madefaults.list
imimeapps.list
? - Dlaczego
xdg-open
korzystam z Firefoxa, kiedy piszę/usr/share/applications/defaults.list
?
Korzystam z Arch Linuxa.
arch-linux
freedesktop
defaults
Gradient
źródło
źródło
/usr/share/applications/mimecache.info
plik, który wydaje się zawierać listę domyślnych aplikacji. Jest to jeszcze bardziej mylące ...~/.config/mimeapps.list
Odpowiedzi:
Jeśli używasz
xdg-open
do otwierania aplikacji, użyj przycisku,xdg-mime
aby 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:
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.):
A także zrobić,
locate -i foo.desktop
aby sprawdzić, czyfoo.desktop
tak naprawdę istnieje.Co więcej, aby zobaczyć, jaki jest domyślny edytor tekstu,
Aby użyć innego domyślnego edytora tekstu (ponownie, sprawdzając, czy plik „.desktop” istnieje):
Teraz zamiast tego
xdg-open foo.txt
zostanie użyte podwójne kliknięcie „foo.txt” (w menedżerze plików GUI) lub uruchomienie .gvim
gedit
Rozwiązywanie problemów: upewnij się, że można znaleźć plik „.desktop” dla danej aplikacji, ponieważ należy go użyć z
xdg-mime
narzędziem; na przykład,Ponadto dyskretnie nie działa zgodnie z oczekiwaniami, jeśli plik „.desktop” nie istnieje:
Rzeczywisty plik „.desktop” emacsa (w mojej env):
Zobacz także: https://wiki.archlinux.org/index.php/xdg-open
źródło