Где хранятся ассоциации файлов?
Как Ubuntu или любые другие системы Linux хранят ассоциации файлов?
Есть ли некоторые /etc/asscociations файл или что-то?
Я знаю, что могу щелкнуть правой кнопкой мыши файл и изменить его с помощью «открыть с помощью», но мне просто интересно узнать, как он хранится внутри.
9 ответов
Файловый менеджер (по умолчанию Nautilus) использует MIME-тип файла, чтобы определить, с какой программой открыть его. Когда приложение установлено, оно может указывать, какие типы MIME оно может открывать, и команду, используемую для открытия файлов в файле.desktop, который находится в /usr/share/applications , Этот файл используется для меню, ярлыков на рабочем столе и т. Д.
Например, GIMP имеет следующий файл.desktop:
[Desktop Entry] Version=1.0 Type=Application Name=GNU Image Manipulation Program GenericName=Image Editor Comment=Create images and edit photographs Exec=gimp-2.7 %U TryExec=gimp-2.7 Icon=gimp Terminal=false Categories=Graphics;2DGraphics;RasterGraphics;GTK; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=GIMP X-GNOME-Bugzilla-Component=General X-GNOME-Bugzilla-Version=2.7.2 X-GNOME-Bugzilla-OtherBinaries=gimp-2.7 StartupNotify=true MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;
Увидеть MimeType поле — здесь перечислены поддерживаемые типы MIME. Exec поле указывает системе использовать команду gimp-2.7 %U , заменив «%U» файлами для открытия. (Обратите внимание, что GIMP 2.7 — это версия, которую я установил из PPA, поэтому она выше текущей версии в репозиториях Ubuntu).
Когда пакет приложения установлен, система извлекает эти данные MIME-типа в более легкодоступную базу данных, потому что поиск в каждом файле.desktop займет слишком много времени, если это будет выполняться при каждом открытии файла.
Это сообщает системе, какие приложения можно использовать для этого типа MIME, и предоставляет приложения в списке «Открыть с помощью». Значение по умолчанию определено в другом месте. Файл /usr/share/applications/defaults.list предоставляет информацию о системных значениях по умолчанию. Если вы не выберете иное, это те приложения, которые используются при открытии файла.
Linux Way
В этом блоге я делюсь советами по настройке\использованию Linux и больше ничем не делюсь. Не от жадности, а от желания мира на всей Земле. Я стараюсь следовать принципу KISS, когда это возможно и не понижает удобство работы. По возможности это отражено в моих советах. Удачи, друзья мои.
пятница, 16 марта 2012 г.
Ассоциации файлов в Linux
Достаточно часто возникает ситуация, когда у вас есть какой-то тип файлов и программа, которая эти файлы открывает. И хотелось бы, чтобы при попытке, запуска этого файла открывалась эта программа. У многих программ(например mc, nautilus), есть своя база ассоциаций, но это не совсем удобно, так как такой список имеют далеко не все программы, а вот системным пользуются все.
Есть два списка ассоциаций(На самом деле их больше, но лучше редактировать эти два), системный:
[Default Applications]
application/pdf=AdobeReader.desktop
video/mp4=mplayer.desktop
image/jpeg=gpicview.desktop
В правой части программа, которая должна запускать этот тип файлов. Список программ вы можете найти в папке:
Кроме того, вы можете использовать консольную ультиту xdg-mime, добавить новую ассоциации можно например так:
И пропишет для всех ваших программ MIME типы автоматически. Но это не сработает если у вас например две программы для открытия pdf файлов. В этом случае лучше инструкцию вручную, как сказано в начале руководства.
ЕАВИИАС
В данной статье описана настройка АРМ с АЛЬТ 8 СП (x86_64) на работу с ФГИС Единой Автоматизированной вертикально-интегрированной информационно-аналитической системой (ЕАВИИАС) медико-социальной экспертизы (МСЭ), которая используется в Федеральном государственном бюджетноем учреждении «Федеральное бюро медико-социальной экспертизы» Министерства труда и социальной защиты Российской Федерации (ФГБУ ФБ МСЭ Минтруда России).
Данную инструкцию можно использовать на всех дистрибутивах, основанных на ветке обновлений p8.
1. Необходимо переключиться на ветку обновлений p8 и установить/обновить оттуда пакет i586-wine-vanilla (либо wine-vanilla при 32-разрядной ОС):
$ su - # apt-repo rm all # apt-repo add p8 # apt-get update # apt-get install i586-wine-vanilla wine-mono wine-gecko
Примечание: После этого не забудьте вернуться обратно на сертифицированную ветку обновлений c8: apt-repo rm all; apt-repo add p8
2. Если wine уже был установлен, то сначала желательно очистить его профиль у пользователя, если он есть (либо командой rm -rf ~/.wine , либо через утилиту winetricks (для запуска используется одноименная команда)). Обращаем внимание, что в этом случае все установленное в wine ПО удалится!
3. С помощью winetricks (запустив его от пользователя) нужно сделать следующее:
- Согласится с установкой дополнительных компонентов.
- Выбрать «Выберите путь для wine по умолчанию» нажать «OК».
- Выбрать «Установить библиотеку DLL или компонент Windows»
- Выбрать пункт «dotnet40» нажать «ОК».
- Дождаться установки согласившись со всеми диалоговыми окнами.
- После установки «dotnet 4.0» выйти из winetricks нажав «Отменить».
Установить Font Xplorer:
- Выбрать «Установить программу» нажать «OК».
- Выбрать пункт «fontxplorer» нажать «ОК».
- Дождаться установки согласившись со всеми диалоговыми окнами.
- После установки «fontxplorer» выйти из winetricks нажав «Отменить».
Установить шрифт Times New Roman:
- Запустить Font Xplorer (Приложения -> Другие -> Font Xplorer)
- Выбрать пункт меню Tools -> Install Fonts
- В открывшемся окне выбрать директорию /usr/share/fonts/ttf/ms/ и нажать ОК.
- Выйти из программы.
4. Далее необходимо создать в любом удобном месте файл (например, eaviias.reg ) со следующим содержанием (нажмите кнопку → → →)
Windows Registry Editor Version 5.00 ;Pictures ;-------------------------------------------------- [HKEY_CLASSES_ROOT\pngfile] @="PNG Image" [HKEY_CLASSES_ROOT\pngfile\shell] [HKEY_CLASSES_ROOT\pngfile\shell\open] [HKEY_CLASSES_ROOT\pngfile\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" [-HKEY_CLASSES_ROOT\pngfile\shell\open\ddeexec] ;-------------------------------------------------- [HKEY_CLASSES_ROOT\jpegfile] @="JPEG Image" [HKEY_CLASSES_ROOT\jpegfile\shell] [HKEY_CLASSES_ROOT\jpegfile\shell\open] [HKEY_CLASSES_ROOT\jpegfile\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" [-HKEY_CLASSES_ROOT\jpegfile\shell\open\ddeexec] ;-------------------------------------------------- ;Adobe PDF ;-------------------------------------------------- [HKEY_CLASSES_ROOT\pdffile] @="PDF Document" [HKEY_CLASSES_ROOT\pdffile\shell] [HKEY_CLASSES_ROOT\pdffile\shell\open] [HKEY_CLASSES_ROOT\pdffile\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" [-HKEY_CLASSES_ROOT\pdffile\shell\open\ddeexec] ;-------------------------------------------------- ;MS Excel ;-------------------------------------------------- [HKEY_CLASSES_ROOT\excelfiles] [HKEY_CLASSES_ROOT\excelfiles\shell] [HKEY_CLASSES_ROOT\excelfiles\shell\open] [HKEY_CLASSES_ROOT\excelfiles\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" [HKEY_CLASSES_ROOT\.xlsx] @="excelfiles" [HKEY_CLASSES_ROOT\.xls] @="excelfiles" ;-------------------------------------------------- ;MS Word ;-------------------------------------------------- [HKEY_CLASSES_ROOT\wordfiles] [HKEY_CLASSES_ROOT\wordfiles\shell] [HKEY_CLASSES_ROOT\wordfiles\shell\open] [HKEY_CLASSES_ROOT\wordfiles\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" [HKEY_CLASSES_ROOT\.docx] @="wordfiles" [HKEY_CLASSES_ROOT\.doc] @="wordfiles" ;-------------------------------------------------- ;RTF + TXT ;-------------------------------------------------- [HKEY_CLASSES_ROOT\rtffile] @="Rich Text Document" [HKEY_CLASSES_ROOT\rtffile\shell] [HKEY_CLASSES_ROOT\rtffile\shell\open] [HKEY_CLASSES_ROOT\rtffile\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" ;-------------------------------------------------- [HKEY_CLASSES_ROOT\txtfile] @="Text Document" [HKEY_CLASSES_ROOT\txtfile\shell] [HKEY_CLASSES_ROOT\txtfile\shell\open] [HKEY_CLASSES_ROOT\txtfile\shell\open\command] @="\"Z:\\usr\\local\\bin\\winenative\" xdg-open \"%1\"" ;-------------------------------------------------- [HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements] "Microsoft Sans Serif"="Tahoma"
5. Далее запускаем команду:
С помощью данного файла правки реестра настраиваются ассоциация файлов с нативными приложениями Linux и шрифты для ЕАВИИАС. Подробнее здесь.
6. К настройке ассоциации файлов также необходимо создать исполняемый файл /usr/local/bin/winenative с содержимым:
#!/bin/sh $1 "`wine winepath -u "$2"`"
Также необходимо сделать его исполняемым:
# chmod +x /usr/local/bin/winenative
7. После всех предыдущих настроек запускаем ЕАВИИАС из папки программы командой:
Примечание: Возникновение ошибки «SocketException:Unknown error» в большинстве случаев означает необходимость обновления версии дистрибутива ПО. Автоматическое обновление при запуске под wine не работает.