Допустим, у меня запущен сеанс экрана, с которым я взаимодействую через putty. Я понял, что буфер прокрутки слишком мал и хотел бы увеличить его без запуская новый сеанс экрана.
Есть ли способ сделать это?
Допустим, у меня запущен сеанс экрана, с которым я взаимодействую через putty. Я понял, что буфер прокрутки слишком мал и хотел бы увеличить его без запуская новый сеанс экрана.
Есть ли способ сделать это?
Ответы:
Страница людей объясняет , что вы можете войти в режиме командной строки в запущенной сессии набрав Ctrl+ A, :, а затем выполнив scrollback <num>
команду.
<num>
количество строк прокрутки
scrollback <num>
, это не поможет вам больше расширять буфер, вам нужно повторить последнюю команду, чтобы получить весь буфер истории.
Нажмите Ctrl-aзатем :и затем введите
scrollback 10000
например, получить 10000 строк буфера.
Вы также можете установить количество строк прокрутки по умолчанию, добавив
defscrollback 10000
на ваш ~/.screenrc
файл.
Для прокрутки (если ваш терминал не позволяет вам по умолчанию), нажмите Ctrl-a ESCи затем прокрутите (с обычным Ctrl-fдля следующей страницы или Ctrl-aдля предыдущей страницы, или просто с помощью колесика мыши / двумя пальцами). Чтобы выйти из режима прокрутки, просто нажмите ESC.
Другой совет: Ctrl-a iпоказывает ваши текущие настройки буфера.
byobu-screen
на Ubuntu 12.04, кажется, устанавливает defscrollback на 10000
startup_message off' and 'defscrollback 5000' into my newly created
~ / .screenrc`, и он получает первую строку, но вторая кажется проигнорированной.
Минимальный объем буфера «по умолчанию» при запуске сеанса «screen» внутри сеанса «putty». В своей работе я часто использую экраны, поэтому могу сказать, что у вас не будет комбинации буфера 'screen' и буфера 'putty' в вашей сессии 'screen'.
Установка по умолчанию количества строк прокрутки, добавив defscrollback 10000
к~/.screenrc
файл является правильным решением.
Кстати, я использую «defscrollback 200000» в моем ./screenrc
файле.
Как уже упоминалось, у нас есть два пути!
И это сделано в интерактивном режиме! И вступить в силу немедленно!
CTRL + Aа затем :А мы набираем scrollback 1000000
И нажимаемENTER
Вы отсоединяетесь от экрана и возвращаетесь! Это будет всегда одинаково.
Вы открываете еще один новый экран! И значение снова сбрасывается на значение по умолчанию! Так что это не глобальная настройка!
Что делается путем добавления defscrollback 1000000
к .screenrc
(в домашних условиях)
defscrollback
и нет scrollback
(по умолчанию стоит def)
Что вам нужно знать, так это если файл не создан! Вы создаете это !
> cd ~ && vim .screenrc
И вы добавляете defscrollback 1000000
к этому!
Или в одной команде
> echo "defscrollback 1000000" >> .screenrc
(если еще не создан)
Когда вы добавляете значение по умолчанию для .screenrc
! Уже запущенный экран при повторном присоединении не вступит в силу! .screenrc
Перспективе при создании экрана! И это имеет смысл! Так же, как с обычным запуском консоли и оболочки!
И все новые созданные экраны будут иметь заданное значение!
Чтобы проверить тип с CTRL + Aпоследующимi
И результат будет как
Важно отметить, что размер буфера - это число после знака +
(на иллюстрации я установил его на 1 000 000)
Обратите внимание, что когда вы измените его в интерактивном режиме! Эффект мгновенный и принимает значение по умолчанию!
CTRL+ Aс последующим ESC(для входа в режим копирования).
Затем перейдите с Up, DownилиPgUp PgDown
И ESCснова выйти из этого режима.
(Дополнительная информация: скопировать хит, ENTERчтобы начать выбор! ЗатемENTER снова скопировать! Просто и круто)
Теперь буфер больше!
И это подводит итог для важных деталей!
ВНИМАНИЕ: установка слишком высокого значения может привести к серьезному сбоям в работе вашей системы. Чем выше установленное значение, тем больше виртуальной памяти выделяется экранному процессу при запуске сеанса экрана. Я установил для ~ / .screenrc значение «defscrollback 123456789», и когда я запускал экран, вся моя система зависала на добрых 10 минут, прежде чем вернуться к тому моменту, когда я смог убить процесс экрана (который занимал 16,6 ГБ). VIRT mem к тому времени).
Для потомков этот ответ неверен, как отметил Стивен Лу. Оставив оригинальный текст однако.
Оригинальный ответ:
Для тех, кто прибывает через веб-поиск (несколько лет спустя) ...
При использовании экрана ваш буфер прокрутки представляет собой комбинацию screen
буфера обратной прокрутки, как отмечалось в двух предыдущих ответах, так и буфера обратной прокрутки.
Убедитесь, что вы увеличиваете ОБА буфера прокрутки замазки, а также буфера прокрутки экрана, иначе само ваше окно замазки не позволит вам прокрутить назад, чтобы просмотреть screen
историю прокрутки (которую можно преодолеть с помощью прокрутки на экране с помощью ctrl+a->ctrl+u
)
Вы можете изменить предел прокрутки замазки в категории «Окно» в настройках. Выход и повторное открытие сеанса замазки на вашем экране не закроет ваш экран (при условии, что вы просто закроете окно замазки и не печатаете exit
), как просил ОП.
Надеюсь, это поможет определить, почему увеличение буфера прокрутки экрана не решает чью-то проблему.
screen -h <numlines>