Бёбу / экран постоянно зависает в Putty

8

Некоторое время я использовал Byobu для управления сеансами экрана для себя. Однако я столкнулся со странной проблемой: сессия продолжает блокироваться. Под блокировкой я подразумеваю, что я ничего не могу напечатать, и только если я подожду несколько минут, разблокируется и будет делать все, что я набрал раньше.

В настоящее время становится все хуже. Сессия блокируется каждую минуту или около того. Даже когда я перезапустил Putty, переключился с аутентификации с помощью закрытого ключа на пароль и даже изменил установки Putty, он все равно зависает. Дошло до того, что я войду в систему, и текущее окно будет заморожено, но я могу переключиться на другое окно только для того, чтобы оно зависло через несколько секунд.

Еще одно новшество заключается в том, что иногда, когда я впервые захожу, Byobu даже не появляется, он просто сидит после строки «Последний вход». Однажды я получил WriteMessage: Broken pipeошибку, и она упала на обычную оболочку без byobu.

Странно, но туннель открыт, я все еще работаю. Я был в состоянии проверить графики процессора и увидел, что сервер не был загружен, то есть сеанс не зависал, потому что у него были другие дела.

Любые предложения о том, как это исправить?

TheLQ
источник
Это происходит только на конкретном сервере, от конкретного клиента, или вы можете воспроизвести это на нескольких машинах? Есть ли клиенты, с которых этого не происходит (на одном сервере)? Как выглядит сеть между клиентом и сервером? Есть ли у вас проблемы с поиском файлов? Сеанс блокируется во время набора или только если вы простаивали некоторое время? Интересно, у вас проблемы с MTU или не работает NAT?
Жиль "ТАК - перестань быть злым"
@ В моем ограниченном тестировании это не влияет на клиентов Linux, но влияет на клиентов Windows (все еще тестирую Ubuntu). Деградация произошла в основном на XP с двумя установками Putty. С SCP у меня недавно возникла проблема: он не позволял мне подключаться, пока я полностью не отключил Byobu; Однако это было только один раз. Со временем замораживания он зависает случайно: во время набора текста или когда я оставляю это в покое (иногда). И у меня есть только один сервер CentOS для тестирования, поэтому я не уверен, влияет ли он на другие машины. Как я уже сказал, я все еще проверяю, блокируется ли Byobu в Ubuntu.
TheLQ 30.01.11
1
Можете ли вы набрать "ctrl-a: reset", или даже клавиша сброса экрана заблокирована?
Баррикартер
@ barry Я никогда не пробовал reset, хотя я не думаю, что это работает, так как смена окон также заморожена.
TheLQ
Поскольку вы все еще можете запускать команды на машине, когда Byobu активируется, в следующий раз изучите ее. Запустите, topчтобы увидеть, занимает ли это процессорное время. Запустите strace -p1234(где 1234 - screenPID), чтобы увидеть, что он делает, и то же самое для SCREENпроцесса. Вам нужно будет запустить screenне setuid или setgid, или запустить straceот имени пользователя root.
Жиль "ТАК - перестань быть злым"

Ответы:

11

Попробуйте это, у меня получилось на шпатлевке:

  • Ctrl+ Q- XON
  • Ctrl+ S- XOFF
Diplo
источник
Эта проблема не возникла недавно, поэтому я не могу проверить это. Что это делает, хотя?
TheLQ
1
@TheLQ: Это управление потоком терминала : Ctrl+Sговорит терминалу прекратить посылать вещи и Ctrl+Qговорит ему отправлять снова. Смотрите также пример того, где они полезны . Ctrl+Qидет последним, кстати. Я не понимаю, почему это поможет, но стоит попробовать.
Жиль "ТАК - перестань быть злым"
Это было не для меня.
reinierpost
1

У меня была эта проблема пару раз. Я обнаружил, что отправка SIGINT процессу byobu ( kill -2 <byobu pid>) размораживает сеанс. Это работало, когда XON / XOFF не работал для меня. После выдачи сигнала я могу снова подключиться к оболочкам Бёбу и иметь нормальную функцию.

ChrisF
источник