Hallo dianthus,
(ist das nicht eine Nelke?) schön, dass du den 3 Jahre alten Post gefunden hast. Ich nutze die beschriebene Funktionalität mehrmals am Tag. Das Script ist auch mittlerweile nach meinen Bedürfnissen erweitert worden (automatisch Wahl beim Handy usw).
Bei der Beantwortung deiner Fragen würde ich gern mit Punkt 2 beginnen:
2. was ist dem eintrage in MIME gemeint.
Die MIME (Multipurpose Internet Mail Extensions) Konzeption stammt zwar, wie der Name vermuten lässt aus dem Mail Umfeld, ist bei Unix allerdings eine sehr weitgehende Kern-Funktionalität.
Hintergrund: Woher soll der Rechner wissen, welches Programm z.B. zum Bearbeiten einer Datei verwendet werden soll. Bei Microsoft hat man einen "Datei-Typ", dem eine Applikation zugeordnet werden kann. Bei Unix funktioniert das auch, wenn kein "Datei-Typ" existiert. Der Grund ist die MIME Definition, die am Beispiel der Datei "x" erklärt werden soll:
$ mimetype x
x: application/pdf
$ # Mit welchen Programmen kann man "application/pdf" öffnen?
$ gio mime application/pdf
Standardanwendung für »application/pdf«: atril.desktop
Registrierte Anwendungen:
userapp-PDF_in_mbox_verpacken.desktop
qpdfview.desktop
org.inkscape.Inkscape.desktop
...
$ # wo liegt der "Launcher" (Starter) für den MIME type "application/pdf" ?
$ locate atril.desktop
/usr/share/applications/atril.desktop
$ # Wie lautet die Befehlszeile, um Datei "x" mit dem Launcher zu öffnen?
$ $ grep -i "^exec=" /usr/share/applications/atril.desktop
Exec=atril %U
$
Neben den MIME types für Dateien gibt es auch welche für viele andere Funktionen wie auch den URIs. Eine URI kennt man beim Browser meist als "http(s):", "ftp:", "telnet:" aber auch als "tel:". Mit welchem Programm so eine "tel" URI zu behandeln ist, wird über den MIME type "x-scheme-handler/tel" festgelegt. Das hat mich tatsächlich ein wenig Zeit beim Wühlen in den Quellentexten gekostet (aber nachher ist man immer schlauer).
Wenn demnach irgendwo im Betriebssystem eine "tel:" URI auftaucht (also nicht nur bei evolution), wird der definierte Launcher gestartet. Ich habe daher für den Starter (SIPlauncher.desktop) unter "MimeType" nicht nur den "x-scheme-handler/tel" sondern auch den "x-scheme-handler/callto" Eintrag festgelegt. Mit dem "gio mime" Befehl habe ich diese .desktop Datei als "Default-Launcher" definiert. Bei Aufruf des Lauchers wird dann das bash Script "phone.sh" ausgeführt, was als 1. Parameter ($1) die "tel:" URI übergeben bekommt.
1. läßt du Linphone aus dem Terminal wählen?
Ich hoffe, dass du aus der oberflächlichen Beschreibung des MIME Konzepts erkennen kannst, dass "linphone" im Script "phone.sh" aufgerufen wird. Natürlich kannst du auch ein Terminal öffnen und den Befehl "phone.sh tel:1234567" dort aufrufen. Da nicht "linphonec" (-cli) sondern "linphone" gestartet wird, erhältst du auch die grafische Oberfläche von "linphone" angezeigt. Da mein Post schon etwas älter ist und die Entwickler von "linphone" in der aktuellen Version den Aufruf etwas geändert haben, wäre hier eine kleine Anpassung erforderlich. z.B:
# Aufrufform hat sich geändert
# /usr/bin/linphone --call sip:$tel@fritz.box 2>&1 >/dev/null
/usr/bin/linphone "call sip-address=$tel@fritz.box" 2>&1 >/dev/null
Die beiden andern Aufrufarten "Fritz" und "HTTP" funktionieren etwas anders.
Bei "Fritz" muss man den Telefonhörer abheben oder bei einer mobilen Einheit den grünen Knopf am Telefon drücken.
Bei "HTTP" nutzt man ein Smartphone, das entweder über USB Kabel oder WLAN Kontakt zu dem Rechner bekommt. Das Script "phone.sh" ist dann kurzfristig ein http-Webserver, der eine Webseite mit der URI der Telefonnummer bereit stellt. Auf dem Handy öffnet man dann entweder den Web-Browser oder startet ein Script, das diese Information über "wget" holt und dann den Telefonanruf z.B. über "termux-telephony-call" ausführt.
Es wäre schön, wenn du mir ein bisschen Unterstützung geben würdest. Ich bin Sehbehindert und habe viele Telefon-Nr. in Evolution. Die Funktion würde sehr viel helfen.
Kein Problem. Was benötigst du. Willst du die Funktion über die FritzBox Wahlhilfe mit einem realen Telefon, einem virtuellen Telefon wie "linphone" oder über ein Smartphone ausführen oder jeweils auswählen können?