Назад | Перейти на главную страницу

Backspace не работает на моем ssh-клиенте

Я подключился по SSH к серверу unix, используя клиент SSH версии 3.2.9. Некоторые ключевые функции не работают, когда я вошел на сервер. чтобы назвать несколько: backspace (вместо этого делается ^ H, но shift + backspace работает), когда я нажимаю <tab> Я не получаю предложений, ~ не забирает меня домой.

У меня есть local.cshrc, local.login и local.profile в моей домашней папке (когда я вхожу в систему).

Следующее находится в local.profile

$ more local.profile
#
# Copyright (c) 2001 by Sun Microsystems, Inc.
# All rights reserved.
#
# ident "@(#)local.profile      1.10    01/06/23 SMI"
stty istrip
PATH=/opt/sunone_apps/Dep/POL/:/usr/bin:/usr/ucb:/etc:.


export PATH

Быстрое исправление:

stty erase <backspace>

Где, вы пытаетесь нажать Backspace. Нажмите Enter в конце этой строки, и с этого момента система распознает это как ваш символ возврата, но он будет оставаться только на протяжении этого сеанса.

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

Постоянное исправление: Я видел такие проблемы раньше.

Возьмем, к примеру, обратное пространство, удаленный хост ожидает, что какой-то символ будет использоваться как «стирание / обратное пространство», в то время как вы нажимаете Backspace в терминале, программа терминала отправит некоторый символ на удаленный хост, если то, что ожидает удаленный хост, отличается от символы, отправленные программой терминала, вы столкнетесь с этой проблемой. Итак, быстрое исправление, как показано ниже:

Команда выполнения #stty -a на удаленном хосте и найдите в выходных данных код стирания. Скажите erase = ^ ?. В терминале введите Ctrl v и нажмите клавишу Backspace. Вы увидите, какой код отправлен как «стереть». Скажи, что это ^H. На удаленном хосте запустите #stty erase ^H. Вы можете исправить проблему с вкладкой так же, как указано выше.

Кроме того, зависит от терминала. На компьютере с Windows я использую MobaXterm, который похож на мощную версию Putty. Когда вы создаете сеанс (сохраненный или нет), у вас есть вкладка «Настройки терминала», на которой можно отправить ctrlЧАС, так как Backspace. Снимите этот флажок. Вы можете сделать это в середине сеанса без необходимости перезапускать сеанс или прекращать создание CSR и т. Д.

Здесь также можно изменить тип терминала (например, xterm или vt100, и т.д.).

Я не знаю о «SSH-клиенте 3.2.9», но большинство SSH-клиентов позволяют вам указать, будет ли ваш ключ возврата на предыдущую строку отправлять ^ H (возврат) или ^? (DEL). Ваша проблема в том, что вы используете последнее, тогда как вам следовало бы использовать первое.

В Putty вы можете изменить это для сохраненного профиля в параметрах клавиатуры профиля. Найдите аналогичный вариант конфигурации в своем клиенте или переключитесь на Putty.

Предложение от @oo. относящийся к stty erase <backspace> сообщит вашему сеансу терминала, что нужно ожидать любого символа, отправляемого вашим SSH-клиентом. Исправить это в вашем клиенте - лучшее решение.

Обратите внимание, что в stty , вам МОЖЕТ потребоваться добавить к клавише Backspace Ctrl-V, чтобы «избежать» ее, чтобы иметь дело с ней буквально. Современные оболочки (bash / tcsh) часто «принимают» DEL, даже если Backspace является символом стирания, просто чтобы облегчить людям задачу.

Обычно это вызвано тем, что ваш терминал не распознается на удаленном конце. Если вы подключаетесь к старой системе Unix или Linux, вам может потребоваться изменить тип терминала на vt100.