Я обнаружил, что если я перейду в «режим копирования» или «режим прокрутки» на экране byobu, отсоединюсь от него и оставлю его включенным, буфер заполнится и в конечном итоге заблокирует процесс, который я запускаю на экране. (Предположительно из-за того, что процессу запрещена запись в стандартный вывод, поскольку некому потреблять байты.)
Такое поведение ужасно. Возможно ли, например,
Автоматический выход из режима копирования / прокрутки при отсоединении от экрана,
или
Позвольте позиции представления, которое находится в режиме копирования / прокрутки, перемещаться вперед после заполнения буфера, чтобы позволить процессу продолжить выполнение
Рад услышать любой совет по этому поводу.
Ваша оценка верна, программа, работающая в окне режима обратной прокрутки, останавливается, потому что ее выходной буфер заполнен, и она приостановлена в ожидании записи. Такое поведение и правильно, и желательно; пользователь вошел в режим прокрутки для просмотра содержимого экрана, но, как вы заметили, это неудобно и неудобно, когда сеанс отключен.
К сожалению, эта функция отсутствует как в gnu-screen, так и в tmux. byobu не сможет исправить это в оболочке, потому что он не может определить состояние прокрутки данного окна и не может вывести из него окно с помощью внешних команд, хотя он может отправлять команды на терминал, как пользователь был бы, если бы он мог обнаружить или запомнить состояние прокрутки. Ни screen, ни tmux, похоже, не содержат функции, позволяющей автоматически возвращаться из режима прокрутки при отсоединении терминала. Требуется патч.