実行時に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()が適しているようです)。

2番目の問題は、xtraceを使用するとクライアントが遅くなる可能性があることです。

おすすめ記事