Bagaimana cara membuka file dengan program default dari command line?

10

Jika saya mengklik file dalam file explorer GUI, program default digunakan untuk membukanya. Ini berguna untuk file yang saya tidak tahu cara membuka dari baris perintah.

Apakah ada cara untuk membuka file dengan program default menggunakan command-line?

Atau, apakah ada cara, diberikan ekstensi file, untuk menentukan perintah untuk membukanya?

Gradien
sumber

Jawaban:

15

Apakah ada cara untuk membuka file dengan program default menggunakan command-line?

Ini adalah pekerjaan untuk xdg-open:

xdg-open membuka file atau URL di aplikasi yang disukai pengguna. Jika URL diberikan, URL akan dibuka di peramban web pilihan pengguna. Jika file disediakan, file tersebut akan dibuka di aplikasi pilihan untuk file jenis itu. xdg-open mendukung file, ftp, http dan https URL.

  • Sintaks untuk membuka file dengan aplikasi standarnya:

    xdg-open {file}
    

xdg-open hadir sebelum diinstal di Ubuntu.

Atau, apakah ada cara, diberikan ekstensi file, untuk menentukan perintah untuk membukanya?

Dengan ekstensi, no. Aplikasi default dipilih berdasarkan tipe MIME, bukan ekstensi. Linux tidak memiliki "ekstensi".

Untuk file tertentu, Anda dapat menggunakan xdg-mimeuntuk menentukan tipe MIME file dan aplikasi default yang terkait dengannya:

  • Sintaks untuk menampilkan jenis MIME file:

    xdg-mime query filetype {file}
    
  • Sintaks untuk menampilkan aplikasi default tipe MIME:

    xdg-mime query default {mimetype}
    
  • Sintaks untuk menampilkan aplikasi default file:

    xdg-mime query default "$(xdg-mime query filetype {file})"
    

Sebagai solusi (peretasan) Anda bisa menggunakan perintah

xdg-mime query default \
    `xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"`

untuk menampilkan aplikasi default untuk, misalnya, gambar PNG.

Ini akan berfungsi jika dan hanya jika Anda memiliki gambar PNG di komputer Anda dan file yang ditemukan pertama berakhir dengan .pngadalah gambar PNG yang valid.

Dennis
sumber
Persis apa yang saya cari! Apakah Anda tahu jika xdg-open dapat memberi tahu perintah yang digunakan untuk membuka, misalnya, file PNG?
Gradient
Saya telah memperbarui jawaban saya.
Dennis