Файловый менеджер (по умолчанию 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
предоставляет информацию о системных значениях по умолчанию. Если вы не выберете иное, эти приложения используются при открытии файла.
/usr/share/applications
.desktop
файлах существует ли команда для повторного создания этой базы данных MIME, чтобы увидеть новые ассоциации в действии?sudo update-desktop-database
См. Jarrpa.net/2011/10/28/…/usr/local/share/applications
. Я думаю, что GTK выглядит там тоже по умолчанию. Это происходит в моей системе, но оно было обновлено (не переустановлено) начиная с Ubuntu 7.04 или около того.В дополнение к отличному ответу dv3500ea, я хотел бы добавить некоторую информацию о том, что происходит, когда вы меняете свои ассоциации.
Хотя defaults.list (который вы можете найти, набрав «locate defaults.list») предоставляет список приложений, связанных с каждым типом MIME, все ваши настройки хранятся в вашем домашнем каталоге, в ~ / .local / доля / приложения / mimeapps.list. Поэтому, если вы добавляете, удаляете ассоциации или изменяете ассоциации по умолчанию, этот файл обновляется.
Руководство по администрированию системы рабочего стола GNOME по адресу http://library.gnome.org/admin/system-admin-guide/stable/ , по-видимому, не обсуждает mimeapps.list, но я нашел следующее описание на http: //live.gnome .org / SysAdminGuideUpdate :
источник
mimeapps.list
он перекрывается записями вdefaults.list
.~/.local/share/applications/mimeapps.list
запустить s / vlc / mplayer / , и запущенные процессы, такие как pcmanfm, восприняли изменения без перезапуска. (mplayer.desktop просто запускает mplayer. Я полагаю, у меня был один из старых установок mplayer в / usr / local. IDK,MimeType=list;
нужен ли он или нет.mimeapps.list
может быть в любом месте по следующему пути поиска: Характеристики.freedesktop.orgЯ обнаружил, что в моей системе (Debian Jessie) также есть
~/.config/mimeapps.list
ассоциация, которую я случайно создал, чтобы открыть файл определенного типа с помощью gedit. Ни один из стандартных способов исправить это (настройки приложения по умолчанию, свойство Thunar, открытое с помощью свойства) не отразило это, но gedit было приложением по умолчанию.Мне удалось удалить строку,
~/.config/mimeapps.list
и теперь правильное приложение открывает файл.источник
~/.config/mimeapps.list
.mimeapps.list
может быть в любом месте по следующему пути поиска: Характеристики.freedesktop.orgЯ нашел эту ссылку относительно ассоциации по умолчанию, это может быть полезно. https://wiki.archlinux.org/index.php/Default_Applications
для глобальной ассоциации:
по ассоциации пользователей:
Синтаксис следующий:
Раздел [Добавленные ассоциации] используется для указания предпочтительных (по умолчанию) приложений в порядке уменьшения предпочтения. это означает, что desktopfile1 является наиболее предпочтительным, а desktopfileN наименее предпочтительным. Раздел
[Удаленные ассоциации] используется для явного удаления любых ранее унаследованных ассоциаций.
источник
/usr/share/applications/mimeapps.list
не существует.mimeapps.desktop
наdefaults.desktop
Я был в состоянии установить ассоциацию как это:
Вы также можете удалять ассоциации и делать другие вещи:
man xdg-mime
Мне не нужно было бежать
sudo update-desktop-database
.источник
Создайте файл
truecrypt.desktop
в~/.local/share/applications
следующих строках:затем отредактируйте файл
~/.local/share/applications/mimeapps.list
и добавьте следующую строку:Я обнаружил MIME-тип Truecrypt, выполнив следующую команду:
источник
mimeapps.list
путь поискаДругие упоминали этот файл, но никто не объяснил его местонахождение точно.
Стандарт freedesktop.org говорит по адресу https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html :
а затем значения по умолчанию для этих переменных среды приведены по адресу https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html :
$XDG_DATA_HOME
:$HOME/.local/share
$XDG_CONFIG_HOME
:$HOME/.config
$XDG_DATA_DIRS
: нет, добавлено вXDG_DATA_HOME
$XDG_CONFIG_DIRS
: нет, добавлено вXDG_CONFIG_HOME
Старые версии Ubuntu могут не проверяться
~/.config
, поэтому обязательно попробуйте~/.local/share
.Команды как:
автоматически отредактирует эти файлы.
источник
Для всех пользователей:
У каждого пользователя есть файл конфигурации для переопределения этих значений по умолчанию:
см. также https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html для мест, которые могут быть использованы для переопределения значений по умолчанию.
Вы должны знать MIME-тип файла, для которого вы хотите изменить ассоциацию.
Также все ассоциации могут быть обработаны-изменены в командной строке с помощью:
источник
Freedesktop.org (ранее назывался X Desktop Group, то есть аббревиатура «XDG») - это группа, которая в настоящее время руководствуется такими стандартами X ( подробнее в Википедии ).
В ответе Варвариука уже упоминается использование xdg-mime :
После долгих игр с редакторами изображений и программами просмотра я получил разные программы просмотра для разных типов изображений практически без согласованности, особенно среди редких типов изображений.
Я взял указанную выше команду и назначил ее каждому из типов MIME, контролируемых программами просмотра изображений, а затем создал новую
image-viewer.desktop
, клонировав один из них (это необязательно, вы можете просто повторно использовать свой любимый). Затем я вручную проверил, что ни один из типов MIME не будет несовместим с моим новым предпочтительным приложением. Наконец, я установил это приложение по умолчанию для всех типов MIME других приложений:Это проверяет
.desktop
файлы для каждого из зрителей ( Ristretto , Geeqie и GThumb в моем случае), извлекает определение MIME (которому предшествует,MimeType=
а затем содержит список, разделенный точкой с запятой), удаляет (предварительно сопоставленную) метку предисловия и разбивает список на одну запись в строке.sort -u
затем удаляет лишние строки, затем они передаютсяxdg-mime
для установки новых значений по умолчанию.(Если вы хотите проверить это, прежде чем запускать его вживую, измените
xargs
наxargs echo
и он напечатает полученную команду вместо ее запуска.)Этот метод должен работать для всего, что вы хотите вернуть для целевого приложения. Вам даже не нужно создавать новый
.desktop
файл (вы можете использовать существующий). Я сделал этот дополнительный шаг, чтобы, когда я неизбежно изменил свою привязанность между программами просмотра изображений, мне просто нужно было изменить этот файл.источник
В Ubuntu 18.04 я обнаружил, что порядок старшинства следующий: от сильнейшего к слабому:
~/.local/share/applications/defaults.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list
(«Открыть с другим приложением» будет обновлять это)~/.local/share/applications/mimeapps.list
mimeinfo.cache
реестре совместимых приложений, которые генерируются из.desktop
файлов, присутствующих в/usr/share/applications
и/usr/local/share/applications
, и могут быть восстановлены с использованиемupdate-desktop-database
./etc/gnome/defaults.list
источник