Fedora 22에서 다음 명령을 사용하여 화면 회전 상태를 읽은 적이 있습니다.
status=$(xrandr --verbose | grep LVDS1 | awk '{print $6}'
출력은 비슷한 것입니다 noraml
. inverted
다른 모니터/프로젝터와 화면을 공유하는 경우에도 작동합니다. Fedora 23으로 업데이트한 후 노트북을 외부 모니터나 프로젝터에 연결할 때마다 라인의 정보가 xrandr
약간 변경되고 정보를 제공하지 않는 $6
섹션이 나타나서 Get Monitor의 상태를 변경해야 합니다 . 첫 번째 문자를 테스트하고, 그렇다면 다른 출력을 사용하여 문제를 해결했습니다 . 그건,(normal
(normal left inverted right x axis y axis)
$6
$5
(
testvalue=$(xrandr --verbose | grep LVDS1 | awk '{print $6}')
[ ${testvalue:0:1} == "(" ] && status=$(xrandr --verbose | grep LVDS1 | awk '{print $5}') || status=$(xrandr --verbose | grep LVDS1 | awk '{print $6}')
이로써 현재 작업이 완료되었습니다.내 질문은 이 문제를 보다 안정적인 방법으로 해결하는 방법입니다.
답변1
xrandr | awk -F'(' '/^LVDS1/{ split($2,a," "); print a[3]}'
xrandr은 --verbose 없이 이 줄을 인쇄합니다.
필드 구분자로 "(" 사용
/^LVDS1/과 일치하는 행만 보기
""를 구분 기호로 사용하여 두 번째 필드를 배열(a라는 이름)로 분할합니다.
마지막으로 a의 세 번째 요소를 인쇄합니다.