web-dev-qa-db-fra.com

Ouvrir le fichier du terminal dans une application spécifique

J'utilise beaucoup xdg-open dans le terminal; cela ouvre un fichier dans l'application par défaut. Cependant, je souhaite parfois ouvrir un fichier dans une application différente (autre que celle par défaut). Y a-t-il un moyen de réaliser cela depuis le terminal?

(Évidemment, certaines applications peuvent prendre un fichier comme argument, par exemple vlc /path/to/movie.mp3, mais je cherche une méthode plus générique qui fonctionne dans toutes les situations, similaire à xdg-open.)

L’avantage d’une commande de type xdg-open- est que la fenêtre du terminal peut être fermée après l’ouverture du fichier/de l’application. Cependant, si j’utilise (par exemple) vlc /path/to/movie.mp3 &, je devrai laisser la fenêtre du terminal ouverte.

5
Sparhawk

xdg-open est bien entendu conçu pour utiliser les applications par défaut. Pour utiliser des applications autres que celles par défaut, je pense que vous avez trois options.

1) Tapez programname filename comme d'habitude.

2) Faites ceci en dehors du terminal par un clic droit dans Nautilus et en utilisant ouvrez avec .

3) Utilisez votre propre script dans le terminal. Supposons que vous ayez une liste assez courte de programmes par défaut parmi lesquels choisir.

#!/bin/bash
read filename
myvar=$(zenity --list --text="Chose a non-default program" --column="Programs" firefox gedit)
$myvar filename &

Cela vous permettrait de spécifier un nom de fichier, puis de choisir le programme avec lequel l'ouvrir. Ceci est l’implémentation minimale, il pourrait donc nécessiter du travail supplémentaire. Mais essayez-le.

Il se peut que cette approche ne présente pas de nombreux avantages , mais elle vous permet de contrôler le processus et les options en fonction de vos besoins.

6
chaskes

Il existe des pseudo-solutions telles que "navigateur Web de Gnome" (gnome-www-browser) ou "éditeur de texte de Gnome" (gnome-text-editor). Même chose pour le serveur X avec son navigateur (x-www-browser) et son émulateur de terminal (x-terminal-emulator). Il existe également "editorname__" pour l'éditeur de texte du terminal (nanoname__, viou autre). Vous pouvez les configurer avec la commande update-alternatives line.

Mais il n'y avait pas de vraie solution. Un programme générique pour ouvrir des applications telles que xdg-open est conçu pour ouvrir des fichiers avec des applications par défaut. Ce n'est pas la seule application que l'utilisateur souhaite utiliser au moment même où il souhaite ouvrir le fichier. Vous ne pouvez pas faire cela, sauf changer l'application par défaut avant d'ouvrir le fichier, mais ce n'est pas convivial et cela ne permet pas d'obtenir des applications par défaut.

La meilleure solution pour vous consiste donc à oublier les solutions génériques et à ouvrir le fichier comme le fait l'application spécifique que vous souhaitez utiliser.

1
air-dex