Ассоциация файлов с приложениями в ubuntu

Опубликовано: Комментариев: 3

Ассоциация (ассоциирование) файла – это привязывание файла по расширению к программе, которая будет обрабатывать его при последующем запуске. К правило, для файлов существует множество альтернативных программ, которые могут отрывать данное расширение файла. К примеру аудио файлы формата mp3 можно прослушивать в различных аудио проигрывателях. При двойном нажатии мыши открывается программа обработки файла по умолчанию. У меня возникла необходимость изменения ассоциации файла в linux. Существует несколько способов ассоциации файлов с приложениями. Я разберу изменение ассоциации на системном уровне. Это означает, что при создании нового пользователя в системе будет применяться программа ассоциации, выбранная мною. Это очень удобно, когда на ПК есть несколько учётных записей и для каждой нужно настроить какими программами открывать выбранные файлы. Я буду всё описывать на примере привязки формата *.fb2 к читалке электронных книг Fbreader, а Вы уже подставьте для себя свой формат. Всё, что от нас требуется – так это добавить/изменить строку конфигурации, определяющую системную ассоциацию файлов. Данный файл в ОС Debian/Ubuntu находится в директории /usr/share/applications/ В ней нас интересую два файла: 1) defaults.list устанавливает программу по умолчанию для открытия определённого формата 2) mimeinfo.cache отвечает за опцию «рекомендуемые программы» (нажав правой кнопкой мышки на файле, в контекстом меню увидите "открыть с помощью"). Я добавил новую строку в файлы defaults.list и mimeinfo.cache, поскольку система не знала чем открывать формат fb2: application/x-fictionbook+xml=FBReader.desktop; FBReader.desktop - это ссылка на программу, ответственную за запуск fb2 формата. Все ссылки расположены в директории /usr/share/applications/ По-быстрому добавить эту строку через консоль можно следующими командами: sudo echo "application/x-fictionbook+xml=FBReader.desktop;" >> /usr/share/applications/defaults.list sudo echo "application/x-fictionbook+xml=FBReader.desktop;" >> /usr/share/applications/mimeinfo.cache В том случае, если не уверен какую строку нужно вписать для ассоциации файлов — я пишу в терминале: mimetype -aD файл.fb2 и в выводе будет указано что-то вроде: $ mimetype -aD .fb2 > Checking inode type > Checking globs for basename '.fb2' > Checking for extension '.fb2' .fb2:  application/x-fictionbook+xml Выделенное жирным копируем и вписываем в упомянутые выше файлы конфигурации. Следующим этапом будет присвоение значка для всех .fb2 файлов. Читайте об этом в следующей статье. От спонсора: Устали от бесконечного поиска софта? Посетите наш сайт и найдите для себя необходимые программы для компьютера. К каждой программе имеется детальное описание и прилагается изображение интерфейса. Более того, все программы для компьютера от группированы в зависимости от их целевого назначения. У нас есть всё!

Комментариев: 3
Oleg Lipin 2012-04-04 20:51:40
А через иксы никак нельзя? Вряд ли фбридер идет из под командной строки.
Slicks 2012-04-04 22:19:51
<b>Олег</b>, ты меня не правильно понял. В консоли производится только настройка. А все файлы, естественно, запускаются через Х-сервер. Просто если графическим способом установить ассоциацию зайдя в контекстное меню файла и выбрав через что открывать – это будет локальный конфиг для текущего пользователя. И если удалить системные папки юзера или войти под новым аккаунтом – ассоциация не сохранится, так что лучше через консольку сделать и потом не париться.
Виталий Климович 2013-10-28 09:39:51
А ассоциации обычного пользователя хранятся в /.local/share/aplications/mimeapps.list