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 ★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.