파일 연결은 어디에 저장됩니까?


67

Ubuntu 또는 다른 Linux 시스템은 파일 연결을 어떻게 저장합니까?

일부 거기에 /etc/asscociations파일이나 뭔가?

파일을 마우스 오른쪽 버튼으로 클릭하고 "열기"를 통해 파일을 변경할 수 있다는 것을 알고 있지만 파일이 내부에 어떻게 저장되어 있는지 궁금합니다.

답변:


67

파일 관리자 (기본적으로 노틸러스)는 파일 의 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은 시스템 기본값에 대한 정보를 제공합니다. 다른 방법을 선택하지 않으면 파일을 '열 때'사용되는 응용 프로그램입니다.


7
/usr/share/applications .desktop파일 에서 MIME 유형을 변경 한 후 새 연관이 작동하는지 확인하기 위해 해당 MIME 데이터베이스를 다시 작성하는 명령이 있습니까?
Redsandro

12
예. jarrpa.net/2011/10/28/…sudo update-desktop-database 참조
NoBugs

지역 변경에 더 적합한 곳은 /usr/local/share/applications입니다. gtk도 기본적으로 거기에 있다고 생각합니다. 내 시스템에는 있지만 Ubuntu 7.04 이후로 업그레이드 (다시 설치되지 않음)되었습니다.
Peter Cordes

2
: 우분투는 freedesktop.org 다음과 같다 standards.freedesktop.org/mime-apps-spec/... , 멋진 프로젝트를.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

23

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를 작성합니다.


1
그러나 Ubuntu 12.04를 사용하면의 mimeapps.list항목이에 의해 재정의 됨을 알았습니다 defaults.list.
feeela 2016 년

1
14.04에서 나는 내에서 s / vlc / mplayer /를 수행 할 수 있었고 ~/.local/share/applications/mimeapps.listpcmanfm과 같은 실행중인 프로세스는 다시 시작하지 않고 변경 사항을 선택했습니다. (mplayer.desktop은 mplayer를 실행합니다. / usr / local에있는 오래된 mplayer 설치에서 하나의 거짓말을했습니다. IDK MimeType=list;가 필요한지 여부는 IDK 입니다.
Peter Cordes

보다 정확하게 mimeapps.list는 다음 검색 경로의 어느 곳에 나 있을 수 있습니다 : specification.freedesktop.org/mime-apps-spec/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

18

내 시스템 (Debian Jessie)에는 ~/.config/mimeapps.list실수로 gedit로 특정 파일 형식을 열도록 만든 연결 이 있다는 것을 알았습니다. 이것을 수정하는 표준 방법 (기본 응용 프로그램 설정, Thunar의 속성으로 열기 )은 이것을 반영하지 않았지만 gedit가 기본 응용 프로그램이었습니다.

줄을 제거 할 수 있었고 ~/.config/mimeapps.list이제 올바른 응용 프로그램이 파일을 엽니 다.


2
고맙게도 Gedit에서 모든 것을 여는 Firefox를 수정하는 데 실수로 도움이되었습니다. openSUSE 13.2에서 "application / octet-stream = org.gnome.gedit.desktop;"으로 줄을 제거했습니다. :)
user31389

3
우분투 15.04부터 사용자 별 수정 사항도에 저장됩니다 ~/.config/mimeapps.list.
DJCrashdummy

2
보다 정확하게 mimeapps.list는 다음 검색 경로의 어느 곳에 나 있을 수 있습니다. specification.freedesktop.org/mime-apps-spec/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

8

기본 연결에 관한이 링크를 찾았는데 도움이 될 수 있습니다. 글로벌 연결을위한 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 이 가장 선호되지 않음 을 의미 합니다.
[제거 된 연결] 섹션은 이전에 상속 된 연결을 명시 적으로 제거하는 데 사용됩니다.


1
이것은 아치 리눅스 사이트 에서 왔으며 우분투에는 반드시 적용되는 /usr/share/applications/mimeapps.list것은 아니며 존재하지 않습니다.
guntbert

이것을 지적 해 주셔서 감사하지만 사용자가 우분투 또는 다른 Linux 시스템에서 말했다.
IdontCareAboutReputationPoints

5
바꿀 경우 대답은 완벽하게 괜찮 mimeapps.desktop와 함께defaults.desktop
SZX

8

나는 이와 같은 협회를 설정할 수있었습니다.

xdg-mime default xnview.desktop image/jpeg

연결을 제거하고 다른 작업을 수행 할 수도 있습니다. man xdg-mime

나는 달릴 필요가 없었다 sudo update-desktop-database.


7

다음 줄 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>

kde를 사용하지만 firefox와 같은 gtk-native 프로그램이있는 사람들에게는 효과적이기 때문에 좋은 대답입니다.
naught101

5

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

해당 파일을 자동으로 편집합니다.


2

모든 사용자의 경우 :

/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


1

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은 , GeeqieGThumb 내 경우는)의 MIME 정의 추출 (가 앞에되고 MimeType=, 다음 세미콜론으로 구분 된 목록을 포함)이 (이전에 일치) 서문 라벨을 제거하고, 목록을 한 줄에 하나의 항목으로 나눕니다. sort -u그런 다음 중복 라인을 제거한 다음 xdg-mime새로운 기본값을 설정해야합니다.

(이를 실행하기 전에 이것을 테스트하려면 xargs로 변경 xargs echo하고 결과 명령을 실행하는 대신 인쇄합니다.)

이 기술은 대상 앱에서 회수하려는 모든 항목에 적용됩니다. 새 .desktop파일 을 만들 필요조차 없습니다 (기존 파일을 사용할 수 있음). 필자는 이미지 프리 뷰어들 사이의 충성을 불가피하게 변경할 때 그 파일 하나만 변경하면되도록 추가 단계를 수행했습니다.


1

우분투 18.04에서 우선 순위는 다음과 같습니다.

  1. ~/.local/share/applications/defaults.list
  2. /usr/share/applications/defaults.list
  3. ~/.config/mimeapps.list ( "다른 응용 프로그램으로 열기"가이를 업데이트합니다)
  4. ~/.local/share/applications/mimeapps.list
  5. mimeinfo.cache호환되는 응용 프로그램 의 레지스트리 에서 처음 발견 된 일치 항목은 및에 있는 .desktop파일 에서 생성되며를 사용하여 재생성 할 수 있습니다 ./usr/share/applications/usr/local/share/applicationsupdate-desktop-database
  6. (사용하지 않음) /etc/gnome/defaults.list
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.