Мы использовали экран GNU в нашем окне перехода, чтобы сеансы ssh открывались для нескольких хостов в нашей частной сети. Одно окно на хост.
Недавно мы создали новую среду и часто зависаем на экране. Чаще всего, когда на экран выводится много вывода терминала (например, при поиске файла), screen перестает отвечать. Терминал перестает обновлять среднюю команду, и я не могу переключиться на любое другое экранное окно.
Я могу снова войти в окно прыжка и сделать screen -dr, и он прикрепится, как будто ничего не случилось. Мы используем .screenrc:
bindkey -k k2 screen
bindkey -k k3 prev
bindkey -k k4 next
bindkey -k k7 copy
bindkey -k k8 title
bindkey -k k9 windows
startup_message off
hardstatus alwayslastline
hardstatus string "%-w%{= BW}%50>%n %t%{-}%+w%<"
nonblock on
Пока сеанс экрана зависает вот так, можете ли вы подсказать, на что мне следует обратить внимание, чтобы понять, в чем причина, потому что я довольно озадачен?
Это находится в debian wheezy, screen = 4.1.0 ~ 20120320gitdb59704-7, и это экземпляры EC2, если это актуально.
Иногда используемый вами xterm получает Ctrl-S
из любого вывода, который анализируется. Это заставляет сеанс «заблокироваться» на месте (например, «пауза»), и вы можете нажать Ctrl-Q
возобновить. Там есть был несколько экземпляры где это происходит.
История: Ctrl-S
отправляет удаленному хосту сообщение «Software Flow Control Off (XOFF)», Ctrl-Q
отправляет XON.
Совет по SSH: Если вышеуказанное не работает; В следующий раз, когда сеанс SSH зависнет у вас, введите ~.
(это «тильда» и «точка». Это должно устранить зависший сеанс SSH и вернуть вас на экран.