Câu trả lời:
Trước tiên, bạn cần đảm bảo rằng có một .desktop
tập tin được yêu cầu bởi
đặc tả XDG. Đối với các chương trình GUI, cơ hội là tốt rồi
là một phù hợp .desktop
tập tin, cho các ứng dụng đầu cuối thường bạn phải
tạo một cái của riêng bạn Kiểm tra thư mục /usr/share/applications
cho
tập tin hiện có. Có lẽ đã có một mutt.desktop
tập tin. Nếu không,
Tạo một cái.
Sau đó chỉnh sửa tập tin ~/.local/share/applications/mimeapps.list
và thêm
dòng sau
[Default Applications]
x-scheme-handler/mailto=mutt.desktop;
Đăng ký này mutt với mailto
xử lý. Bạn có thể xác nhận đăng ký thành công với
xdg-mime query default 'x-scheme-handler/mailto'
cái nào nên xuất mutt.desktop
. Bây giờ bạn có thể nhấp vào trên mail mailtoto trong crom
và một thiết bị đầu cuối sẽ bật lên với một ví dụ mutt. Không cần thậm chí
khởi động lại phiên máy tính để bàn hoặc trình duyệt.
Bạn cần viết một tập lệnh chỉ định thiết bị đầu cuối mà bạn muốn mutt
để mở. Sau đó, trong Firefox, bạn có thể liên kết tập lệnh này với các liên kết mailto. Ví dụ: nếu bạn đang sử dụng terminator, bạn có thể tạo tập lệnh sau.
#!/usr/bin/env bash
terminator -x "mutt '$@'"
Trong trường hợp của tôi, tôi có một terminator thả xuống liên tục, vì vậy tôi muốn nó trong một tab mới. Tôi cũng cần một bảng màu 256, vì vậy tôi sử dụng
#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"
FWIW đây là tập lệnh đầy đủ của tôi, cũng bỏ ẩn bộ kết thúc (nếu bị ẩn), sử dụng phím tắt Ctrl + Không gian , và đưa nó ra phía trước.
#!/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
Môi trường máy tính để bàn nào bạn đang chạy? Bạn cần kiểm tra các cài đặt của trình xử lý loại MIME về cách đặt trình xử lý cụ thể cho các loại điều này.