Comment ouvrir fichier avec l'application par défaut en ligne de commande?

179

Dans Nautilus, lorsque vous double-cliquez sur un fichier, celui-ci s'ouvre avec l'application par défaut associée à l'extension du fichier. Par exemple, les fichiers .html s'ouvriront dans un navigateur Web et .pdf s'ouvrira avec Document Viewer. Existe-t-il un moyen de reproduire le même comportement depuis la ligne de commande (c.-à-d. open path/filename)? Je demande parce que j'aime parcourir mon système de fichiers à partir de la ligne de commande mais parfois ne me souviens plus quelle application. ouvre quoi.

Olivier Lalonde
la source
Il existe une question similaire concernant le lancement du navigateur par défaut à partir de la ligne de commande: askubuntu.com/questions/8252/…
kounryusui
C'est une question brillante en effet! En presque 4 ans, bashje n'y avais pas pensé: P
John Strood Le

Réponses:

233

Je pense xdg-openest la commande que vous recherchez.

NAME
       xdg-open - opens a file or URL in the user's preferred application

SYNOPSIS
       xdg-open {file | URL}

       xdg-open {--help | --manual | --version}

DESCRIPTION
       xdg-open opens a file or URL in the user's preferred application. If a
       URL is provided the URL will be opened in the user's preferred web
       browser. If a file is provided the file will be opened in the preferred
       application for files of that type. xdg-open supports file, ftp, http
       and https URLs.

par exemple: xdg-open index.php

Cela ouvrira index.php dans gedit (si vous utilisez gnome).

Si vous voulez ouvrir une URL dans le navigateur

xdg-open http://google.com

cela ouvrira google.com dans votre navigateur par défaut.


xdg-openest un script d'emballage - il utilisera l'outil de l'environnement de bureau ( gio open, gvfs-open, kde-open, gnome-open, dde-open, exo-open, et une foule d'autres outils). Il est également installé par défaut et fonctionnera très probablement sur les versions antérieures, actuelles et futures (par contre, gvfs-openil gnome-openest obsolète et pourrait ne plus être disponible dans les versions à venir).

aneeshep
la source
2
Sur Gnome: gnome-openet sur KDE: kde-openfonctionne.
Farahmand 21/02/2014
xde-opentravaillé sur xfce aussi.
Sept
5
moyen facile de raccourcir cette commande consiste à utiliser un alias. alias o='xdg-open'. Placez ceci dans votre .bash_aliasesfichier pour que l'alias soit chargé au démarrage à chaque fois. nano ~/.bash_aliasespuis coller à l'intérieur nanoavec CTRL+SHIFT+V.
anon58192932
46

xdg-open et gnome-open

xdg-open est le moyen le plus universel (travaille aussi sur KDE)

shellholic
la source
15

Si tu veux:

  • faire un alias pour cette commande (par exemple open)
  • masquer la sortie de la commande
  • continuer à utiliser ce terminal après

Vous pouvez utiliser cette fonction .bashrc :

function open () {
  xdg-open "$@">/dev/null 2>&1
}
Jesse Knight
la source