LINUX.ORG.RU

команды в telnet


0

0

собственно говоря,какой программой можно подключаться и что бы при этом можно было пользоваться клавишой backspace?то есть стирать и редактировать написанное.ни через терминал ни через putty не получается.хотя бы на коммутатор DES-3526.

ось Убунту.

Гугл спасет отца русской демократии

Here is a breakdown.

Note:
-I cleaned up some of the script, so that grep doesn't wait for input if nothing is passed.
-I renamed my list of hosts with bad backspaces a little different than the example on the webpage.
-This only works if the host name is passed as part of the command line.

1.Create a script called kbdfix, in /usr/bin, with the following code

#!/usr/bin/expect

eval spawn -noecho $argv

interact {
\177 {send "\010"}
"\033\[3~" {send "\177"}
}

2.Rename the telnet binary in /usr/bin to telnet.orig

3.Create a list of hosts in /usr/bin that need the backspace fixed and name it bad-bs-hosts

3.Create a script called telnet with the following code

#!/bin/sh

if [ "$#" -ge 1 ]; then
if grep -wq "$@" /etc/bad-bs-hosts ; then
exec kbdfix telnet.orig "$@"
else
exec telnet.orig "$@"
fi
else
exec telnet.orig
fi

4. Don't forget to chmod everything to be executable

Anounax
()
Ответ на: комментарий от Anounax

если бы я так же охрененно понимал по английски как и ты,то да.). спасибо.сейчас попробую разобраться во всём этом.

badtrips
() автор топика
Ответ на: комментарий от badtrips

>если бы я так же охрененно понимал по английски как и ты,то да.). спасибо.сейчас попробую разобраться во всём этом.

Если надо, могу и на русский перевести

Anounax
()
Ответ на: комментарий от badtrips

А я уже перевел :) Выложу, не пропадать же добру.

Вот решение:

Примечания (роли не играют, перевел только одно)
-Этот способ будет работать только тогда. когда host name (имя хоста) передан как параметр командной строки.

1. В каталоге /usr/bin создай скрипт с именем kbdfix, со следующим содержанием,

#!/usr/bin/expect

eval spawn -noecho $argv

interact {
\177 {send "\010"}
"\033\[3~" {send "\177"}
}

2.Переименуй бинарник telnet, находящийся в /usr/bin, в telnet.orig

3. В /usr/bin создай список хостов, для которых требуется исправить backspace, назови его bad-bs-hosts

3. Создай следующий скрипт в /usr/bin, назови его telnet

#!/bin/sh

if [ "$#" -ge 1 ]; then
if grep -wq "$@" /etc/bad-bs-hosts ; then
exec kbdfix telnet.orig "$@"
else
exec telnet.orig "$@"
fi
else
exec telnet.orig
fi

4. Не забудь сделать chmod +x всем скриптам.

Anounax
()
Ответ на: комментарий от Anounax

ёмоё...у меня список хостов - это по несколько коммутаторов почти на каждом доме в москве и не только).ну эт я загнул что почти на каждом,но масштаб попытался описать))

badtrips
() автор топика
Ответ на: комментарий от badtrips

>ёмоё...у меня список хостов - это по несколько коммутаторов почти на каждом доме в москве и не только).ну эт я загнул что почти на каждом,но масштаб попытался описать))

Так там же необязательно список создавать, можно просто третий скрипт подправить, что бы фикс запускал сразу, без проверок хоста.

Anounax
()
Ответ на: комментарий от Anounax

сделал всё как написано,пока проверить возможности нет.спасибо ещё раз)

badtrips
() автор топика
Ответ на: комментарий от badtrips

А как список делал? Я эту штуку не проверял, но там где ее выложили говорят что работает. Сегдня может дома на модеме проверю.

Anounax
()
Ответ на: комментарий от badtrips

Не получилось проверить, у меня все и так работает, а кроме модема и проверять не на чем.

Anounax
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.