8

Всякий раз, когда я присоединяюсь к своему отдельному экрану (содержащему Irssi), размер экрана Putty изменяется до того, что был при запуске. Если после этого изменить размер окна, отсоединить экран и изменить его размер, размер окна снова изменится до исходного размера. Под окном я подразумеваю окно замазки на моем окне. Как я могу отключить эту функцию?

Использование Windows XP в качестве локального и CentOS 6.0 в качестве удаленной ОС. Замазка 0,61.

3 ответа3

11

Нашел ответ. Эта функция называется "Изменение размера удаленного терминала", и ее можно отключить в меню "Конфигурация" -> "Терминал" -> "Функции" -> "Отключить изменение размера терминала с дистанционным управлением", как описано в конфигурации PuTTY.

Правда, я не знаю, почему присоединение экрана приводит к удаленному запросу изменения размера окна.

9

Вы также можете запретить экрану изменять размеры любых удаленных сессий. Другой ответ предотвращает это в вашей локальной установке замазки - но что, если вы приходите на другую рабочую станцию?

В любом случае, чтобы предотвратить изменение размера экрана xterms, необходимо:

  • Отредактируйте /etc/screenrc
  • Найдите этот бит текста

# Long time I had this in my private screenrc file. But many people
# seem to want it (jw):
# we do not want the width to change to 80 characters on startup:
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:

#termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
#terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

  • Раскомментируйте эти две строки termcap и screen будет вести себя с этого момента.

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

Обратите внимание, что если вы не можете или не хотите редактировать глобальную конфигурацию screenrc, ~/.screenrc подойдет для вашего текущего пользователя.

2

В принятом ответе отсутствует объяснение явлений. Вот один из них:

  • Длинная строка для is - это строка инициализации терминала, которая обычно совпадает с rs (используется для reset).
  • Данный пример содержит управляющую последовательность, которая сбрасывает терминал со 132 до 80 столбцов. Просто эта часть является "3" в \E[?1;3;4;6l , которые можно разделить на четыре элемента управления. То, что влияет на ширину, это \E[?3l (см. Последовательности управления XTerm для "132 Column Mode (DECCOLM)").
  • Это происходит с последовательностью VT100, которая использовалась в описании терминала X11R5 xterm .
  • Когда экран запускается (или подключается), он на всякий случай инициализирует терминал. Это меняет ширину терминала.
  • CentOS 6 сейчас немного стар; текущее описание xterm восходящем потоке довольно долго использовало более короткую последовательность, которая инициализирует больше вещей.
  • Более новая / короткая последовательность выглядит следующим образом: is2=\E[!p\E[?3;4l\E[4l\E> (определено в xterm-basic). \E[!p часть DECSTR , которая сбрасывает наборы символов, цвет и атрибуты видео. Старая последовательность не делала этого; говорит, что screen использует, но работает не так чисто.
  • Если вы используете другой параметр TERM , то настройка в .screenrc будет иметь никакого эффекта (потому что он использует TERM для соответствия конкретному параметру).
  • В частности, если вы используете что-то вроде xterm-256color , вы можете снова заметить то же поведение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .