На этот вопрос уже есть ответ здесь:
Я хочу установить по умолчанию определенную программу для открытия ЛЮБЫХ файлов абсолютно ЛЮБЫХ(*.*), любого расширения, любого mime-типа. АБСОЛЮТНО ВСЕ
Я создаю программу на python для автоматического выбора программы для любого файла. содержание app-chooser.py:
#!/usr/bin/python
import sys, os, os.path
filename = sys.argv[1];
extension = os.path.splitext(filename)[1];
if extension == "txt":
os.system("gedit " + filename);
if extension == "mp4":
os.system("vlc " + filename);
if extension == "html":
os.system("opera " + filename);
if extension == ".py":
os.system("python " + filename);
if extension == ".sh":
os.system("bash " + filename);
if extension == ".exe":
os.system("wine " + filename);
exit()
App-chooser.py скомпилирован в отдельный исполняемый файл linux, расположенный в "/usr/bin/app-chooser".
Можно определить новый mimetype для программы:
Создайте файл, например. ~/.local/share/mime/packages/application-x-app-chooser.xml
со следующим содержанием:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-app-chooser">
<comment>mime type matching all files with an extension</comment>
<icon name="application-x-app-chooser"/>
<glob-deleteall/>
<glob pattern="*.*"/>
</mime-type>
</mime-info>
Обновите базу данных MIME:
update-mime-database ~/.local/share/mime
Установите .desktop
файл раньше открывал подобранные файлы:
xdg-mime default /path/to/file.desktop application-x-app-chooser
Используя ~/.local/share/mime
установки это как определенный для пользователя тип пантомимы, замените этот путь /usr/share/mime
для установки в масштабе всей системы.