Отключить GNU экраны выбора буфера / управления буфером обмена - PullRequest
0 голосов
/ 13 сентября 2018

Я использую GNU screen-4.6.1 в графическом эмуляторе терминала в Gentoo Linux.

Всякий раз, когда я отсоединяюсь от сеанса (например, Ctrl + a, d) или присоединяюсь к сеансу (например, screen -r), мой текущий основной выбор и буфер буфера обмена отображаются очищенными.

Я могу только предположить, что screen пытается выполнить некоторую сложную обработку / сохранение буфера обмена между сеансами. Я не могу найти никакой информации о такой функциональности на экране GNU. Я думал, что схожу с ума, но это определенно экран, который портится с этими буферами.

Что бы это ни было, я хочу отключить это, так как это портит мой рабочий процесс. Как называется эта «функция», где я могу узнать о ней больше и как ее отключить?

1 Ответ

0 голосов
/ 14 сентября 2018

GNU screen использует описание терминала, чтобы найти способ инициализации экрана. В выводе infocmp это будет показано настройками для smcup и rmcup, например,

infocmp -1 screen |grep "mcup="

производит

    rmcup=\E[?1049l,
    smcup=\E[?1049h,

для xterm (и большинства терминалов, имитирующих его), который переключается на альтернативный экран . Обычно ваш основной выбор"живет" в окне терминала, а переключение на альтернативный экран очищает окно и заменяет его чем-то другим.

xterm имеет настройку ресурса (keepSelection), которую можно установить / сбросить с помощью записи в меню управления / средней мыши "Сохранить Выбор ". Установка этого (для xterm) может сохранить выбор; другие терминалы могут либо оставить выбор «на неопределенный срок», либо просто отменить его в этом случае.

Простое решение этой проблемы (независимой от терминала) состоит в том, чтобы избегать использования альтернативного экрана с GNU screen, например,

infocmp -1 screen |grep -v "mcup=" >foo
sudo tic foo

заменить описание терминала без этих возможностей. Конечно, для этого требуется перезапустить screen, чтобы использовать только обычный экран .

Существует только один альтернативный экран . Если вы используете какое-либо приложение в GNU screen, то при переключении в / из этого приложения будет использоваться экран имитированный альтернативный экран , который будет вести себя иначе, чем запускать его снаружи screen.

...