링크 xdg-open
를 여는 데 사용하고 싶습니다 irc://
. 필요한 매개 변수를 어떻게 만들 수 있습니까?
링크 xdg-open
를 여는 데 사용하고 싶습니다 irc://
. 필요한 매개 변수를 어떻게 만들 수 있습니까?
답변:
xdg-open은 기본적으로 어떤 데스크탑 환경이 있는지 확인한 다음 gnome-open, gvfs-open, xfce-open 등을 실행합니다. 데스크탑 환경 별 지침은 아래를 참조하십시오 ...
Gnome은 gconf를 사용하여 모든 것을 저장하는 gnome-open 프로그램을 사용합니다. 예를 들어 gnome-open irc : // blah를 실행하는 Ubuntu 10.10이 설치된 내 컴퓨터에서 xchat에는 irc : // 처리기를 추가하는 gconf 설정 패치가 포함되어 있기 때문에 xchat이 열립니다.
이것은의 gconf 설정과 함께 gnome이이를 수행하는 방법을 보여줍니다 /desktop/gnome/url-handlers/
. 참조 xchat-2.8.8/src/common/dbus/apps_xchat_url_handler.schemas
예를 들어.
KDE의 경우 / usr / share / kde4 / services /에있는 .protocol 파일을보고 새 프로토콜에 대한 새 프로토콜을 만들어 ~ / .kde / share / kde4 / services /에 넣으십시오. 다른 사용자를위한 수정 사항으로 패키지에 추가하는 것을 고려하십시오.
KDE는 사용 가능한 버전과 보유한 KDE 버전에 따라 kde-open 또는 kfmclient를 사용합니다.
XFCE는 exo-open이라는 프로그램을 사용하는데,이 프로그램은 그것을 구성하거나 URI 핸들러를 추가 할 수있는 방법이 없습니다. 소스 코드를 살펴보면 데스크탑 파일을 사용하여 세 가지 유형의 프로그램 만 지정한다는 것을 알 수 있습니다. TerminalEmulator, WebBrowser 및 EmailClient.
XFCE4 (및 아마도 다른 것)를 사용하면 사용자 정의 프로토콜 핸들러를 정의하도록 xdg-open을 구성 할 수 있습니다. 일부에서는 다음 파일을 작성 / 편집해야합니다.
~ / .local / share / applications / protocolhandler.desktop ~ / .local / share / applications / mimeapps.list
ed2k 프로토콜에 대한 핸들러 추가 예제는 stackexchange.com 2 에서 제공됩니다 .
이를 magnet:
URI 유형과 전송 (예 : 비트 토렌트)으로 설명하지만 모든 방법이나 파일 유형에 동일한 방법을 적용 할 수 있습니다.
또한 Debian Jessie와 함께 이것을 확인했는데 실제로 Ubuntu 컴퓨터는 없지만 동일하게 작동해야한다고 생각합니다 (적어도 xdg-open의 경우 파일 관리자가 다른 논리를 사용하도록 선택할 수 있음에 유의하십시오).
MIME 유형 문자열을 찾으십시오. 파일 MIME 유형의 경우 file 명령을 사용 하여 찾을 수 있습니다 .
$ file -i Broken_Blossoms.webm Broken_Blossoms.webm: video/webm; charset=binary $
위의 파일에서 MIME 형식은 video/webm
입니다.
URI 핸들러의 경우 유형은입니다 x-scheme-handler/<scheme>
. 여기서
<scheme>
콜론 앞의 URI 부분은 "http", "mailto" "irc"또는 "magnet"입니다. 다음은 유효한 MIME 유형의 예입니다.
x-scheme-handler/http
x-scheme-handler/irc
x-scheme-handler/magnet
x-scheme-handler/mailto
응용 프로그램 .desktop 파일의 이름을 찾으십시오.
종종 "공식"이름과 동일하지 않지만 소문자 버전이거나 완전히 다른 이름입니다. 설치된 .desktop 파일은 / usr / share / applications에 있습니다. 파일은 일반 텍스트 파일이며 "공식"이름을 포함하므로 다음 명령이 도움이 될 수 있습니다.
$ grep "Transmission" -l -r /usr/share/applications /usr/share/applications/transmission-gtk.desktop $
이 명령은 "이 디렉토리 아래에 'Transmission'이라는 단어가 포함 된 파일을 나열합니다"를 의미합니다. 일부 응용 프로그램은 사용자에게만 설치 될 수 있으며이 경우 경로는입니다
~/.local/share/applications
.
파일이 전혀 없을 수있는 "이상한"응용 프로그램이있는 경우 언제든지 응용 프로그램을 만들어 응용 프로그램 개발자에게 보낼 수 있습니다. 쉬운 방법은 기존 필드를 복사하고 이해 한 필드를 다시 쓰고 모르는 필드를 제거하는 것입니다. 자세한 내용은 사양 을 참조하십시오.
xdg-mime 명령을 사용 하여 지정하십시오 .
$ xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet $
파일의 실제 위치 (/ usr / share / applications, ~ / .local / share / applications ...)에 관계없이 항상 전체 경로가 아닌 name 만 사용 합니다.
일반적으로 명령은 아무것도 출력하지 않습니다. 방금 수행 한 작업을 확인하거나 열지 않고 현재 MIME 유형에 할당 된 항목을 보려면 :
$ xdg-mime query default x-scheme-handler/magnet transmission-gtk.desktop $
참고 1 : 다른 MIME 유형을 확인하려면 /etc/mime.types를 확인하십시오. 세계의 모든 유형을 포함하지는 않습니다. 예를 들어, URI 처리기는 연결을 처리하는 "공격적"형태로 사용될 수 있습니다. 예를 들면 다음과 같습니다.
grep ^video/ | cut -d\t -f1 | xargs xdg-mime default vlc.desktop
알려진 모든 비디오 형식을 VLC에 연결합니다.
참고 2 : .desktop 파일에는 종종 MimeType
필드를 사용하여 처리 할 수 있다고 주장하는 MIME 유형 목록이 포함됩니다 . xdg-mime
매뉴얼 페이지에 따르면 위에서 언급 한 명령이 작동하기 전에 .desktop 파일이 MIME 유형을 요구해야하지만 필드가 누락 된 경우에도 작동하는 것 같습니다. (제대로, 연결이 적용되고 응용 프로그램이 시작됩니다. 실제로 유형을 처리 할 수 있다면 다른 질문입니다). 단점이 무엇인지 잘 모르겠습니다 (앞으로 xdg-mime 이 더 제한적일 수 있습니다).
xdg-mime query filetype FILE
MIME 유형을 찾는 XDG 방법입니다. 2) 또한 기본값을 직접 편집하여 더 체계적으로 유지하고 나중에 백업 할 수 .config/mimeapps.list
있습니다. 파일입니다.
xdg-mime query filetype xyz.wbem
OTOH는 정보를 적게 제공하고 입력하기가 더 쉽습니다 .
postman
Chrome 확장 프로그램이 아닌 수동으로 설치된 Postman 앱 과 링크 를 연결 하여 브라우저에서 postman 문서를 다음과 같이 열 수 있도록하려고했습니다.
연결하려는 링크는 다음과 같습니다.
postman://app/collections/import/39995-2b0394ab-b007-488d-9a0a...
연결을 수행하기 위해 다음 단계를 수행했습니다.
/home/andrzej.rehmann/software/postman/
/usr/share/applications/Postman.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Postman
Icon=/home/andrzej.rehmann/software/postman/app/resources/app/assets/icon.png
Exec="/home/andrzej.rehmann/software/postman/Postman" %u
Comment=Develop with pleasure!
Categories=Development;
Terminal=false
StartupWMClass=Postman
postman
을 실행 하여 xdg 링크를 애플리케이션과 연관 시키십시오 .xdg-mime default Postman.desktop x-scheme-handler/postman
누군가 관심이 있다면이 구성을 사용하도록 설정했습니다 : https://github.com/hoto/ansible-home-fedora/blob/fedora/roles/postman/tasks/postman_installer.yml