Tilda가 시작 시 화면 크기가 가짜라고 불평합니까?

Tilda가 시작 시 화면 크기가 가짜라고 불평합니까?

Ubuntu 14.04에서는 MATE 데스크탑. 방금 Tilda 터미널을 설치했기 때문에 /usr/bin/tilda. 재부팅하고 Tilda가 시작되는 것을 확인한 후 다음을 확인했습니다.

틸다

"131072x1 화면 크기가 가짜입니다. 문제가 발생할 수 있습니다."

그런 다음 시도하고 killall tildatilda를 다시 시작했는데 같은 메시지가 나타납니다.

이 가짜 화면 크기 문제를 어떻게 해결할 수 있는지 아는 사람이 있나요?

답변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 쉘이 수행하는 모든 작업은 이러한 쉘 변수의 값을 설정하는 것뿐입니다. 이 값을 내보내지 않으면 해당 환경의 명령에 터미널 장치가 보고하는 크기로 전달되지도 않습니다. 빨간색도 마찬가지입니다. 환경 변수가 말도 안 되는 경우 터미널 장치는LINESprintenvsttycheckwinsizepscheckwinsize스스로 보고하고 있다말도 안되는 소리이며 후자가 해결해야 할 근본적인 문제입니다.)

이것이 바로 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

관련 정보