GUI 프로그래밍에서 특정 일을하는 법을 배우는 과정 (예 : 응용 프로그램의 화면 공간 확보)에서 Linux의 X11 (일반적으로 X11)에 대해 더 많이 알아야합니다 (디스플레이가 있는지 확실하지 않습니다. 는 아직 구현되지 않은 Wayland 에 대해 들었지만 X11 이외의 다른 것을 사용 합니다.)
저는 프로그래밍에 익숙하지 않고 참을성이 없습니다. 그래서 나는 단지 그것에 뛰어 들고있다. 이제 더 배우고 자하는 ICCCM을 읽고 있습니다. 그러나이 문서는 나보다 더 많은 것을 알고있는 대중을 대상으로합니다. 그래서 나는 몇 가지 정보를 발견했고, 약간의 설명을 얻고 싶습니다.
ICCCM 인용문의 섹션 2 :
소유자와 요청자간에 전송 된 모든 데이터는 일반적으로 X 버전 11 환경에서 서버를 통해 이동해야합니다. 클라이언트는 다른 클라이언트가 동일한 파일을 열거 나 직접 통신 할 수 있다고 가정 할 수 없습니다. 다른 클라이언트는 완전히 다른 네트워킹 메커니즘을 통해 서버와 통신 중일 수 있습니다 (예 : 한 클라이언트는 DECnet이고 다른 TCP / IP 일 수 있습니다). 따라서 데이터에 대한 간접 참조 (파일 이름, 호스트 이름 및 포트 번호 등)를 전달하는 것은 두 클라이언트가 특별히 동의 한 경우에만 허용됩니다.
내가 이해하는 한 X Window Manager는 X 서버 상단에 구축되어 있습니다 (Wikipedia 덕분에). 위 인용문에서 : 클라이언트가 DECnet 또는 TCP / IP를 사용하여 서버와 통신 할 수 있다고합니다. 지금까지 나는 "서버"가 말의 그림이라고 생각했다. 이제 의심 스럽다 : X 서버가 "웹 서버"에서와 같은 서버인가? 기능 / 정의를 어떻게 이해해야합니까?
그런 다음 X11, Xorg, X Server 및 / 또는 X Window Manager에 대한 참조가 종종 있습니다. : 그것은 혼란을 얻을 X11은으로 Xorg와 X 창 관리자를 포함하여 번들입니까? 그렇다면이 X11 번들에 다른 것이 있습니까?
X는 또한 마우스 나 키보드 또는 다른 종류의 입력이 필요합니다. X 서버 기능의 일부입니까? X Window Manager는 디스플레이 만 엄격하게 보입니까?
마지막으로 위의 인용문은 고객과의 의사 소통 여부를 언급합니다. 이것은 D-Bus를 상기시켜주었습니다. 학습 목적으로 조금 사용했습니다. D-Bus를 사용하면 윈도우 이벤트를 트리거 할 수도 있습니다. 프로그램이 서로 통신하는 방법에 대해 약간 혼란스러워합니다. * X Server 또는 D-Bus를 사용하여 상호 작용하는 프로그램 사이에는 어떤 차이점이 있습니까? *
이 정보가 어떻게 든 모호한 점이 아쉽지만, 배우기가 더 어려워 지지만, 이것에 대해 약간의 정보를 얻을 수 있기를 바랍니다. :) 감사합니다.