Принудительно открывать расширение файла в определенном приложении (например, .exe, .jpg, .mp4…)

13

Я уже прочитал вопрос о создании файлов .desktop для использования на вкладке «Открыть в другом приложении», но это не то, что я хочу, я хочу иметь возможность щелкнуть файл в Dash или в Nautilus и открыть его это с указанным приложением.

Например, у меня есть этот случай прямо сейчас:

Когда я нажимаю на EXE- файл, он не запускается Wine, вместо этого я получаю следующее:

введите описание изображения здесь

Если я попытаюсь найти Wine в контекстном меню « Открыть с помощью», оно будет там. Я в порядке, выполняя его оттуда в первый раз, но затем в следующий раз Wine не появляется выбранным в главном контекстном меню:

введите описание изображения здесь

Затем я пошел в Свойства на вкладку « Открыть с помощью», чтобы найти Wine. Его не было ни в приложениях по умолчанию, ни в рекомендуемых, когда я нажимал и выполнял поиск Показать другие приложения.

введите описание изображения здесь

Это не ограничивается расширениями EXE. Это также произошло с файлами MKV, MP4, JPG, PNG, MP3 и даже SVG и CSS. Таким образом, вместо того, чтобы пытаться найти способ решить его для одного, я хочу способ, который можно сделать для любого типа расширения, которое может:

  • Сделать приложение по умолчанию для этого расширения
  • Появляются в контекстном меню в Nautilus, когда я щелкаю правой кнопкой мыши на файле
  • Появляется на вкладке «Открыть с помощью» в окне свойств файла
  • Правильно выполняет указанное приложение, когда я нажимаю на файл с Dash

Это может звучать так, как будто приложение должно выполнять здравый смысл, но это не всегда так работает. Так что для случаев, когда это на самом деле не работает, как это исправить. Сброс расширения ?, Обновление файлов, которые могут открыть указанное расширение ?, Добавление приложения через командную строку или графический инструмент?

Луис Альварадо
источник
Взгляните на askubuntu.com/a/189284/41499, где используется Ubuntu Tweak
Герхард Бургер,
Дайте мне время, чтобы проверить это. Хотя я искал способ, которым не нужно было устанавливать PPA. Например, это было уже в Ubuntu.
Луис Альварадо
Можете ли вы добавить его в качестве ответа, по крайней мере, пока не появится опция «Ubuntu-ish». Это действительно меняет приложение для расширения, но у меня есть случай, когда нет интернета.
Луис Альварадо
Мне плохо, когда я просто копирую его, или я должен просто скопировать свой комментарий в ответ? Было бы неплохо увидеть, что на самом деле делает Ubuntu Tweak, он создает некоторые дополнительные файлы рабочего стола, но я не знаю, делает ли он что-нибудь дополнительное ...
Герхард Бургер
Нашел лучший, более "вариант Ubuntu-иша";)
Герхард Бургер

Ответы:

16

Вы можете использовать команду mimeopen, в терминале перейдите в папку, где находится ваш файл .exe и введите

mimeopen -d filename.exe

Вы получите всплывающее меню, в котором вы можете увидеть некоторые опции, но есть также опция «Другие ...», выберите эту, затем введите команду, которую вы будете использовать, если откроете файл в терминале и замените имя файла с %f. Так что в этом случае вы наберете wine %f.

Теперь связь по умолчанию для всех exe-файлов должна быть изменена на wine.

Альтернативно, использование Ubuntu-Tweak, как описано в разделе Изменение всех связей с gedit на другое приложение , также изменит связанное приложение по умолчанию.

Герхард Бургер
источник
1
Отличный ответ. Я использовал этот же подход для .mp4, чтобы изменить видео плеер.
Старейшина Гик
Использование mimeopen нормально, если вы хотите использовать / создать собственную команду, но если вы хотите просто установить приложение по умолчанию для mimetype, тогда r. нажмите> свойства> открыть с помощью> выбрать приложение> нажмите Set as defaultкнопку лучше.
Даг
2
@doug вы правы, но вопрос в том, что делать, если приложение отсутствует в этом списке (что часто случается).
Герхард Бургер
Как вы делаете этот процесс в одну строку? У меня есть сценарий, и я хочу установить .exe в wine %f, .vlc в и vlc %f т. Д. ... Это можно сделать в сценарии bash? спасибо
Уго Хед
Чтение справочной страницы ( man.cx/mimeopen ), к сожалению, вы не можете.
Герхард Бургер