http://www.altlinux.org/Mime_Policyhttps://wiki.archlinux.org/index.php/Default_applications#ConfigurationПока не начал делать Файловые Менеджеры, не замечал, что пакет с mime установлен, но не проинициализирован.
В pfs-util тоже
забыли обновлять
Кроме того после загрузки модулей при старте системы (не средствами pfs-util, а например porteus-initrd) тоже надо все обновить.
Написал юнит systemd (в аттаче). Сначала хотел в /etc/rc.local - но побоялся затормозить загрузку
Как это работает:1. В /usr/share/mime/packages лежат исходные файлы. Они же могут быть в пакетах. Здесь закрепляется какое расширение (поле pattern) соответствует какой иконке (поле type). Иконки будет видно в ФМ
Порезал (скрипт вложен) чужие локали. Размер существенно уменьшился. После добавления в /usr/share/mime/packages нужно пересобрать базу :
update-mime-database /usr/share/mime и кэш иконок :
gtk-update-icon-cache /usr/share/icons/hicolor2. Что чем открывать прописывается в ярлыках программ /usr/share/*/applications/*.desktop (поле MimeType=type - из п.1)
Кэш /usr/share/*/applications/mimeinfo.cache нужно обновлять после каждого добавления ярлыка :
update-desktop-databaseЕсли с одним расширением работает несколько программ - дефолт можно изменить меняя название ярлыка. Результат изменений смотреть в mimeinfo.cache после update-mime-database
3. Пользователь для себя может это изменить через $HOME/.local/shsre/applications Некоторые ФМ сами формируют это по итогу действий пользователя (когда он изменяет чем открывать по умолчанию)
Пример