답변:
파일 관리자 (기본적으로 노틸러스)는 파일 의 MIME 유형 을 사용하여 파일을 열 프로그램을 결정합니다. 응용 프로그램이 설치되면 응용 프로그램에서 열 수있는 MIME 형식과 파일을 .desktop 파일에 여는 데 사용할 명령을 지정할 수 있습니다 /usr/share/applications
. 메뉴, 바탕 화면 바로 가기 등에 사용되는 파일입니다.
예를 들어, 김프에는 다음과 같은 .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/local/share/applications
입니다. gtk도 기본적으로 거기에 있다고 생각합니다. 내 시스템에는 있지만 Ubuntu 7.04 이후로 업그레이드 (다시 설치되지 않음)되었습니다.
dv3500ea의 탁월한 답변을 보완하기 위해 협회를 변경할 때 발생하는 일에 대한 정보를 추가하고 싶습니다.
defaults.list ( 'locate defaults.list'를 입력하여 찾을 수 있음)는 각 MIME 유형과 관련된 응용 프로그램 목록을 제공하지만 사용자 정의한 내용은 홈 디렉토리의 ~ / .local /에 저장됩니다. 공유 / 응용 프로그램 /mimeapps.list. 따라서 연관을 추가 또는 제거하거나 기본 연관을 변경하면이 파일이 업데이트됩니다.
http://library.gnome.org/admin/system-admin-guide/stable/ 의 그놈 데스크탑 시스템 관리 안내서에서 mimeapps.list를 다루지 않는 것 같지만 http : //live.gnome 에서 다음 설명을 찾았습니다 . .org / SysAdminGuideUpdate :
mimeapps.list는 $ XDG_DATA_DIRS / applications에 있습니다. 그 목적은 응용 프로그램에서 MIME 연결을 추가하거나 제거하는 것입니다. 사용자가 "연결 프로그램"대화 상자에서 변경하면 nautilus가 ~ / .local / share / applications / mimeapps.list를 작성합니다.
mimeapps.list
항목이에 의해 재정의 됨을 알았습니다 defaults.list
.
~/.local/share/applications/mimeapps.list
pcmanfm과 같은 실행중인 프로세스는 다시 시작하지 않고 변경 사항을 선택했습니다. (mplayer.desktop은 mplayer를 실행합니다. / usr / local에있는 오래된 mplayer 설치에서 하나의 거짓말을했습니다. IDK MimeType=list;
가 필요한지 여부는 IDK 입니다.
mimeapps.list
는 다음 검색 경로의 어느 곳에 나 있을 수 있습니다 : specification.freedesktop.org/mime-apps-spec/…
내 시스템 (Debian Jessie)에는 ~/.config/mimeapps.list
실수로 gedit로 특정 파일 형식을 열도록 만든 연결 이 있다는 것을 알았습니다. 이것을 수정하는 표준 방법 (기본 응용 프로그램 설정, Thunar의 속성으로 열기 )은 이것을 반영하지 않았지만 gedit가 기본 응용 프로그램이었습니다.
줄을 제거 할 수 있었고 ~/.config/mimeapps.list
이제 올바른 응용 프로그램이 파일을 엽니 다.
~/.config/mimeapps.list
.
mimeapps.list
는 다음 검색 경로의 어느 곳에 나 있을 수 있습니다. specification.freedesktop.org/mime-apps-spec/…
기본 연결에 관한이 링크를 찾았는데 도움이 될 수 있습니다.
글로벌 연결을위한 https://wiki.archlinux.org/index.php/Default_Applications
:
/usr/share/applications/mimeapps.list
사용자 당 연결 :
~/.local/share/applications/mimeapps.list
구문은 다음과 같습니다.
[Added Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
...
[Removed Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
[Added Associations (추가 된 연결)] 섹션은 기본 설정을 낮추는 기본 응용 프로그램을 지정하는 데 사용됩니다. 이는 desktopfile1 이 가장 선호되고 desktopfileN 이 가장 선호되지 않음 을 의미 합니다.
[제거 된 연결] 섹션은 이전에 상속 된 연결을 명시 적으로 제거하는 데 사용됩니다.
/usr/share/applications/mimeapps.list
것은 아니며 존재하지 않습니다.
mimeapps.desktop
와 함께defaults.desktop
다음 줄 truecrypt.desktop
을 ~/.local/share/applications
사용하여 파일 을 만듭니다 .
[Desktop Entry]
Encoding=UTF-8
Type=Application
Icon=
Exec=/usr/bin/truecrypt %U
Name=truecrypt
Comment=manage truecrypt volumes
그런 다음 파일을 편집하고 ~/.local/share/applications/mimeapps.list
다음 줄을 추가하십시오.
application/octet-stream=truecrypt.desktop
이 명령을 실행하여 Mime 유형의 Truecrypt를 찾았습니다.
file --mime-type -b <any truecrypt filename>
mimeapps.list
검색 경로
다른 사람들은이 파일을 언급했지만 그 위치를 정확하게 설명하지는 못했습니다.
freedesktop.org 표준은 https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html에 나와 있습니다 .
이 파일의 조회 순서는 다음과 같습니다.
$XDG_CONFIG_HOME/$desktop-mimeapps.list user overrides, desktop-specific (for advanced users)
$XDG_CONFIG_HOME/mimeapps.list user overrides (recommended location for user configuration GUIs)
$XDG_CONFIG_DIRS/$desktop-mimeapps.list sysadmin and ISV overrides, desktop-specific
$XDG_CONFIG_DIRS/mimeapps.list sysadmin and ISV overrides
$XDG_DATA_HOME/applications/$desktop-mimeapps.list for completeness, deprecated, desktop-specific
$XDG_DATA_HOME/applications/mimeapps.list for compatibility, deprecated
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list distribution-provided defaults, desktop-specific
$XDG_DATA_DIRS/applications/mimeapps.list distribution-provided defaults
그런 다음 해당 환경 변수의 기본값은 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
.
다음과 같은 명령 :
xdg-settings set default-web-browser chromium-browser.desktop
xdg-settings get default-web-browser
해당 파일을 자동으로 편집합니다.
모든 사용자의 경우 :
/usr/share/applications/defaults.list
각 사용자는 다음 기본값을 재정의하기위한 구성 파일이 있습니다.
~ / .config / mimeapps.list
장애가있는 사람을 재정의하는 데 사용될 수있는 장소 는 https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html 을 참조하십시오 .
연관을 변경하려는 파일의 MIME 유형을 알아야합니다.
또한 모든 연결은 다음을 사용하여 명령 행에서 처리 변경 될 수 있습니다.
xdg-mime
Freedesktop.org (이전의 X 데스크톱 그룹, 따라서 "XDG"약어)는 현재 이와 같은 X 표준을 주도하는 그룹입니다 ( Wikipedia에서 자세히 알아보십시오 ).
warvariuc의 답변은 이미 xdg -mime 사용법을 언급합니다 .
xdg-mime default xnview.desktop image/jpeg
이미지 편집기와 뷰어로 많은 시간을 보낸 후에, 나는 거의 다른 이미지 유형 중에서 일관성이 거의없는 다른 이미지 유형에 대해 다른 뷰어로 끝났습니다.
위의 명령을 가져 와서 이미지 뷰어가 제어하는 각 MIME 유형에 할당 한 다음 그 image-viewer.desktop
중 하나를 복제 하여 새 MIME 유형을 만들었 습니다 (선택 사항입니다. 즐겨 사용하는 것만 재사용 할 수 있음). 다음으로 MIME 유형이 새로운 기본 응용 프로그램과 호환되지 않는지 수동으로 확인했습니다. 마지막으로 해당 응용 프로그램을 다른 모든 응용 프로그램의 MIME 유형에 대한 기본값으로 설정했습니다.
sed '/^MimeType=/!d; s///; s/;/\n/g' \
/usr/share/applications/{ristretto,geeqie,gthumb}.desktop |sort -u \
|xargs xdg-mime default image-viewer.desktop
이것은 검사 .desktop
시청자 (각 파일을 Ristretto은 , Geeqie 및 GThumb 내 경우는)의 MIME 정의 추출 (가 앞에되고 MimeType=
, 다음 세미콜론으로 구분 된 목록을 포함)이 (이전에 일치) 서문 라벨을 제거하고, 목록을 한 줄에 하나의 항목으로 나눕니다. sort -u
그런 다음 중복 라인을 제거한 다음 xdg-mime
새로운 기본값을 설정해야합니다.
(이를 실행하기 전에 이것을 테스트하려면 xargs
로 변경 xargs echo
하고 결과 명령을 실행하는 대신 인쇄합니다.)
이 기술은 대상 앱에서 회수하려는 모든 항목에 적용됩니다. 새 .desktop
파일 을 만들 필요조차 없습니다 (기존 파일을 사용할 수 있음). 필자는 이미지 프리 뷰어들 사이의 충성을 불가피하게 변경할 때 그 파일 하나만 변경하면되도록 추가 단계를 수행했습니다.
우분투 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
/usr/share/applications
.desktop
파일 에서 MIME 유형을 변경 한 후 새 연관이 작동하는지 확인하기 위해 해당 MIME 데이터베이스를 다시 작성하는 명령이 있습니까?