By Hidden


2016-04-13 12:42:44 8 Comments

I'm reading Wikipedia about X11 and it says that:

In its standard distribution it is a complete, albeit simple, display and interface solution which delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems...

But later it says that:

X primarily defines protocol and graphics primitives - it deliberately contains no specification for application user-interface design, such as button, menu, or window title-bar styles.

So, do X11 provide widgets like a button or a window panel/frame, etc or not? What is a graphic primitive? What does X11 provide exactly?

It is also stated that:

X does not mandate the user interface; individual client programs handle this. Programs may use X's graphical abilities with no user interface.

What does this mean?

4 comments

@Stefan Skoglund 2020-02-29 21:00:02

The X11 window system had support (with manufacturers special support) for a fair number of rather complicated constructions/designs.

The usage of DisplayPostscript in NeWS (Sun/Sony) meant that the server had a complete and rather nice (Display)Postscript support built in. This support was remotely employed by the application for example a program running on an cray x-mp could with the same constraints/interface/abilities display a seismic chart on the computer in the same way as if the same chart were being printed out on an high-end laser printer/photocopier.

@Qinsheng Zhang 2020-02-29 20:44:39

Some concepts:
- X Windows System Windowsing system. (make it possible for moving windows on display device and interacting with mouse and keyboard)
- X.Org Server An open-source implementation of X Windows System by X.Org Foundation.
- xterm terminal emulator for X Windows System.
- X Client: an application runs on an X server. X windows system requires the clients and server to operate separately. Applications, such QT, GTK and other X clients need the cooperation from X server to work successfully.

Previously, I also feel very confused on this problem. Initially, I installed linux system aside with windows, for many times I encountered issues with Xorg errors.
Recently, I use xclip on remote server. The software needs an environment variable DISPLAY to be set, which is not the case in my remote server. There is no monitor, mouse or keyboard, and the variable is managed by X server.

@Gilles 'SO- stop being evil' 2016-04-13 23:19:26

Like many words, “X11” can have multiple meanings.

“X11” is, strictly speaking, a communication protocol. In the sentences “X primarily defines protocol and graphics primitives …” and “X does not mandate the user interface …”, that's what X refers to. X is a family of protocols, X11 is the 11th version and the only one that's been in use in the last 25 years or so.

The first sentence in your question refers to a software distribution which is the reference implementation of the X11 protocol. The full name of this software distribution is “the X Window System”. This distribution includes programs that act as servers in the X11 protocol, programs that act as clients in the X11 protocol, code libraries that contain code that makes use of the X11 protocol, associated documentation, resources such as fonts and keyboard layouts that can be used with the aforementioned programs and libraries, etc. Historically, this software distribution was made by MIT; today it is maintained by the X.Org Foundation.

The X11 protocol allows applications to create objects such as windows and use basic drawing primitives (e.g. fill a rectangle, display some text). Widgets like buttons, menus, etc. are made by client libraries. The X Window System includes a basic library (the Athena widget set) but most applications use fancier libraries such as GTK+, Qt, Motif, etc.

Some X11 programs don't have a graphical user interface at all, for example command line tools such as xset, xsel and xdotool, key binding programs such as xbindkeys, etc. Most X11 programs do of course have a GUI.

@crajun 2016-04-13 13:24:47

X11, aka X.org Foundation Windowing is basically used by other desktop environments like KDE and GNOME, among many others, to provide the abstract interface to managing a GUI. Without relying on X, KDE/GNOME/others would have to write the code to do low-level coding things themselves. Instead, KDE/GNOME communicate back and forth with X (it runs as a server process that 'clients' connect to).

@crajun 2016-04-13 13:42:59

Also this help explain it, as well as provide some insight into why Wayland and other X replacements are being built: art.net/~hopkins/Don/unix-haters/x-windows/disaster.html

@Stefan Skoglund 2020-02-29 21:02:28

That is a rant.

@Stefan Skoglund 2020-02-29 21:06:31

And it also in another way explains Ken Olsen's characterization of UNIX as snake oil peddler's products, but that IS capitalism ! The claim is design for MOTIF and run everywhere, nowadays it's more like design for MS windows and run everywhere (this a monopoly not a market.) Ken Olsen knew very well that design-for-MOTIF and run-on-everything is not in the producers interest - ergo it won't really happen.

Related Questions

Sponsored Content

4 Answered Questions

[SOLVED] Reattach to lost X11 session

  • 2011-04-04 19:31:34
  • Abdullah Jibaly
  • 24135 View
  • 30 Score
  • 4 Answer
  • Tags:   x11

5 Answered Questions

[SOLVED] What process created this X11 window?

  • 2011-01-06 21:07:22
  • Gilles 'SO- stop being evil'
  • 26592 View
  • 86 Score
  • 5 Answer
  • Tags:   process x11

1 Answered Questions

[SOLVED] What does _NET_ mean on X11 window properties?

  • 2019-01-12 23:25:10
  • Evan Carroll
  • 278 View
  • 1 Score
  • 1 Answer
  • Tags:   x11

3 Answered Questions

[SOLVED] What is `/tmp/.X11-unix/`?

  • 2015-04-16 18:42:57
  • ThorSummoner
  • 24787 View
  • 35 Score
  • 3 Answer
  • Tags:   x11

1 Answered Questions

Invalid event in x11

  • 2014-09-11 14:15:01
  • Mariusz
  • 90 View
  • 2 Score
  • 1 Answer
  • Tags:   x11

3 Answered Questions

[SOLVED] Capture the X11 protocol's traffic

  • 2015-03-23 15:23:53
  • zh_
  • 5869 View
  • 15 Score
  • 3 Answer
  • Tags:   x11

1 Answered Questions

[SOLVED] X11 window scrambled when connecting

  • 2015-03-13 14:12:19
  • Rowan Kaag
  • 44 View
  • 0 Score
  • 1 Answer
  • Tags:   x11

2 Answered Questions

[SOLVED] what is the difference between X11 and Xlib?

  • 2014-03-09 07:42:32
  • KawaiKx
  • 1969 View
  • 5 Score
  • 2 Answer
  • Tags:   xorg x11

1 Answered Questions

[SOLVED] VMD X11 session over ssh

  • 2014-02-23 19:33:04
  • gTcV
  • 4466 View
  • 2 Score
  • 1 Answer
  • Tags:   x11

Sponsored Content