xrandr을 사용하여 듀얼 모니터 설정: 스크롤 없이 크기 조정/비활성화

xrandr을 사용하여 듀얼 모니터 설정: 스크롤 없이 크기 조정/비활성화

이것은 질문이 아니라 우분투에서 겪었던 문제에 대한 해결책입니다.

설정:
노트북 화면(예: "LVDS-1-0")과 두 번째 화면(예: "DP-1")이 있는 경우 두 번째 화면은 기본 화면이고 모니터는 기본 화면 쪽 오른쪽에 있습니다(또는 왼쪽)을 확장으로 사용합니다(그림 참조). xrandr의 명시적인 지시에도 불구하고 첫 번째 화면은 항상 가상으로 확장됩니다. 이렇게 입력한 후, 메인 모니터에서 마우스 커서를 오른쪽으로 움직일 때 짜증나는 스크롤을 피할 수 있었습니다.

xrandr --output LVDS-1-0 --off
xrandr --output DP-1 --mode 1920x1080 --primary --pos 0x0 --output LVDS-1-0 --mode 1920x1080 --pos 1920x0

그 후에는 스크롤하지 않고 한 모니터에서 다른 모니터로 이동합니다.

고쳐 쓰다

별도의 그래픽 카드로 전환한 후(Nvidia는 내 노트북에 독립적이고 Intel은 통합되어 있음) 출력 순서를 변경해야 합니다.

output_DP=$(xrandr | grep " connected" | grep DP | awk '{print $1}')
output_LVDS=$(xrandr | grep " connected" | grep LVDS | awk '{print $1}')

xrandr --output $output_LVDS --off
xrandr --output $output_LVDS --mode 1920x1080 --pos 1920x0 --output $output_DP --mode 1920x1080 --pos 0x0  --primary

추가 편의를 위해 개별 그래픽과 통합 그래픽 사이를 전환하면 출력 장치의 이름이 변경되므로(예: LVDS-1-0 대 LVDS-1) 이러한 변수를 더 유연하게 만들었습니다.

모니터 레이아웃

답변1

같은 오류가 발생했습니다.귀하의 솔루션이 나에게 적합하지 않습니다.귀하의 팁은 단지 방아쇠일 뿐이므로 실수가 발생하지 않습니다. 조금 더 깊이 파고들어 발견한해결책이 있는 좋은 사람이것은 다른 사람들에게도 도움이 될 수 있습니다.

가장 큰 문제는 여기에 있는 버그로 인해 다른 모니터로 스크롤이 발생한다는 것입니다.가상 화면두 화면을 합친 크기입니다. 따라서 솔루션은 모니터 해상도에 맞게 해당 화면의 추가 가상 공간을 비활성화하는 것 같습니다. 이는 일반적 --panning AxB으로 매개변수를 통해 수행됩니다. 이를 사용하여 가상 공간 크기를 설정합니다.

다음을 수행할 수 있습니다.

xrandr \
  --output LVDS-1-0 --mode 1920x1080 --panning 1920x1080 --pos 1920x0 \
  --output HDMI-0   --mode 1920x1080 --panning 1920x1080 --pos 0x0    --primary

( \명령에 개행 문자를 사용하려면 슬래시를 추가하십시오.)

안타깝게도 여기서 문제는 운전자입니다.(이것은 오류입니다)우리가 설정한(또는 설정하지 않은) 패닝을 무시하는 것 같습니다. 하지만 팬의 다른 부분인 추적 영역은 설정되지 않습니다! 추적 영역은 실제로 카메라가 모니터의 커서를 따라가는 화면 부분입니다.

tl;dr: 따라서 패닝을 드라이버에 설정하되 추적 영역을 제한하는 것이 아이디어입니다.

이는 다음 명령을 사용하여 수행됩니다.

xrandr \
  --output LVDS-1-0 --mode 1920x1080 \
  --output HDMI-0   --mode 1920x1080 --panning 3840x1080+0+0/1920x1080+1920+0/0/0/0/0    --primary

"처음 4개의 매개변수[논쟁 panning]전체 변환 영역을 지정합니다. 다음 4개는 포인터 추적 영역입니다(기본값은 동일한 영역입니다). 마지막 4개의 매개변수는 테두리를 지정하며 기본값은 0입니다. "[맹크스 랜들]

관련 정보