Linux Desktop 명령 줄에서 디스플레이 해상도 얻기


답변:


37

명령을 사용하십시오 xrandr. 인수가 없으면 사용 가능한 해상도와 별표가있는 현재 해상도가 표시됩니다. 예를 들면 다음과 같습니다.

$ xrandr | fgrep '*'

답변에 샘플 출력을 추가 할 수 있습니까? 그리고 나는 xrandr |g grep \*트릭을 추측 하고 있습니까?
Ehtesh Choudhury

11

대체 솔루션 : xdpyinfo | grep dimensions. xdpyinfo보다 오래된 버전 xrandr이므로 아주 오래된 배포판이나 다른 X 서버를 사용하는 경우 이식성이 더 높을 수 있습니다.


2
실제로, 일부 (모두?) 다중 모니터 설정은 화면과 해상도 xdpyinfoxrandr올바르게 열거 하면서 하나의 화면으로 나타납니다 . 상황에 따라 문제가 될 수도 있고 아닐 수도 있습니다.
Stéphane Gourichon

참고 : xdpyinfo픽셀 단위로 정확한 치수를보고 하는 것 같지만 잘못된 해상도 (DPI)를보고합니다. 내 3840x2160 (기본 및 실제) dimesions와 모니터 크기에 대한 예 : 708mm X 399mm로보고 xrandr, xdpyinfo그 해상도는 인치당 최대 96x96 도트 말했다.
Ruslan

7

다음 명령을 사용하여 수평 및 수직 해상도를 얻을 수 있습니다.

xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'

또는 더 컴팩트 한 형태로 ( 의견 에서 Peter.O가 제안한대로 ) :

xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' 

예를 들어 1600x900 디스플레이에서는 다음과 같은 출력이 생성됩니다.

1600 900

그런 다음 명령을 사용하여 값을 별도의 변수에 배치 할 수 있습니다.

read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')

다음 명령을 사용하여 위 변수의 값을 표시하십시오.

echo $RES_X, $RES_Y

1600x900 디스플레이에서 출력은 다음과 같습니다.

1600, 900

1
xdpyinfo | awk -F '[x] +' '/ 치수 : / {print $ 3, $ 4}'
Peter.O

@ Peter.O, 감사합니다. 이것은 작고 간단한 형태의 명령입니다. 답변을 업데이트했습니다.
crayzeewulf

실제로 xrandr는 화면과 해상도를 올바르게 열거하지만 일부 (모두?) 다중 모니터 설정은 xdpyinfo에서 하나의 화면으로 나타납니다. 상황에 따라 문제가 될 수도 있고 아닐 수도 있습니다.
Stéphane Gourichon

5

게시하기 전에 조금 더 어려워 보였을 것입니다. xrandr다른 인수가 없으면 현재 디스플레이 설정을 반영합니다.

기본적으로 가능한 모든 디스플레이 설정이 덤프되며 다음과 같이 필터링 할 수 있습니다.

xrandr | egrep '^[^ ]|[0-9]\*\+'

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