Знайдіть програму за замовчуванням для певного розширення


12

Враховуючи xdg-open та розширення, чи є спосіб отримати програму, для якої xdg-open встановлено саме для цього розширення?

Наприклад наведено xdg-openі .jpgрезультат є eog.


1
Яку ОС ви використовуєте?
heemayl

Це Ubuntu Trusty.
sjsam

Відповіді:


13

AFAIK вибір дії базується на міметиці файлу, а не на його розширенні.

Принаймні, на Ubuntu, ви повинні мати можливість використовувати queryдію, xdg-mimeщоб показати програму за замовчуванням для певного міметипу

$ xdg-mime query default image/jpeg
eog.desktop

Ви можете перевірити mimetype для певного файлу, використовуючи xdg-mime query filetypeнапр

$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg

або за допомогою fileкоманди, наприкладfile --mime-type <file>

Див. man xdg-mimeДодаткову інформацію про використання.


напевно, варто згадати ОП, що спосіб отримання mime-типу для xdg-mime query filetype <file_you_want_the_mimetype_of>
файлового формату

@the_velour_fog хороший момент - додано
steeldriver

На жаль xdg-mime query default, не завжди спрацьовує, якщо xdg-openпросто викликати основний інструмент (наприклад pcmanfm); приклад, який ви використовували у своїй відповіді, нічого не повертає в моїй системі LXDE.
Стівен Гарріс

Дякую, я б пішов перший варіант тут,var="xdg-mime query default image/jpeg" && $(${var%.desktop})
sjsam

5

Для запиту типу mime, який використовується наявним файлом за допомогою xdg-utils, він працює як:

$ xdg-mime query filetype yourfile.xxx

Ви також можете встановити новий за замовчуванням, наприклад, змінити пов'язаний запис на робочому столі, встановивши Thunar - сучасний файловий менеджер для Xfce Desktop Environment - як браузер файлів за замовчуванням, який слід ввести:

$ xdg-mime default Thunar.desktop inode/directory

Або, наприклад, для встановлення програми за замовчуванням для http(s)://інтернет-протоколів, ви можете використовувати:

$ xdg-mime default midori.desktop x-scheme-handler/http

OR

$ xdg-mime default midori.desktop x-scheme-handler/https

Це не обмежується rpmсистемами, що базуються; це частина стандартного робочого столу і працює на Debian (наприклад). На жаль, це спосіб встановити значення за замовчуванням; не сказано, як знайти, яке значення встановлено. І xdg-mime query defaultне завжди повідомляється про те, що це буде робити, якщо xdg-openзателефонувати на базову програму настільних ПК (наприклад, pcmanfmна LXDE).
Стівен Гарріс

@StephenHarris Я думав, що варіанти можуть бути різними. Дякую, що сказали мені.
FarazX

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