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

в 2:36, , рубрики: nix, метки: , , , ,

В нашей базе данных есть список оборудования, к которому ежедневно приходится подключаться для получения информации. И так самой частой набираемой фразой в консоли стало telnet и соответсвенно хост к которому хотим подключиться. В windows настройка не составила труда, а вот корректная обработка в линукс оказалась не столь очевидной. Как и отсутствие информации о том, как это настроить.

Все, что нам нужно это повсеместно используемый xdg-utils.

Для своей работы он использует конфигурационные файлы расположенные в ~/.local/share/applications/. В данной директории есть файл mimeapps.list это список пользовательских типов в него необходимо внести только одну строку:

x-scheme-handler/telnet=telnet.desktop

Далее создадим называный системе файл telnet.desktop в той же директории, и добавим в него следующие строки:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Telnet
Exec=xfce4-terminal --command='~/.louncher/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

Обратите внимание на строку Exec в ней содержится приложение запускаемое по умолчанию и сама ссылка в виде переменной %u. Я использую telnet-bsd и не совсем положительно отношусь к putty, поэтому данная строка запускает xfce4 терминал с командой простейшего обработчика ссылки. Если putty вас устраивает, не стесняйтесь и впишите в эту строку /usr/bin/putty %u и на этом все закончится.

Для тех, кто простых путей не ищет, пишем здесь вашу любимую консольку, аргумент передачи команды, далее скрипт и в качестве аргумента переданного скрипту укажем %u.

В вашем любимом месте (напрмер .louncher в моем случае), где все ваши скрипты, созданные для упрощения жизни, создаем ранее озаглавленный для системы скрипт и вносим туда следующее:

#!/bin/bash
stringZ=$(echo $1)
telnet ${stringZ:9}

Данный скрипт отрезает 9 символов из начала строки и запускает команду telnet… без telnet://
сохраняем, добавляем права на запуск и радуемся жизни.

По аналогии сильно головы не ломая можно создать обработки для ssh:// и так далее.

Автор: мистер Олимпия

Источник

Поделиться

* - обязательные к заполнению поля