용량 확장이 인정되고 폭넓게 지원된다는 것은 다들 알고 계시겠지만, 각 단말의 용량이 바뀔 수 있을까요? 아니면 단말기 자체를 바꿀 수 있나요?
답변1
아니요.
SIGWINCH
Unix 신호를 프로세스에 보내는 터미널 드라이버는 크기 조정을 지원합니다. 이는 창 크기 변경을 나타냅니다. 새 치수는 터미널 장치에서 읽을 수 있습니다.
Unix 신호 목록을 보면 다른 터미널 기능 신호가 없다는 것을 알 수 있습니다.
대부분의 터미널 기능은 환경 변수에 의해 결정됩니다 TERM
. 환경 변수이기 때문에 TERM
다른 프로세스나 커널에 의해 변경되지 않습니다. 커널은 어떤 터미널이 직렬 회선에 연결되어 있는지 알아내려고 시도하지 않습니다. 또한 터미널 크기를 알아내려고 시도하지 않습니다. 이 기능은 레거시 직렬 회선에서는 구현되지 않습니다.
직렬 회선은 프로토콜을 자동으로 검색하도록 설계되지 않았습니다. 편집: 터미널을 분리하고 다른 터미널을 연결하는 것은 절대적으로 가능합니다. 사용자는 TERM
터미널 크기와 함께 이를 stty rows 24 cols 80
수동으로 업데이트해야 합니다. 이는 셸이나 다른 응용 프로그램에서 자동으로 감지되지 않습니다.
AIUI, 크기 조정 기능은 POSIX 표준에 없습니다. 관련 stty
설정도 man stty
표준화되지 않은 것으로 구체적으로 표시되어 있습니다. 그러나 이러한 기능은 아마도 모든 최신 시스템에 공통적으로 적용됩니다. 고정 문자 터미널은 더 이상 사용되지 않습니다. 대부분의 이식 가능한 프로그램은 ncurses 라이브러리 또는 유사한 라이브러리를 사용하여 작성되므로 정확한 신호(따라서 읽기 크기에 대한 ioctl)는 다를 수 있습니다.