답변:
먼저 .desktop
XDG 사양에 필요한 파일이 있는지 확인해야합니다 . GUI 프로그램의 경우 이미 적합한 .desktop
파일 이있을 가능성이 높습니다. 터미널 응용 프로그램의 경우 일반적으로 고유 한 파일을 만들어야합니다. /usr/share/applications
기존 파일 의 디렉토리 를 확인하십시오 . 이미 mutt.desktop
파일 이있을 수 있습니다. 없는 경우 새로 만드십시오.
그런 다음 파일을 편집하고 ~/.local/share/applications/mimeapps.list
다음 줄을 추가하십시오.
[Default Applications]
x-scheme-handler/mailto=mutt.desktop;
mailto
핸들러에 뮤트를 등록 합니다. 당신은 성공적인 등록을 확인할 수 있습니다
xdg-mime query default 'x-scheme-handler/mailto'
출력해야합니다 mutt.desktop
. 이제 크롬에서 "mailto"를 클릭하면 터미널이 mutt 인스턴스로 나타납니다. 데스크탑 세션이나 브라우저를 다시 시작할 필요도 없습니다.
mutt
열려 는 터미널을 지정하는 스크립트를 작성해야합니다 . 그런 다음 Firefox에서이 스크립트를 mailto 링크와 연관시킬 수 있습니다. 예를 들어 터미네이터를 사용하는 경우 다음 스크립트를 작성할 수 있습니다.
#!/usr/bin/env bash
terminator -x "mutt '$@'"
필자의 경우 지속적인 드롭 다운 종결자가 있으므로 새 탭에서 원합니다. 256 색 팔레트도 필요하므로
#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"
FWIW 이것은 내 전체 스크립트이며 바로 가기 Ctrl+를 사용하여 종료 기 (숨겨져있는 경우)의 숨기기를 해제 Space하고 앞으로 가져옵니다.
#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"
# If necessary, unhide and focus terminator window.
windowlist=$(xprop -root | sed -rn 's/_NET_CLIENT_LIST_STACKING\(WINDOW\): window id # (.*)/\1/p' | tr -d ',')
terminator_visible=false
for i in $windowlist; do
[[ $(xprop -id $i | grep WM_CLASS\(STRING\)) == 'WM_CLASS(STRING) = "terminator", "Terminator"' ]] && terminator_visible=true && term_id=$i
done
if [[ $terminator_visible == false ]]; then # it's hidden
xdotool key --clearmodifiers ctrl+space
elif [[ $(xprop -id $(xdotool getactivewindow) | grep WM_CLASS\(STRING\)) != 'WM_CLASS(STRING) = "terminator", "Terminator"' ]]; then # it's visible, but not active
xdotool windowactivate $term_id 2> /dev/null # Gives error; not sure why. XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
fi
어떤 데스크탑 환경을 실행하고 있습니까? 이런 종류의 것들에 대한 특정 처리기를 설정하는 방법에 대한 MIME 유형 처리기의 설정을 확인해야합니다.