Открыть любой файл с помощью определенной программы? [duplicate]

На этот вопрос уже есть ответ здесь:

Я хочу установить по умолчанию определенную программу для открытия ЛЮБЫХ файлов абсолютно ЛЮБЫХ(*.*), любого расширения, любого 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".

-2
задан 2 April 2019 в 22:50

1 ответ

Можно определить новый mimetype для программы:

  1. Создайте файл, например. ~/.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>
    
  2. Обновите базу данных MIME:

    update-mime-database ~/.local/share/mime
    
  3. Установите .desktop файл раньше открывал подобранные файлы:

    xdg-mime default /path/to/file.desktop application-x-app-chooser
    

Используя ~/.local/share/mime установки это как определенный для пользователя тип пантомимы, замените этот путь /usr/share/mime для установки в масштабе всей системы.

0
ответ дан 25 October 2019 в 07:13

Другие вопросы по тегам:

Похожие вопросы: