Создать новый тип файла с существующим расширением

Я сделал приложение Qt, давайте назовем его "альфа", которое открывает и генерирует .zip файлы. Так что в основном мои файлы, созданные приложением, имеют расширение .alpha но они в основном .zip файлы. Как я могу связать .alpha файлы с моим "альфа" приложением? В настоящее время по умолчанию .alpha файлы открываются с помощью менеджера архивов (потому что система видит их как .zip файлы).

Я посмотрел на множество возможных решений, но безуспешно. Я попробовал следующие методы:

  1. Я создал alpha.xml файл в /usr/share/mime/packages

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
        <mime-type type="application/alpha">
            <comment>ALPHA File</comment>
            <glob pattern="*.alpha"/>
        </mime-type>
    </mime-info>
    

    Теперь, когда я нажимаю abc.alpha файл, я получаю сообщение об ошибке:

    Could not display "abc.alpha". There is no application installed for "ALPHA File" files.
    
  2. Я редактировал /etc/mime.types файл для включения следующей строки:

    application/alpha                zip
    
  3. Я создал файл alpha.desktop - это прекрасно работает, так как ALPHA теперь отображается как "открытый с другими приложениями". Однако я все еще не могу дважды щелкнуть .alpha файл, чтобы открыть его в моей программе.

Как мне это решить? Заранее спасибо.

1 ответ

Решение

Из стандартных приложений Archlinux:

  1. Создайте свой XML-файл в ~/.local/share/mime/packages (Я думаю что /usr/share/mime/packages тоже нормально, но не проверял)

    mkdir -p ~/.local/share/mime/packages
    touch ~/.local/share/mime/packages/application-alpha.xml
    
  2. редактировать application-alpha.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
        <mime-type type="application/alpha">
            <comment>alpha file</comment>
            <glob-deleteall/>
            <glob pattern="*.alpha"/>
        </mime-type>
    </mime-info>
    
  3. Теперь создайте файл рабочего стола ~/.local/share/applications/alpha.desktop:

    [Desktop Entry]
    Name=Alpha
    Exec=/PATH/TO/YOUR/alpha
    MimeType=application/alpha
    Terminal=false
    Type=Application
    

    добавьте правильный путь exec к вашему альфа-приложению, и если это консольное приложение, измените Terminal на true.

  4. Теперь обновите приложения и базу данных MIME:

    update-desktop-database ~/.local/share/applications
    update-mime-database    ~/.local/share/mime
    

Теперь, если вы дважды щелкните файл abc.alpha /PATH/TO/YOUR/alpha Приложение должно открыть ваш файл.

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