2

У меня есть строка hardstatus, установленная в моем файле .screenrc:

hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
# This is 127 characters

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

Когда я говорю о экранных командах, я имею в виду те, которые вводятся после связывания ctrl+a :

Есть ли способ увеличить предельное число символов на экране, превышающее 100 символов, или другой способ установить жесткое состояние без изменения файла .screenrc? Было бы предпочтительным решение изменить его после запуска сеанса, но вариант командной строки при запуске экрана был бы хорошей альтернативой, если это возможно.

Один из способов обойти эту проблему - поместить строку hardstatus в файл и ввести ctrl+a :source <file> или ввести его после начального экрана:

screen -p <SESSION_NAME or PID> -X hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'

Но мне бы очень хотелось узнать, как увеличить лимит символов для команд.

Заранее спасибо,

Мэтью

1 ответ1

1

Вы не можете; предел в 100 символов жестко задан (я думаю, что верхний предел применяется в screen/src/input.c, но вызывающие функции могут начать с более короткого буфера, так что это, возможно, не единственное место, где потребуется исправление).

В качестве менее интенсивного набора текста я рекомендую добавить .screenrc-DarthAndroid который сначала вызывает source .screenrc а затем добавляет ваши предпочтительные настройки переопределения; затем создайте псевдоним оболочки myscr="screen -c ~/.screenrc-DarthAndroid " .

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