39

Я много занимаюсь ssh, и периодически нажимаю Ctrl+S, что, естественно, отправляет XOFF и вызывает всевозможные проблемы (не говоря уже о том, что мне нужно время, чтобы понять, что произошло, затем еще какое-то время, чтобы вспомнить что мне нужно нажать Ctrl+Q, чтобы восстановить.

Я бы скорее поручил Putty никогда не позволять мне печатать XOFF .

Есть идеи?

5 ответов5

33

Не знаю о Putty, но вы можете использовать:

stty -ixon

на удаленном хосте, чтобы отключить сигналы START/STOP.

28

Решение PuTTY:

  1. перед созданием сеанса перейдите к Connection-> SSH-> TTY в списке.
  2. в раскрывающемся списке "Режим" выберите IXON (примечание : начиная с версии 0.60 этот список не упорядочен по алфавиту)
  3. положить "0" (ноль) в качестве значения IXON.

Скриншот

Работает как очарование, даже если вы открываете "экран GNU" поверх него, SSH для другого хоста или "su" для другого пользователя

Если вы используете GNU Bash, ctrl-S должен позволить вам теперь делать историю прямого поиска (он же i-search)

Вы можете увидеть разницу в выводе "stty -a | grep -o" .ixon ": с настроенной замазкой он печатает " -ixon ", без " ixon "

5
.bashrc example:
#
# Stop Putty from doing XOFF/XON with Ctrl-S/Ctrl-Q
# SOURCE: http://raamdev.com/recovering-from-ctrls-in-putty (Morgy, 7/14/08)
#
# stty ixany
# stty ixoff -ixon
### If needing to listen to Ctrl-S for some apps, use these two instead:
stty stop undef
stty start undef
4

У меня противоположная проблема. Время от времени хост отправляет XOFF в PuTTY, но никогда не отправляет соответствующий XON в PuTTY. В этом случае ничто из того, что вы делаете с PuTTY (кроме перезапуска), не приведет к его удалению. В этом случае весь ввод с клавиатуры на хост блокируется, но хост все равно может отправлять данные в PuTTY.

Отключение управления потоком в PuTTY не работает.

Чтобы решить эту проблему, используйте

stty -ixoff

в вашем профиле. Это запрещает хосту отправлять XON/XOFF . Обратите внимание, что названия параметров полностью сбивают с толку. ixon/-ixon означает включение /отключение управления потоком на стороне клиента (это означает, что клиент не может выдавать управление потоком), ixoff/-ixoff означает включение /отключение управления потоком на стороне хоста (что означает, что хост не может выдавать поток контроль).

Кстати, ASCII-код для Ctrl- S и XOFF - это один и тот же символ ASCII (код 19, 0x13). Там нет разницы. Настройки изменяют интерпретацию этого символа ASCII.

4

Откройте ваш .bash_profile и вставьте:

stty -ixon

Значение -xion не работает для меня. Вы можете увидеть запись man : man stty .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .