Pull to refresh

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

В нашей базе данных есть список оборудования, к которому ежедневно приходится подключаться для получения информации. И так самой частой набираемой фразой в консоли стало 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:// и так далее.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.