내 질문은 시나리오로 가장 잘 설명됩니다. 귀하의 데스크탑이 어떤 형태로든 Linux를 실행하고 있다고 상상해 보십시오(저는 Arch를 실행하고 있습니다). 이제 가상 데스크톱을 제공하기 위해 컴퓨터에서 실행되는 VNC 서버도 추가하겠습니다.
데스크탑에서 Firefox를 열고 vnc에 로그인하여 작업을 수행합니다. Google에서 무언가를 검색해야 하면 Firefox를 열고 세션이 이미 실행 중이라는 오류가 발생하므로 이제 이전에 Firefox가 실행 중이던 세션을 닫고 vnc에서 다시 열어야 합니다. VNC에서 실행되고 있다는 사실을 잊은 경우 동일한 작업을 수행하여 데스크톱에서 열어야 합니다.
이 특정 문제를 해결하는 몇 가지 방법이 있다는 것을 알고 있지만 이는 단지 예일 뿐입니다. 이 경우 왜 Firefox는 1개의 창에만 할당되어야 합니까?
Firefox를 생성하고 특정 창에 할당하지 않고 특정 데스크톱에 배치하려고 할 때 Firefox를 닫았다가 다시 시작하거나 다른 인스턴스를 시작할 필요 없이 왜 Firefox에서 로드만 할 수 없습니까? 더 나은 표현은 다음과 같습니다. 왜 그래픽 프로세스가 자체 서버에서 실행된 다음 요청하는 데스크톱으로 전달/이동되지 않습니까?
답변1
여러 X11 서버에 동시에 연결할 수 있는 프로그램은 매우 드뭅니다. 대부분은 하나의 X11 세션을 모니터링하고 다른 X11 세션 또는 이와 유사한 결과를 표시하도록 설계된 특수 응용 프로그램입니다. 일반 응용 프로그램은 실제로 이것을 지원하지 않습니다. 확실하지는 않지만 내 생각에는 많은 X11 클라이언트 라이브러리에 프로세스당 X11 연결이 하나만 있다는 가정과 관련된 전역 변수 및 기타 다양한 비트가 포함되어 있는 것 같습니다.
응용 프로그램이 두 개의 서로 다른 모니터에 표시되도록 하려면 해당 응용 프로그램의 복사본 두 개만 실행하면 되기 때문에 일반적으로 문제가 되지 않습니다. 문제는 Firefox가 동일한 사용자 계정에서(동일한 모니터에 있는지 여부에 관계없이) 두 개의 복사본을 동시에 실행하는 것을 지원하지 않는다는 것입니다.