열린 터미널의 크기를 확인하십시오


13

DE에서 편의를 위해 터미널 크기를 조정할 수 있습니다 (예 : 그놈 터미널). 픽셀 또는 열 및 행 수로 터미널의 크기를 어떻게 알 수 있습니까?

답변:


20

명령을 발행하면

stty size

현재 터미널의 크기를 행과 열로 반환합니다. 예:

$ stty size
24 80

다음과 같이 변수로 행과 열을 읽을 수 있습니다 ( Janis의 comment 덕분에 ).

$ read myrows mycols < <(stty size)

픽셀 단위의 크기를 얻으려면 화면 해상도에 대한 지식이 필요 stty하며 그러한 정보에 직접 액세스 할 수는 없다고 생각 합니다.


선생님 픽셀로 출력을 얻을 수 없습니까?
Edward Torvalds

에 있습니다 때문에이 대답 명령, 변수를 볼 수 없습니다 파이프 라인이 서브 쉘에서 실행됩니다. (하지만 작동합니다 .) 예 를 들어 . bashechoreadkshbashread myrows mycols < <( stty size )
Janis

1

A의 데스크톱 환경 , 당신은 X를 사용하고 있고 xwininfo유틸리티는 픽셀 단위로 창 크기를 표시 할 수 있습니다. 바탕 화면에서 실행 (그리고 예를 들어, 원격으로 연결되지 않음)하는 경우 또한, 터미널 에뮬레이터 변수 제공 $WINDOWID이 매개 변수로 사용할 수 있습니다 xwininfo예를,

xwininfo -id $WINDOWID

목록 목록을 얻으십시오.

xwininfo: Window id: 0xc00025 "uxterm"

  Absolute upper-left X:  65
  Absolute upper-left Y:  167
  Relative upper-left X:  0
  Relative upper-left Y:  22
  Width: 624
  Height: 577
  Depth: 24
  Visual: 0x22
  Visual Class: TrueColor
  Border width: 1
  Class: InputOutput
  Colormap: 0x21 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +65+167  -589+167  -589-256  +65-256
  -geometry 103x42+65+145

이 예에서와 라인 WidthHeight의 크기 의 화소 . 마지막 줄 -geometry문자 크기 (왼쪽 위 모서리 위치 (픽셀))를 나타냅니다.

크기조정 하면 resize프로그램은 줄과 열의 수를 보여줍니다. 이 예에서는

$ resize
set noglob;
setenv COLUMNS '103';
setenv LINES '42';
unset noglob;

질문은 정보가 어떻게 사용될 수 있는지를 나타내지는 않았지만, 출력은 예측 가능한 형식의 텍스트이므로 쉽게 스크립팅됩니다. 다음은 awk를 사용하는 간단한 예입니다.

#!/bin/sh
if [ -n "$WINDOWID" ]
then
    xwininfo -id $WINDOWID | awk '
    BEGIN { px = 0; py = 0; chars = "?x?"; }
    /Height:/ { py = $2; }
    /Width:/ { px = $2; }
    /-geometry/ { chars = $2; sub("+.*","",chars); }
    END { printf "%dx%d pixels, %s chars\n", py, px, chars; }'
else
    printf '? no WINDOWID found\n'
fi

인쇄

577x624 pixels, 103x42 chars
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.