답변1
이 메시지를 생성하는 것은 무엇입니까?
이는 Bourne Again 쉘에서 생성되지 않습니다. 이것은 Tilda가 제작한 것이 아닙니다.
ps
이는 다음 명령에 의해 생성됩니다 .procps 도구 세트실행할 수 있는set_screen_size()
이 기능 을 확인하세요. 이 ps
명령을 사용하려면 터미널 장치가 항목을 합리적으로 표시할 수 있도록 최소 9열 x 2행이 되어야 합니다. 아마도 당신이 모르는 곳에서 ps
.
이 ps
명령은 표준 I/O 파일 설명자에 연결된 터미널 장치(라인 규칙)에서 직접 터미널 크기를 가져오고 값이 적절하게 숫자인 경우 환경 변수 COLUMNS
로 재정의할 수 있습니다. 다음을 실행하여 결정을 내리기 위해 명령이 보고 있는 LINES
내용을 확인할 수 있습니다 .ps
stty 크기; printenv 열 라인
ps
다음과 같은 작업을 실행하여 의 다리를 당기는 실험을 할 수 있습니다 .열=65535 줄=1ps
의 출력에 표시된 대로 COLUMNS
및 환경 변수를 daft 131072×1 값으로 설정한 경우 에는 그렇게 하지 마십시오. ☺ 그러나 터미널 장치 자체가 이 크기를 보고할 가능성이 더 높습니다. 이는 의 출력에서 볼 수 있습니다 . (Bourne Again 쉘이 수행하는 모든 작업은 이러한 쉘 변수의 값을 설정하는 것뿐입니다. 이 값을 내보내지 않으면 해당 환경의 명령에 터미널 장치가 보고하는 크기로 전달되지도 않습니다. 빨간색도 마찬가지입니다. 환경 변수가 말도 안 되는 경우 터미널 장치는LINES
printenv
stty
checkwinsize
ps
checkwinsize
스스로 보고하고 있다말도 안되는 소리이며 후자가 해결해야 할 근본적인 문제입니다.)
이것이 바로 Tilda가 잘못되었을 수 있다는 메시지를 생성하지 않는 이유입니다. 터미널 장치 크기는 터미널 장치에 대한 열린 파일 설명자를 갖는 모든 것이 ioctl()
시스템 호출을 통해 임의로 변경될 수 있는 공유 리소스입니다. 하지만 그것은전통적으로설정, 소프트웨어를 사용하는 시나리오에서터미널 에뮬레이터 프로그램Tilda와 마찬가지로 에뮬레이션이 표시되는 GUI 창의 크기가 변경될 때 터미널 에뮬레이터 프로그램에 의해. 터미널 에뮬레이터 프로그램은 GUI 크기 조정 이벤트를 받아 열과 줄로 변환하고 ioctl()
.
이것은 다른 것이 이 말도 안되는 크기를 설정하지 않았다는 것을 말하는 것이 아닙니다. 결국, 당신은 그것을 설정할 수 있습니다당신 자신예를 들어 다음 명령을 실행하여 임의의 말도 안되는 크기로 만들 수 있습니다.
stty 열 1행 65535
이는 우리를…
단말 장치 크기를 재설정하는 방법
터미널 장치가 말도 안되는 크기를 보고하는 위치에 있는 경우:
- GUI 터미널 에뮬레이터를 사용하는 경우 열/라인 정도별로 GUI 크기를 조정합니다. 이렇게 하면
ioctl()
터미널 크기 가 트리거 되고 합리적인 크기로 설정됩니다. - 예를 들어 다음과 같이 크기를 보다 합리적인 것으로 설정하십시오.
stty 열 80 행 25
- 명령 을 사용하십시오
reset
.reset
터미널 장치 크기 외에도 많은 다른 항목을 설정합니다 . - 터미널 에뮬레이터가 DEC VT340/VT420과 호환되는 경우 적절한 DECSCPP 및 DECSLPP/DECSNLS 제어 시퀀스를 직접 내보내거나Nosh 도구 세트'에스
console-resize
(일명resizecons
) 이를 내보내는 명령:크기 조정 80x25