기본적으로 내 FreeBSD 11.0-CURRENT의 Firefox(33.0)에는 PDF 파일을 열기 위한 기본 응용 프로그램이 Inkscape로 설정되어 있습니다. Firefox는 이전 선택 항목을 기억합니다.보여주다, "Firefox는 이 파일로 무엇을 해야 합니까?" 대화 상자에서 최근까지 이 구성이 어디서 왔는지 혼란스러웠지만 거의 관심이 없었기 때문에 대부분 무시했습니다.
하지만 최근에는 Zotero를 서지 데이터베이스로 사용하기 시작했습니다. Zotero는 Firefox 플러그인으로 실행되며 Firefox 기본 설정에서 내 선택 사항을 무시하고 evince로 PDF 파일을 열거나 어떻게 해야 하는지 묻고 Inkscape로 엽니다. 이로 인해 Firefox의 특정 구성 항목에 대해 후속 조치를 취하려고 시도했지만 기본 설정이 어디에 있는지 찾을 수 없었습니다.
내 홈 디렉토리에 있는 Firefox 관련 파일에서 해당 문자열 Inkscape
(또는) 을 찾을 수 없습니다.inkscape
답변1
"유사한 질문" 링크(xdg - 기본 애플리케이션 동작을 켭니다.- 뚜렷한 상관관계는 없지만 일부 실험에서는 그 행동이 xdg-open
나를 더 깊은 토끼굴로 이끄는 것으로 나타났습니다. Firefox는 규칙에 의존하거나 상속하지 않지만 xdg-open
여전히 MIME 사양 파일을 사용합니다 xdg-open
.
사용자 기반에서 MIME 열기 동작은 사양 파일에 의해 구성됩니다 ~/.local/share/applications/mimeapps.list
.
나에게 이 파일에는 몇 가지 합리적인 프로토콜과 이에 연결된 HTML(및 유사한) 파일이 포함되어 있지만 userapp-Firefox-??????.desktop
다음과 같은 줄을 쉽게 추가할 수 있습니다.
application/pdf=evince.desktop
사용자별로 이 문제를 해결하세요. 파일이 아직 존재하지 않으면 섹션 헤더를 추가하십시오.
[Default Applications]
application/pdf=evince.desktop
더 깊이 들어가 보면 MIME 유형은 /usr/local/share/applications/mimeinfo.cache
(아마도 FreeBSD 시스템을 사용하지 않는 경우) 해당 폴더에 모두 나열되어 있습니다./usr/share/…
application/pdf=inkscape.desktop;evince.desktop;
evince.desktop
inkscape.desktop
MimeType=[…]application/pdf;[…]
mimeinfo.cache
잘 정의된 순서 없이 파일에 나열된 MIME 유형에서 자동으로 생성 되므로 .desktop
Inkscape에서 PDF MIME 유형을 제거하고 캐시 재생성을 사용 update-mime-database
하거나 mimeapps.list를 생성해야 합니다(전역적으로 /usr/local/share/applications/
또는 사용자를 위해 ~/.local/share/applications/mimeapps.list
).
답변2
Firefox 38.8.0 ESR의 Debian Lenny 및 GNOME 2에서 관련 애플리케이션을 통해 발견했습니다.XDG(설명OP의 답변)은 다운로드에서 다운로드한 파일을 라이브러리에서 열 때만 사용됩니다.
거기에서도 구현은 xdg-open
GNOME 관련 경로를 무시하기 때문에 일관성 없는 결과를 제공합니다(제 경우에는 /usr/share/gnome/applications/defaults.list
심볼릭 링크였습니다 /etc/gnome-vfs-2.0/defaults.list
). application/pdf=evince.desktop
내 에서 이 작업을 수행해야 합니다 ~/.local/share/applications/defaults.list
. ( 이 작업은 최신 버전의 XDG defaults.list
에 병합되었습니다 .)mimeapps.list
XDG 대신,메타메일 기능(mailcap)다음 사용 사례를 해결하기 위한 관련 애플리케이션:
- 다운로드 패널에서 다운로드한 파일을 엽니다(도구 모음에서 다운로드 버튼을 누른 후 표시됨).
- 파일 다운로드 대화 상자 드롭다운 메뉴의 기본 애플리케이션
- 기본 설정 → 응용 프로그램 드롭다운 메뉴의 기본 응용 프로그램(
about:preferences#applications
)
about:preferences#applications
이 콘텐츠 유형의 URL로 이동할 때 강제로 다운로드하지 않는 한 의 기본 설정이 사용됩니다 .
Mailcap은 XDG보다 오래된 메커니즘이며 MIME도 파생되는 이메일에 뿌리를 두고 있습니다. 유틸리티 run-mailcap
는 다음과 같습니다 xdg-open
. 해당 구성은 세 개의 파일로 구성됩니다(우선순위는 낮아짐).
~/.mailcap
— 사용자 항목/etc/mailcap.order
— 시스템 전체 항목 주문 사양/etc/mailcap
— 시스템 전체 항목(사용자 항목과 동일한 형식)
주어진 MIME 유형에 대해 애플리케이션에 대해 지정된 항목의 한 줄 목록을 함께 생성합니다. 항목은 위에서 아래로 일치하므로 먼저 나타나는 항목이 우선 적용됩니다.
/etc/mailcap.order
시스템 전체의 항목 우선 순위를 변경하려면 를 편집 하고 실행 해야 합니다 update-mime
.
특정 항목을 무시하거나 시스템 전체를 지정하려면 맨 위 섹션(수동으로 생성된 항목의 경우)을 편집 /etc/mailcap
하고 를 실행 해야 합니다 update-mime
. 상단 섹션의 댓글을 참조하세요.
사용자 항목 및 재정의의 경우 ~/.mailcap
변경 사항이 즉시 적용됩니다. 존재 하지 않습니다 ~/.mailcap.order
. 항목 우선 순위를 변경하려면 물리적으로 순서를 바꾸거나( 에 있는 경우 ~/.mailcap
) 기본 버전으로 덮어쓰십시오( 에 있는 경우 /etc/mailcap
).
바라보다man update-mime
,man mailcap
그리고man mailcap.order
.
일부 응용 프로그램은 다음을 사용합니다.일반 유틸리티(예: x-www-browser
또는 pager
)를 사용하여 기본 애플리케이션을 감지합니다. 당신은 사용하고 싶을 수도 있습니다update-alternatives
또는 배포판에서 공통 유틸리티의 선호하는 구현을 선택하기 위한 유사한 메커니즘. 또는 특정 사용자에 대해 시스템 전체에서 선호하는 대안을 재정의하려면 EDITOR
( 또는 VISUAL
) PAGER
및 와 같은 환경 변수를 설정합니다 BROWSER
. 그들의 지원sensible-browser
기타, 종종 보다 구체적인 도구(예:git commit
EDITOR
및 )를 사용합니다 VISUAL
.
답변3
비슷한 문제가 있었습니다. 전보 등은 증거 대신 크롬을 사용하여 PDF 파일을 열었습니다.
~에 따르면https://wiki.archlinux.org/title/Xdg-utils내가 해냈어
$ env XDG_UTILS_DEBUG_LEVEL=10 xdg-mime query default application/pdf
이것이 chromium.desktop
실제로 최종 답변입니다. 행위
$ xdg-mime default evince.desktop application/pdf
문제가 해결되지 않았습니다.
올바른 데스크탑 파일을 검색해야 합니다(find 및 바꾸기를 사용합니다 fd
).
$ cd /
$ fd -LH evince.desktop
org.gnome.Evince.desktop
얻다 org.gnome.Evince.desktop
.
설정
$ xdg-mime default org.gnome.Evince.desktop application/pdf
Telegraph, Obsidian 등의 문제가 실제로 해결되었습니다.