Як відкрити файл із програмою за замовчуванням з командного рядка?


10

Якщо я натискаю на файл у провіднику файлів GUI, для його відкриття використовується програма за замовчуванням. Це корисно для файлів, які я не знаю, як відкрити з командного рядка.

Чи є спосіб відкрити файл із програмою за замовчуванням, використовуючи замість цього командний рядок?

Як варіант, чи є спосіб, задавши розширення файлу, визначити команду для його відкриття?

Відповіді:


15

Чи є спосіб відкрити файл із програмою за замовчуванням, використовуючи замість цього командний рядок?

Це робота для xdg-open:

xdg-open відкриває файл або URL-адресу в бажаному додатку користувача. Якщо вказано URL-адресу, URL-адреса буде відкрита у бажаному веб-переглядачі користувача. Якщо файл надано, файл буде відкрито в бажаній програмі для файлів цього типу. xdg-open підтримує URL-адреси файлів, ftp, http та https.

  • Синтаксис для відкриття файлу за допомогою програми за замовчуванням:

    xdg-open {file}
    

xdg-open поставляється заздалегідь встановленим в Ubuntu.

Як варіант, чи є спосіб, задавши розширення файлу, визначити команду для його відкриття?

За розширенням, ні. Програма за замовчуванням вибирається на основі типу MIME, а не розширення. У Linux немає "розширень".

Для конкретного файлу можна xdg-mimeвизначити як тип файлу MIME, так і пов'язану з ним програму за замовчуванням:

  • Синтаксис для відображення файлу типу MIME:

    xdg-mime query filetype {file}
    
  • Синтаксис відображення програми за замовчуванням типу MIME:

    xdg-mime query default {mimetype}
    
  • Синтаксис відображення програми за замовчуванням для файлу:

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

Як (хакі) обхід можна використовувати команду

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

відображення програми за замовчуванням для, наприклад, зображень PNG.

Це буде спрацьовувати, якщо і лише якщо на вашому комп'ютері є зображення PNG, і перший знайдений файл, який закінчується, .png- це дійсне зображення PNG.


Саме те, що я шукав! Чи знаєте ви, чи xdg-open може вказати команду, що використовується для відкриття, наприклад, файлів PNG?
Градієнт

Я оновив свою відповідь.
Денніс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.