X Window System コアプロトコル その他

X Window System コアプロトコル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/19 17:13 UTC 版)

その他

他にもXコアプロトコルには要求やイベントが存在する。まず、ウィンドウ間の親子関係に関する要求がある。クライアントは、ウィンドウの親の変更要求が可能である。また、ウィンドウの親子関係に関する情報を要求することもできる。他にセレクションに関する要求があるが、これは主に他のプロトコルで扱われる。入力フォーカスカーソル形状についての要求もある。クライアントは、特定のリソース(ウィンドウ、ピクスマップなど)の所有者を終了させる要求もでき、サーバはそのコネクションを終了させる。また、クライアントはサーバにNOP要求を送信することもできる。

拡張

shape extensionによって丸いウィンドウ(oclock)も生成できる。

X Window System コアプロトコルは、拡張性を考慮して設計された。Xコアプロトコルには、利用可能な拡張や、拡張の要求/応答/イベント/エラーパケットをどう作ればよいかを問い合わせる機構を備えている。

特に、特定の拡張に対応したデータについて利用可能な拡張の一覧を要求できる。拡張のパケットは、Xコアプロトコルのパケットとよく似ている。Xコアプロトコルでは、要求/応答/イベント/エラーパケット内にそのパケットのタイプを示す整数が含まれている。例えば、新たなウィンドウの生成要求は 1 である。この整数の一部範囲が拡張用に予約されている。

認可

クライアントがサーバとのコネクションを確立しようとした時、サーバのとりうる応答としては、受理するか、拒否するか、認証を要求するかのいずれかである。認証要求には、使用する認証手法の名称が含まれる。Xコアプロトコルでは認証プロセスは規定されておらず、使っている認証の種類に依存する。さもなくば、サーバは単に受理パケットか拒否パケットを送るだけである。

通常のクライアントとサーバのやり取りで認証に関わる要求は「ホストによるアクセス制御; host-based access method」だけである。クライアントは、この認証手法を有効にする要求ができ、接続を認可されているホスト(クライアント)の一覧を読んだり変更したりできる。一般のアプリケーションはこれらの要求を使うことはない。これらを使うプログラムとして xhost があり、ユーザやシェルスクリプトがアクセス可能ホスト一覧を読み書きできるようにする。ホストによるアクセス制御は、安全ではないと言われている。

Xlib その他のクライアント・ライブラリ

多くのクライアントプログラムは、Xlibというクライアントライブラリを通してXサーバと通信する。クライアントは一般に Xaw、MotifGTKQt といったライブラリを使うが、これらもXサーバとの通信には Xlib を使っている。Xlib を使うことで、以下のようになる。

  1. Xlib を使うと、クライアントは応答とイベントの観点で同期的に動作可能となる。
    1. Xlib では、要求を送信すると適当な応答があるまでブロックする。言い換えれば、Xlib を使っていないクライアントがあったとしたら、要求パケット送信後に応答を待つ間に他の処理が可能である。ただし、クライアントがマルチスレッド化されている場合は、Xlib を使っていても同様のことが可能である。
    2. Xサーバは非同期にイベントを送信するが、Xlib はイベントをクライアント内のキューに蓄積する。クライアントは、明示的にライブラリ関数を呼び出したときだけそのキュー上のイベントにアクセスする。言い換えれば、クライアントがあるイベントを待っている場合、強制的にブロックまたはビジーウェイトとなる。
  2. Xlib では要求をサーバに即座に送信せず、output buffer というキューに蓄積する。その内容が実際に送信されるのは、以下のタイミングである。
    1. XFlashなどのライブラリ関数を使って明示的に送信を要求したとき。
    2. Xサーバからの応答を待つ必要のあるライブラリ関数を呼び出したとき(例えば、XGetWindowAttributes)。
    3. イベントキューにイベントがあるか問い合わせたとき(例えば、XNextEvent 呼び出し)で、かつブロックするような呼び出しをしたとき(例えば、XNextEvent はキューが空だとブロックする)。

Xtのような上位ライブラリ(さらに上位として Xaw や Motif がある)では、イベントに対応したコールバック関数を使うことができる。つまり、上位ライブラリがイベントキューを常時監視し、必要に応じて適切なコールバック関数を呼び出す。また、ウィンドウの再描画が必要となるようなイベントは Xt 内部で処理される。

XCB などの下位レベルのライブラリはプロトコルへの非同期アクセスを提供し、レイテンシ隠蔽効果が大きい。




  1. ^ Robert W. Scheifler and James Gettys: X Window System: Core and extension protocols, X version 11, releases 6 and 6.1, Digital Press 1996, ISBN 1-55558-148-X
  2. ^ RFC 1013
  3. ^ Grant Edwards. An Introduction to X11 User Interfaces
  4. ^ Jim Gettys. Open Source Desktop Technology Road Map
  5. ^ comp.fonts FAQ: X11 Info
  6. ^ X Logical Font Description Conventions
  7. ^ Matthieu Herrb and Matthias Hopf. New Evolutions in the X Window System.
  8. ^ Ghostview: Interface with ghostscript
  9. ^ David Rosenthal. Inter-Client Communication Conventions Manual. MIT X Consortium Standard, 1989
  10. ^ a b Freedesktop window manager specification





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「X Window System コアプロトコル」の関連用語

X Window System コアプロトコルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



X Window System コアプロトコルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのX Window System コアプロトコル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS