it-swarm-eu.dev

Jak správně a snadno nakonfigurovat `xdg-open` bez jakéhokoli prostředí?

Používám správce oken OpenBox bez jakéhokoli desktopového prostředí.

xdg-open se chová podivně. Otevírá vše pomocí firefox.

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

Hledám jednoduchý program; něco jako čtení každý *.desktop soubor v /usr/share/applications/ složka a automatické nastavení xdg nastavení.

73
kravemir

Pro správu mimetypů můžete použít Perl-file-mimeinfo v úložišti extra.

Příklad otevření všech .pdf soubory v apvlv:

/usr/bin/vendor_Perl/mimeopen -d $file.pdf

a poté na výzvu zadejte aplikaci: apvlv.

29
jasonwryan

Proč nepoužívat nástroje od samotného xdg?

Nastavit Thunar jako výchozí prohlížeč souborů, tj. Výchozí aplikaci pro otevírání složek.

$ xdg-mime default Thunar.desktop inode/directory

použít xpdf jako výchozí prohlížeč PDF prohlížeč:

$ xdg-mime default xpdf.desktop application/pdf

To by mělo vytvořit záznam

[Default Applications]
application/pdf=xpdf.desktop

ve vaší místní databázi MIME ~/.local/share/applications/defaults.list nebo ~/.local/share/applications/mimeapps.list.

Vaše soubory PDF by nyní měly být otevřeny pomocí xpdf).

75
lzap

Mohli byste použít něco podobného k vygenerování příslušného xdg-mime příkazy pro každý z vašich .desktopsložky a mimetypy, které obsahují, a poté spusťte ty, které se vám líbí. Poznámka /usr/share/applications může mít podadresáře.

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done
9
aleb

Na Debianu můžete příkaz použít jako root

update-mime-database /usr/share/mime

mající shared-mime-info nainstalován balíček.

7
enzotib

Je to jako @ aleb's answer , ale funguje to na stolních souborech s mezerami:

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done
5
user60561

Kromě toho, co všichni řekli, se ujistěte, že nemáte používány žádné překrývající se aplikace.

Předpokládejme například, že chcete změnit výchozí odkaz na magnet tak, aby používal qbittorrent, takže píšete

xdg-mime default org.qbittorrent.qBittorrent.desktop x-scheme-handler/magnet

Když ale zadáte tento a zkontrolujete svůj aktuální výchozí magnet

xdg-mime query default x-scheme-handler/magnet

Ukazuje některé další aplikace, například popcorntime.desktop, které nejsou to, co chcete.

Takže to opravit:

Pomocí Správce souborů přejděte na / usr/share/Applications a najděte popcorntime.desktop

Klepněte pravým tlačítkem myši a potom klepněte na vlastnosti.

Přejděte na kartu Aplikace.

V oblasti Podporované typy souborů: odeberte aplikaci Mimetype/x-bittorrent

Pak pokračujte a klikněte na ok

Všimněte si, že když znovu otevřete vlastnosti a zkontrolujete, zjistíte, že se nic nezměnilo a vrátilo se k tomu, jak to bylo.

Ale ve skutečnosti se na sekundu smazal a znovu se nakonfiguroval, což je důvod, proč nyní příkaz

xdg-mime default org.qbittorrent.qBittorrent.desktop x-scheme-handler/magnet

které již bylo nastaveno v mimeapps.list, bude použito.

0
Kazem Sami