obsidian://
Obsidian 애플리케이션을 사용하여 URI를 열 도록 Linux 환경을 구성하려고 합니다 (참조:흑요석 URI 사용).
이것이 제가 사용하는 프로세스입니다. 재현 가능한지 확인하기 위해 깨끗한 Ubuntu 시스템에서 이 작업을 수행했습니다.
이 파일은 파일과 함께 저장됩니다
Obsidian.AppImage
. 파일에 실행 권한이 있습니다.~/obsidian
icon.jpg
AppImage
이것은 내
~/.local/share/applications/obsidian.desktop
파일 내용입니다.[Desktop Entry] Name=Obsidian Exec=/home/rachum/obsidian/Obsidian.AppImage %u Terminal=false Type=Application Icon=/home/rachum/obsidian/icon.png StartupWMClass=obsidian X-AppImage-Version=0.8.15 Comment=Obsidian Categories=Office; MimeType=text/html;x-scheme-handler/obsidian;
나는 도망쳤다
update-desktop-database ~/.local/share/applications/
xdg-open
의도한 대로 작품을 사용하세요.xdg-open "obsidian://new?vault=notes&name=note&content=content"
이 명령줄은 새로운 설명과 콘텐츠가 포함된 Obsidian 애플리케이션을 엽니다.
Firefox(사전 설치됨)에서 위의 URI를 URL 표시줄에 입력하면 새로운 주석과 콘텐츠가 포함된 Obsidian 애플리케이션도 열립니다.
.deb
Chrome 공식 홈페이지에서 파일을 다운로드하고 실행하여 Chrome을 설치했습니다.dpkg -i <.deb file>
위의 URI를 Chrome에 입력하면 "obsidian://new?vault=notes&name=note&content=content"에 대한 Google 검색으로 리디렉션됩니다.
Chrome이 XDG 구성을 따르지 않는 이유는 무엇입니까?
업데이트 #1: 답변 댓글에 더 많은 세부정보를 추가합니다.
내 ~/.local/share/applications/mimeapps.list
파일은 다음과 같습니다.
[Default Applications]
x-scheme-handler/obsidian=obsidian.desktop
내 ~/.local/share/applications/mimeinfo.cache
파일은 다음과 같습니다.
[MIME Cache]
text/html=obsidian.desktop;
x-scheme-handler/obsidian=obsidian.desktop;
답변1
Chrome이 XDG 구성을 따르지 않는 이유는 무엇입니까?
귀하의 평가가 올바르지 않습니다. Chrome은 xdg-open을 사용합니다. 아래 스크린샷은 google-chrome과 chromium 모두 xdg-open을 사용하여 "특수 링크"를 열라는 메시지를 표시합니다.
항상 실행 옵션 재설정
이전에 "이 유형의 파일은 항상 열기" 대화 상자를 수락한 경우 이 설정을 다시 설정해야 합니다. 지우려는 옵션은 다음과 같습니다.
다운로드 후 특정 파일 형식을 자동으로 엽니다.
이 옵션에 액세스하려면:
- 크롬에서 특수 URL chrome://settings/를 엽니다.
- 아래로 스크롤하여 하단의 고급 링크를 클릭하세요.
- 더 많은 설정을 보려면 "andvanced"에서 쉐브론 아이콘을 클릭하세요.
- 다운로드 아래에는 다운로드 대신 실행할 파일을 하나 이상 설정한 경우에만 존재하는 옵션이 있습니다.
- "지우기"를 클릭하세요"다운로드 후 특정 파일 형식을 자동으로 열기" 옆의 버튼
특정 파일 형식만 재설정하는 옵션은 없습니다. 그러면 버튼이 사라지는 것을 볼 수 있습니다.
URL이 차단되지 않았는지 확인하세요.
Chrome 브라우저에서 호스팅 계정에 로그인하는 Linux 사용자의 경우. 선호하는 JSON 파일 편집기를 사용하세요.
/etc/opt/chrome/policies/driven 폴더로 이동합니다. JSON 파일을 생성하거나 업데이트하고 필요한 경우 URL을 입력합니다. URLBlocklist에서 차단하려는 URL을 추가합니다. URLAllowlist에 사용자가 방문할 URL을 추가하세요.
chrome://policy/를 사용하여 현재 로드된 정책을 확인할 수 있습니다.
원천:
Chrome 프로토콜 핸들러 재설정
$ grep -r ~/.config/google-chrome/ -e protocol_handler -l
기본 구성 파일을 사용하는 경우 편집할 파일은 다음과 같습니다.
- $HOME/.config/google-chrome/Default/Preferences
여러 프로필을 사용하는 경우 기본 설정 파일은 google-chrome/Profile 2, google-chrome/Profile 3 등에 있습니다.
필요에 따라 특정 프로토콜(이 경우 obsidian://)에 대한 설정을 지웁니다.
$ jq < /home/jaroslav/.config/google-chrome/Default/Preferences \
| grep protocol_handler -C 2
"custom_handlers": {
"enabled": true,
"ignored_protocol_handlers": [
{
"last_modified": "13276367110202441",
--
}
],
"registered_protocol_handlers": []
},
"custom_links": {
--
},
"ppapi_broker": {},
"protocol_handler": {},
"safe_browsing_url_check_data": {},
"sensors": {},
최신 버전의 Chrome에서는 Web-ui를 통해 제어할 수 있습니다. 이 특별한 URL을 열어보세요
- 크롬://settings/content/fileHandlers
- 크롬://설정/핸들러
당신은 이것을 선택하고 싶습니다 :
웹 응용 프로그램은 파일 형식을 열도록 요청할 수 있습니다.
그리고
사이트에는 처리 계약이 필요할 수 있습니다.
인용하다:
- https://bbs.archlinux.org/viewtopic.php?id=152993
- https://www.ghacks.net/2015/10/29/how-to-open-downloads-in-chrome-automatically/
- https://stackoverflow.com/questions/51986354/how-to-prevent-popping-up-xdg-open-dialogue-from-ubuntu-chrome-while-opening-spe
- https://askubuntu.com/questions/465586/how-to-reset-external-protocol-handler-in-chrome
답변2
나에게 도움이 된 것은 sudo update-desktop-database
나도 같은 문제가 있었고 잠시 검색한 후에 이것을 발견했다는 것입니다.https://superuser.com/questions/162092/how-can-i-register-a-custom-protocol-with-xdg