Петр Ковар (Petr Kovar)
pknbe@volny.cz 2014
Создание спецификации MIME-типа пользователя и регистрация приложения по умолчанию.
Ser82-png
sw@atrus.ru 2022

# Добавление пользовательского типа MIME для отдельных пользователей

Чтобы добавить пользовательский MIME-тип для отдельных пользователей и зарегистрировать приложение для этого MIME-типа, необходимо создать новый файл спецификации MIME-типа в каталоге ~/.local/share/mime/packages/ и файл .desktop в каталоге ~/.local/share/applications/.

# Добавление пользовательского MIME-типа `application/x-newtype` для отдельных пользователей

Создайте файл ~/.local/share/mime/packages/application-x-newtype.xml:

<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-newtype"> <comment>new mime type</comment> <glob pattern="*.xyz"/> </mime-type> </mime-info>

Приведённый выше пример файла application-x-newtype.xml определяет новый MIME-тип application/x-newtype и связывает названия файлов с расширением .xyz с этим типом MIME.

Создайте новый файл .desktop с названием, например, myapplication1.desktop, и поместите его в каталог ~/.local/share/applications/:

[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1

Приведённый выше пример файла myapplication1.desktop связывает MIME-тип `application/x-newtype` с приложением My Application 1, которое запускается командой myapplication1.

Обновите базу данных MIME, чтобы ваши изменения вступили в силу:

    $ update-mime-database ~/.local/share/mime

Обновите базу данных приложений:

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

Чтобы убедиться, что вы успешно связали файлы *.xyz с типом MIME application/x-newtype, для начала создайте пустой файл, например test.xyz:

    $ touch test.xyz

Затем запустите команду gio info:

    $ gio info test.xyz | grep "standard::content-type"
      standard::content-type: application/x-newtype

Чтобы убедиться, что myapplication1.desktop был правильно установлен в качестве зарегистрированного приложения по умолчанию для типа MIME application/x-newtype, запустите команду gio mime:

    $ gio mime application/x-newtype
    Default application for “application/x-newtype”: myapplication1.desktop
    Registered applications:
    	myapplication1.desktop
    Recommended applications:
    	myapplication1.desktop