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