desarrollo-web-br-bd.com

¿Cómo configurar de forma correcta y fácil `xdg-open` sin ningún entorno?

Estoy usando el administrador de ventanas OpenBox sin ningún entorno de escritorio.

xdg-open se comporta de manera extraña. Abre todo con firefox.

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

Estoy buscando un programa simple; algo como leer cada *.desktop archivo en /usr/share/applications/ carpeta y configurando automáticamente la configuración xdg.

73
kravemir

Puede usar Perl-file-mimeinfo en el repositorio extra para administrar los tipos mime.

Ejemplo para abrir todo .pdf archivos en apvlv:

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

y luego, en el indicador, ingrese la aplicación: apvlv.

29
jasonwryan

¿Por qué no utilizar utilidades de xdg?

Para que Thunar sea el explorador de archivos predeterminado, es decir, la aplicación predeterminada para abrir carpetas.

$ xdg-mime default Thunar.desktop inode/directory

usar xpdf como predeterminado PDF visor:

$ xdg-mime default xpdf.desktop application/pdf

Esto debería crear una entrada

[Default Applications]
application/pdf=xpdf.desktop

en su base de datos MIME local ~/.local/share/applications/defaults.list o ~/.local/share/applications/mimeapps.list.

Sus archivos PDF deberían abrirse ahora con xpdf.

75
lzap

Podrías usar algo como esto para generar el xdg-mime comandos para cada uno de sus .desktop archivos y los tipos MIME que contienen, luego ejecute los que desee. Nota /usr/share/applications podría tener subdirectorios.

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

En Debian podría usar el comando, como root

update-mime-database /usr/share/mime

teniendo el shared-mime-info paquete instalado.

7
enzotib

Esto es como @ respuesta de aleb , pero funciona en archivos de escritorio con espacios:

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

Además de lo que todos dijeron, asegúrese de no tener aplicaciones superpuestas en uso.

Por ejemplo, supongamos que desea cambiar el enlace de imán predeterminado para usar qbittorrent para que escriba

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

Pero cuando escribe esto y verifica su imán predeterminado actual

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

Muestra alguna otra aplicación, por ejemplo popcorntime.desktop que no es lo que quieres.

Entonces, para arreglar esto:

Usando un administrador de archivos, vaya a / usr/share/aplicaciones y busque popcorntime.desktop

Haga clic derecho y luego haga clic en propiedades.

Vaya a la pestaña Aplicaciones.

En el área Tipos de archivo admitidos:, elimine la aplicación Mimetype/x-bittorrent

Luego adelante y haga clic en Aceptar

Observe cómo cuando abre de nuevo las propiedades y comprueba, encuentra que nada ha cambiado y volvió a ser como era.

Pero en realidad se eliminó por un segundo y se reconfiguró, por lo que ahora el comando

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

que ya estaba configurado en mimeapps.list se aplicará.

0
Kazem Sami