Wie kann ich Mutt als Standard-E-Mail-Client festlegen, wenn ich auf einer Webseite auf „Mailto“ klicke?

Wie kann ich Mutt als Standard-E-Mail-Client festlegen, wenn ich auf einer Webseite auf „Mailto“ klicke?

muttIch wollte im Terminal starten , wenn ich auf ein mailto:Tag auf einer Webseite klicke. Ist das möglich? Derzeit wird Firefox gestartet, was ich wirklich nicht bevorzuge; es lädt langsam und ist unnötig.

Antwort1

Zuerst müssen Sie sicherstellen, dass eine .desktopDatei vorhanden ist, die von der XDG-Spezifikation benötigt wird. Bei GUI-Programmen ist die Wahrscheinlichkeit groß, dass bereits eine geeignete .desktopDatei vorhanden ist, für Terminalanwendungen müssen Sie normalerweise eine eigene Datei erstellen. Überprüfen Sie das Verzeichnis /usr/share/applicationsauf vorhandene Dateien. Möglicherweise ist bereits eine mutt.desktopDatei vorhanden. Wenn nicht, erstellen Sie eine.

Bearbeiten Sie dann die Datei ~/.local/share/applications/mimeapps.listund fügen Sie die folgende Zeile hinzu

[Default Applications]
x-scheme-handler/mailto=mutt.desktop;

Damit wird mutt beim mailtoHandler registriert. Eine erfolgreiche Registrierung können Sie mit

xdg-mime query default 'x-scheme-handler/mailto'

Das sollte die Ausgabe sein mutt.desktop. Jetzt können Sie in Chromium auf „mailto“ klicken und ein Terminal mit einer Mutt-Instanz sollte erscheinen. Sie müssen nicht einmal die Desktop-Sitzung oder den Browser neu starten.

Antwort2

Sie müssen ein Skript schreiben, das das Terminal angibt, in dem Sie es muttöffnen möchten. Anschließend können Sie dieses Skript in Firefox mit Mailto-Links verknüpfen. Wenn Sie beispielsweise Terminator verwenden, können Sie das folgende Skript erstellen.

#!/usr/bin/env bash
terminator -x "mutt '$@'"

In meinem Fall habe ich einen persistenten Dropdown-Terminator, also möchte ich ihn in einem neuen Tab. Ich brauche auch eine 256-Farben-Palette, also verwende ich

#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"

Dies ist mein vollständiges Skript, das mit der Tastenkombination Ctrl+ auch den Terminator (sofern ausgeblendet) einblendet Spaceund in den Vordergrund bringt.

#!/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

Antwort3

Welche Desktop-Umgebung verwenden Sie? Sie müssen die Einstellungen des MIME-Typ-Handlers überprüfen, um herauszufinden, wie Sie für diese Art von Dingen einen bestimmten Handler festlegen.

Antwort4

Sie können xdg-mime verwenden, um eine Standardanwendung zu registrieren. In diesem Fall führen Sie Folgendes auf einem Terminal aus:

xdg-mime default mutt.desktop 'x-scheme-handler/mailto'

Und Sie können überprüfen, ob es funktioniert hat, indem Sie Folgendes ausführen:

xdg-mime query default 'x-scheme-handler/mailto'

verwandte Informationen