xdg-utils для своей работы использует конфигурационные файлы расположенные в ~/.local/share/applications/. В данной директории есть файл mimeapps.list это список пользовательских типов, в него необходимо внести только одну строку:
$ echo "x-scheme-handler/telnet=telnet.desktop" >> ~/.local/share/applications/mimeapps.list
а также создать в той же директории файл telnet.desktop
$ cat > ~/.local/share/applications/telnet.desktop
необходимо вставить текст, исправив домашний каталог на свой, xdg-open понимает полные пути и не понимает ссылки, поэтому x-terminal-emulator, ~/каталог или $HOME/каталог, работать не будут
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Telnet
Exec=xfce4-terminal --command='/home/пользователь/bin/telnet.sh %u'
Icon=telnet
Terminal=false
StartupWMClass=Telnet
Type=Application
Categories=Network;
MimeType=x-scheme-handler/telnet;
X-Desktop-File-Install-Version=0.23
Ctrl+C (закончить ввод и выйти)
Обратите внимание на строку Exec в ней содержится приложение запускаемое по умолчанию и сама ссылка в виде переменной %u.
вместо xfce4-terminal можно вписать /usr/bin/putty %u но это на любителя
создадим скрипт обработки:
$ cat > ~/bin/telnet.sh
#!/bin/bash
stringZ=$(echo $1)
telnet ${stringZ:9}
Ctrl+C (закончить ввод и выйти)
чтоб работал дадим права на выполнение
chmod +x ~/bin/telnet.sh
Данный скрипт отрезает 9 символов из начала строки и запускает команду telnet… без telnet://
аналогично можно создать обработки для ssh:// и так далее.
https://habrahabr.ru/sandbox/110020/