가상 모니터를 생성하여 현재 모니터(X 의미)에 별도의 화면으로 추가하고 VNC를 통해 공유하고 싶습니다. 이제 제가 하고 싶은 일은 Arch Linux Wiki 기사 아래에 명확하게 설명되어 있습니다.긴설정
이는 X를 사용하여 다중 모니터를 구성하는 원래 방법이며 수십 년 동안 사용되어 왔습니다. 각 물리적 모니터에는 X 화면이 할당되어 있으며 모니터 사이에서 마우스를 이동할 수 있지만 다소 독립적입니다. 일반적으로 X 디스플레이에는 DISPLAY 환경 변수에 :0과 같은 식별자가 설정되어 있지만 이 구성에서는 각 화면의 $DISPLAY 값이 다릅니다. 첫 번째 화면은 0.0, 두 번째 화면은 0.1 등입니다. 이 구성을 사용하면 다중 화면을 지원하는 일부 특수 프로그램(예: GIMP 및 Emacs)을 제외하고 화면 간에 창을 이동할 수 없습니다. 대부분의 프로그램의 경우 프로그램이 다른 화면에 표시되도록 시작 시 DISPLAY 환경 변수를 변경해야 합니다.
# Launch a terminal on the second screen
$ DISPLAY=:0.1 urxvt &
또는 각 화면에 터미널이 있는 경우 실행된 프로그램은 DISPLAY 값을 상속하고 실행된 동일한 화면에 나타납니다. 하지만 화면 간에 앱을 이동하려면 해당 앱을 닫았다가 다른 화면에서 다시 열어야 합니다. 이러한 작업 방식에는 확실한 이점이 있습니다. 예를 들어, 한 화면에 팝업 창이 나타나면 다른 화면에서 작업할 때 주의를 끌지 않습니다. 각 화면은 상당히 독립적입니다.
Tl;dr: 다음으로 표시됨: 0.1
나는 과거에 현재 화면을 확장한 가상 디스플레이를 xrandr
.
xrandr --newmode "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
xrandr --addmode VIRTUAL1 1024x768_60.00
xrandr --output VIRTUAL1
발생하는 문제는 모니터 간(실제 모니터에서 VNC 모니터로) 창을 가져와야 한다는 것입니다. 새 디스플레이가 새 화면이 되도록 어떻게 지정합니까? 난 이거 반대로 하고싶다질문, 창이 호출된 동일한 모니터에서 창이 열리도록 "문제"를 발생시킵니다.
답변1
발생하는 문제는 화면 사이에 창을 당겨야 한다는 것입니다.
응용 프로그램이 AT를 지원하도록 특별히 작성되지 않은 한(대부분의 X 응용 프로그램은 지원하지 않음) 불가능합니다. 를 읽으면 man XOpenDisplay
X 응용 프로그램이 해당 모니터에 화면 목록을 반환하지만 XtOpenDisplay
화면을 지정하도록 강제하는 툴킷 작업이 이미 있다는 것을 알 수 있습니다.
X 응용 프로그램의 창을 "화면 사이"로 이동하려는 경우 이는 "화면"이 X 화면이 될 수 없고 동일한 X 디스플레이/화면 조합의 일부가 될 수 있음을 의미합니다.
따라서 원하는 것은 두 개의 모니터에 단일 프레임 버퍼가 표시되는 것이고(그 부분은 쉽습니다) VNC를 통해 한 모니터의 프레임 버퍼를 공유해야 합니다. 사용중인 VNC 서버를 패치하지 않고도 이것이 가능한지 모르겠습니다.