Обработка URI форматов telnet://host для linux

Jul 11, 2017 21:07


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/

xdg, команды, утилита, терминал, linux, скрипты, работа, консоль, сисадм

Previous post Next post
Up