X 창을 보조 모니터에 배치하는 방법은 무엇입니까? (그리고 이를 수행하기 위해 무엇이 호출되는지 알아두십시오)

X 창을 보조 모니터에 배치하는 방법은 무엇입니까? (그리고 이를 수행하기 위해 무엇이 호출되는지 알아두십시오)
  • 내 Linux 상자에는 Nvidia GT710 GPU에 연결된 모니터 2개(HDMI 1개, DVI 1개)가 있습니다.

  • SSH를 통해 내 상자에 로그인하고 실행하면 xeyes항상 같은 화면에서 실행됩니다.

  • echo $DISPLAY돌아오니까 이 화면 이름을 알아요:0

:0.0내가 읽은 내용에 따르면 X 창을 왼쪽 및 오른쪽 모니터에 각각 사용하고 위치를 지정할 수 있기를 원합니다 :0.1. 에 대해서도 마찬가지입니다 :1. DISPLAY=:0.0 xeyes왼쪽 화면에 xeye가 표시되지만 다음과 같습니다.

~$ DISPLAY=:0.1 xeyes
Error: Can't open display: :0.1

목록을 보면 내 오른쪽 모니터의 이름이 무엇인지 알 수 있을 거라 생각했지만 /tmp/.X11-unix/,

~$ ls /tmp/.X11-unix/
X0

그렇다면 이 보조 디스플레이로 무엇을 해야 하며 어떻게 해야 하는지 알고 있습니까?

추신. ArchWiki에 설명된 대로 화면 간에 창을 이동할 수 없더라도 상관하지 않습니다.https://wiki.archlinux.org/title/Multihead#Separate_screens. 이것은 나에게 잘 작동하지만 이것을 달성하는 방법이 명확하지 않습니다.

답변1

:0.0 및 :0.1을 사용하여 X 창을 왼쪽 및 오른쪽 모니터에 배치할 수 있기를 원합니다.

이는 왼쪽 및 오른쪽 모니터가 실제로 두 개의 모니터를 사용하는 경우에만 작동합니다.엑스스크린, 일반적으로 직접 구성하지 않으면 표시되지 않습니다.

기본적으로 오늘날 대부분의 시스템에서는시네라마, 이는 당신이엑스스크린xrandr출력 모두 서로 다른 위치의 동일한 프레임 버퍼에서 읽습니다.

하지만 귀하의 시스템이 어떻게 구성되어 있는지 알려줄 수 있는 사람은 오직 귀하뿐입니다( /var/log/Xorg.log자세한 내용은 읽어보세요).

오류: 디스플레이::0.1을 열 수 없습니다.

이는 위의 가정을 확인시켜줍니다. 두 개의 X 화면이 없습니다.

그렇다면 이 보조 디스플레이로 무엇을 해야 하며 어떻게 해야 하는지 알고 있습니까?

출력을 보고 xrandr두 개가 있는지 확인하세요.산출동일한 프레임 버퍼에 연결됩니다(즉, 아래 나열된 모든 항목 Screen 0).

그렇다면 창을 왼쪽이나 오른쪽 모니터(또는 동시에 두 모니터 모두, 왼쪽에 절반, 오른쪽에 절반)에 표시되도록 어딘가에 창을 배치해야 함을 의미합니다.

당신의창 관리자(WM)은 대부분의 최신 배포판에서 데스크탑 환경에 통합되어 창 위치에 영향을 미칠 수 있으며, 올바르게 구성하면 원하는 위치에 배치하고 모니터링하는 데 도움이 될 수 있습니다.

많은(전부는 아니지만) X 응용 프로그램도 이 옵션을 지원합니다 -geometry(맨 페이지 읽기). 이 옵션은 창을 어딘가에 다시 배치하지만 WM은 이 옵션을 자유롭게 무시할 수 있으므로 작동하지 않으면 이것이 이유입니다.


최신 데스크톱 시스템을 실행하지 않고 창 관리자도 사용하지 않을 경우(수십 년 전에도 모두가 그렇게 했습니다. X는의미는창 관리자가 있는 경우) 명령줄을 통해 개별적으로 각 창의 위치를 ​​지정하고 크기를 조정해야 합니다(현재 설정에서 표시되는 화면도 결정됨). 창의 크기를 조정하거나 이동할 수 없습니다. 등 (만약 당신이할 수 있는이렇게 하면 깨닫지 못하더라도 어딘가에 약간의 WM이 있을 것입니다.

너도할 수 있는각 출력에 하나씩 두 개의 화면을 사용하도록 X를 설정합니다. 사용자 정의 xorg.conf파일이 필요합니다. 다음은 하나의 HDMI3 화면이 있는 Intel 하드웨어에 사용하는 파일입니다(그래서 얼마 전에 TV를 연결했을 때 두 개의 화면이 있는 것이 합리적이었습니다).

Section "Device"
        Identifier "intel0"
        Driver "intel"
        Option "AccelMethod" "sna"
        Option "ZaphodHeads" "VGA1,HDMI1,DP1"
        Screen 0
EndSection

Section "Device"
        Identifier "intel1"
        Driver "intel"
        Option "AccelMethod" "sna"
        Option "ZaphodHeads" "HDMI3"
        Screen 1
EndSection

Section "Screen"
        Identifier "screen0"
        Device "intel0"
EndSection

Section "Screen"
        Identifier "screen1"
        Device "intel1"
EndSection

Section "ServerLayout"
        Identifier "default"
        Screen "screen0" 0 0
        Screen "screen1" Below "screen0"
EndSection

하드웨어와 요구 사항에 따라 조정해야 합니다. 하드웨어마다 다른 옵션이 필요할 수 있습니다(예를 들어 제가 이 작업을 수행할 당시 Intel 하드웨어에는 AccelMethod 및 ZaphodHeads가 필요했습니다). 이 작업을 수행하는 데 상당한 시간이 걸릴 것으로 예상됩니다.

관련 정보