Jak otworzyć plik z domyślną aplikacją z wiersza poleceń?

179

W programie Nautilus dwukrotne kliknięcie pliku otworzy go z domyślną aplikacją powiązaną z rozszerzeniem pliku. Na przykład pliki .html zostaną otwarte w przeglądarce internetowej, a plik .pdf zostanie otwarty w przeglądarce dokumentów. Czy istnieje sposób na odtworzenie tego samego zachowania z poziomu wiersza poleceń (tj. open path/filename)? Pytam, ponieważ lubię przeglądać mój system plików z wiersza poleceń, ale czasami nie pamiętam, która aplikacja. otwiera co.

Olivier Lalonde
źródło
Podobne pytanie dotyczy uruchamiania domyślnej przeglądarki z wiersza poleceń: askubuntu.com/questions/8252/…
kounryusui
To naprawdę genialne pytanie! Przez prawie 4 lata mojej twórczości bashnie myślałem o tym: P
John Strood

Odpowiedzi:

233

Myślę, że xdg-opento polecenie, którego szukasz.

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.

na przykład: xdg-open index.php

Otworzy to index.php w gedit (jeśli używasz gnome).

Jeśli chcesz otworzyć adres URL w przeglądarce

xdg-open http://google.com

spowoduje to otwarcie google.com w domyślnej przeglądarce.


xdg-openJest to skrypt otoki - będzie wykorzystywać narzędzia środowiska graficznego użytkownika ( gio open, gvfs-open, kde-open, gnome-open, dde-open, exo-open, i wiele innych takich narzędzi). Jest również instalowane domyślnie, a bardzo prawdopodobne, aby pracować na przeszłości, obecnych i przyszłych wersjach (z drugiej strony, gvfs-openi gnome-openbyły przestarzałe, i może być niedostępna w przyszłych wersjach).

aneeshep
źródło
2
Na Gnome: gnome-openi na KDE: kde-opendziała.
Farahmand
xde-opendziałał również na Xfce.
7
5
łatwym sposobem na skrócenie tego polecenia jest użycie aliasu. alias o='xdg-open'. Umieść to w swoim .bash_aliasespliku, aby alias był ładowany przy każdym uruchomieniu. nano ~/.bash_aliasesa następnie wklej nanoza pomocą CTRL+SHIFT+V.
anon58192932,
46

xdg-open i gnome-open

xdg-open jest najbardziej uniwersalnym sposobem (działa również na KDE)

shellholic
źródło
15

Jeśli chcesz:

  • utwórz alias dla tego polecenia (np. open)
  • ukryj dane wyjściowe polecenia
  • kontynuuj korzystanie z tego terminala po

Możesz użyć tej funkcji .bashrc :

function open () {
  xdg-open "$@">/dev/null 2>&1
}
Jesse Knight
źródło