我正在阅读有关 X11 的维基百科,它说:
在其标准发行版中,它是一个完整但简单的显示和界面解决方案,它提供了标准工具包和协议栈,用于在大多数类 Unix 操作系统上构建图形用户界面...
但后来又说:
X 主要定义协议和图形基元 - 它故意不包含应用程序用户界面设计的规范,例如按钮、菜单或窗口标题栏样式。
那么,X11 是否提供按钮或窗口面板/框架等小部件?什么是图形基元? X11到底提供了什么?
还指出:
X 不强制要求用户界面;单独的客户端程序可以处理这个问题。程序可以在没有用户界面的情况下使用 X 的图形功能。
这是什么意思?
答案1
和许多单词一样,“X11”可以有多种含义。
“X11”严格来说是一种通信协议。在句子“X 主要定义协议和图形基元……”和“X 不强制用户界面……”中,这就是 X 所指的内容。 X 是一个协议系列,X11 是第 11 个版本,也是过去 25 年左右使用的唯一一个版本。
您问题中的第一句话指的是软件发行版,它是 X11 协议的参考实现。该软件发行版的全称是“X Window System”。该发行版包括充当 X11 协议中的服务器的程序、充当 X11 协议中的客户端的程序、包含使用 X11 协议的代码的代码库、相关文档、可使用的资源(例如字体和键盘布局)与上述程序和库等历史上,该软件发行版由 MIT 制作;今天它的维护者是X.Org 基金会。
X11 协议允许应用程序创建窗口等对象并使用基本绘图原语(例如填充矩形、显示一些文本)。按钮、菜单等小部件是由客户端库制作的。 X Window 系统包括一个基本库(雅典娜小部件集)但大多数应用程序使用更高级的库,例如GTK+,Qt,主题, ETC。
一些 X11 程序根本没有图形用户界面,例如命令行工具,例如设定,谢尔和xdo工具、按键绑定程序,例如xbindkeys等等。大多数 X11 程序当然都有 GUI。
答案2
X11,又名 X.org Foundation Windowing 基本上被 KDE 和 GNOME 等其他桌面环境使用,以提供管理 GUI 的抽象接口。如果不依赖 X,KDE/GNOME/其他系统就必须自己编写代码来完成低级编码工作。相反,KDE/GNOME 与 X 来回通信(它作为“客户端”连接到的服务器进程运行)。
答案3
一些概念:
-X窗口系统视窗系统。 (使得可以在显示设备上移动窗口并与鼠标和键盘交互)
-X.Org服务器X.Org 基金会对 X Windows 系统的开源实现。
-xtermX Windows 系统的终端模拟器。
-X客户端:应用程序在 X 服务器上运行。 X windows系统要求客户端和服务器分开运行。应用程序,如QT、GTK和其他X客户端需要X服务器的配合才能成功工作。
之前我也对这个问题感到很困惑。最初,我除了Windows之外还安装了Linux系统,多次遇到Xorg错误的问题。
最近,我使用xclip
在远程服务器上。该软件需要DISPLAY
设置一个环境变量,但我的远程服务器上不是这样的。没有监视器、鼠标或键盘,变量由 X 服务器管理。
答案4
X11 窗口系统的不同服务器程序(控制设备的进程,即带有 kbd 和鼠标的屏幕)可以支持对有线格式上的普通 X11 的扩展。有线格式:我对可以在机器上运行的客户端进程和服务器程序之间通过 IP 传输的不同类型消息的措辞(没有什么可以阻止通过 IBM 的 SNA 传输 X11 消息)。
X11 服务器程序的一种扩展是 DisplayPostScript。
NeWS (Sun/Sony) 中 DisplayPostscript 的使用意味着服务器内置了完整且相当不错的 (Display)Postscript 支持。客户端程序可以利用此支持直接在服务器内运行 postscript 程序。
例如,石油勘探项目可以采用这种方式,使用相同的 API,就像该设备是高端照排机/打印机一样,在科学家的显示器 (CRT) 上显示结果
Adobe 尚未从其系统中删除 DisplayPostScript(2021 年 7 月),因此请阅读: