런타임 시 Xorg 서버 확장을 비활성화하시겠습니까(새 클라이언트의 경우)?

런타임 시 Xorg 서버 확장을 비활성화하시겠습니까(새 클라이언트의 경우)?

오래된 Xorg 서버가 있습니다"렌더링" 확장에 문제가 있는 것 같습니다(활성화된 경우 X 클라이언트 및 라이브러리 업그레이드 패키지를 사용한 후 마우스를 글꼴 위에 올리지 않으면 대부분의 글꼴이 보이지 않습니다).

따라서 Xorg 서버의 새 인스턴스 문제는 다음을 추가하여 해결할 수 있습니다 /etc/X11/xorg.conf.

Section "Extensions"
    Option      "RENDER" "Disable"
EndSection

하지만 X 세션을 계속하고 싶지만 새 클라이언트가 확장 기능을 사용하지 않는 경우에는 어떻게 해야 합니까? (물론 논리적으로는기존 고객이 사용을 중단하지 않도록 하세요.;하지만 새로운 것은 어떻습니까? ) 일부 옵션은 다음과 같습니다:

  1. 서버가 실행되는 동안 즉시 서버 확장 기능을 끌 수 있나요?
  2. 클라이언트에게 이를 사용하지 말라고 말할 수 있습니까(예: 특정 툴킷으로 작성된 클라이언트)?
  3. 내 목표에 사용할 수 있는 "X 프록시"가 있습니까? 프록시는 단순히 "렌더링" 확장 기능이 있다고 광고하거나 관련 요청을 변환하고 모든 것을 "물리적" X 서버로 전달할 수 없습니다. 내 새로운 클라이언트가 브로커의 디스플레이에 연결됩니다.

답변1

가끔 사용하려면 다음을 삽입할 수 있습니다.클라이언트와 서버 사이에 xtrace의 -e 스위치를 사용하여 클라이언트에 확장이 표시되지 않도록 합니다.

  -e | --denyextensions
         Modify all server replies to say there are no extensions
         available.  (As xtrace does supports only a small number of
         extensions anyway and calls all extended requests "unknown"
         and  all replies to such requests "unexpected").

확장 프로그램이 표시되지 않으므로 개별 확장 프로그램을 "비활성화"/숨겨도 도움이 되지 않습니다. 이 경우 소스 코드를 수정해 볼 수 있습니다(parse.c:replyQueryExtension()이 적합한 것 같습니다).

두 번째 문제는 xtrace를 사용하면 클라이언트 속도가 느려질 수 있다는 것입니다.

관련 정보