Wie man sich einen Protokoll-Handler baut...

Problem ist folgendes:

Man möchte einen eigenen protocol-handler definieren Z.B. soll der URI phone://12345678 das System dazu bringen, den asterisk zu bitten 12345678 zu wählen.

Dabei ist aber auch jeder andere x-scheme-handler möglich.

Das Geheimnis liegt im Verzeichnis ~/.local/share/applications begraben. Dort muss zum Einen eine entsprechende .desktop-Datei erstellt werden und zum anderen muss diese mit dem entsprechenden Protokoll verheiratet werden.
Wir machen das hier mal am Beispiel des o.g. phone:-Protokolls...

        olly@horus:~/.local/share/applications $ cat asterisk.desktop
        [Desktop Entry]
              Categories=Phone;Asterisk;Dial;Call
              Comment[de_DE]=
              Comment=
              Exec=/home/olly/bin/asterisk_dial %u
              GenericName[de_DE]=
              GenericName=
              Icon=Skype
              Name=AsteriskRemoteDial
              Path=~
              StartupNotify=false
              Terminal=false
              TerminalOptions=
              Type=Application
              X-DBUS-ServiceName=
              X-DBUS-StartupType=none
              X-KDE-StartupNotify=true
              X-KDE-SubstituteUID=false
              X-KDE-Username=
              MimeType=x-scheme-handler/phone
      

Um diese .desktop-Datei mit dem phone://-URI zu verheiraten tragen wir diese Ehe noch flott in die Datei ~/.local/share/applications/mimeapps.list ein:

        olly@horus:~/.local/share/applications  cat mimeapps.list
        [Default Applications]
              x-scheme-handler/phone=asterisk.desktop
      

Zum Testen kann man auf der Konsole den folgenden Befehl benutzen:

        xdg-open phone://12345678