Размер поля d_termname в struct display - 20 байт полезных символов. Название терминала "rxvt-unicode-256color" туда не влезает и в результате невозможно подцепиться к запущенной сессии. $ find /usr/share/terminfo /lib/terminfo -type f -name '?????????????????????*' /usr/share/terminfo/s/screen-256color-bce-s /usr/share/terminfo/r/rxvt-unicode-256color
Патчи горячо приветствуются. Может быть, они уже даже существуют.
Ну есть один в $URL, только он мне не очень нравится. Лучше увеличить до 31+1.
~ $swi screen Cannot find terminfo entry for 'rxvt-unicode-256colo'. ~ $rpm -q screen screen-4.0.3-alt7 (собрано из тега 4.0.3-alt7 за подписью ldv@). Я пробовал увеличивать d_termname до разных значений - результат вот такой.
attacher.c: strncpy(m.m.attach.envterm, attach_term, sizeof(m.m.attach.envterm) - 1); screen.h: char envterm[20 + 1]; /* terminal type */
screen-4.0.3-alt7 -> sisyphus: * Fri Sep 17 2010 Dmitry V. Levin <ldv@altlinux> 4.0.3-alt7 - Enlarged internal $TERM string buffers (closes: #23972).
Проверил, работает.