簡體   English   中英

程序如何與 Linux 上的 X11 服務器通信?

[英]How does a program communicate with the X11 Server on Linux?

所以我對此進行了大量研究,但找不到答案。

它是否使用命名管道? 本地主機上的套接字? 總線 ?

我可以用一行 bash 截取並查看 X 客戶端發送到 X 服務器的二進制消息嗎?

當然,這僅用於教育目的。 我不打算構建一個可以攔截此類消息的軟件。

它使用名稱為/tmp/.X11-unix/X${DISPLAYNUMBER}的 Unix 域套接字。 現在,Linux 支持 Unix 域套接字的特殊命名,稱為“抽象命名空間 UDS”,其中路徑以@開頭,但其他方面相同。

要添加到另一個答案,還有 TCP/IP。 事實上,程序可以使用運行在完全不同機器上的 X11 服務器,甚至可以環游世界。

例如,您可以使用:

DISPLAY=192.168.1.56:0 xterm

並且程序 xterm(1) 將使用 TCP/IP 連接連接到 $DISPLAY 指示的機器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM