10

Can anyone please tell me what X Window System is and what it is used for?

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232
kkk
  • 211

4 Answers4

17

You may be confused, and this is not your fault, because Linux can have 2 meanings.

  1. Linux is a kernel: This kernel is used in many systems, including android and the systems outlined in 2.

  2. Linux also often confusingly is used to refer to systems like Debian, Ubuntu, Redhat, CentOs, Suse, and many more. These systems are better described as Gnu+Linux, and in the desktop case X11+Gnu+Linux.

X11 is the correct name for the system that you are asking about. X11 is an architecture independent, network transparent, policy free, windowing system.

Not part of the OS

The X11 server runs as a user process. Other processes also run, window manager (to decorate windows with frames and title bars, and do the moving and resizing), taskbar, and other. It has been said “MS-Windows is a windowing system with an OS stuck on as an after thought, and Unix/Linux is an OS with a windowing system stuck on as an after thought.”

Architecture independent

X11 is used on most Unixes: Gnu (including Gnu+Linux), Bsd, Solaris, Hp-Ux, etc. it can also be used on many other systems: Vms, MS-Windows, MacOs, AmigaDos, and may more.

Network transparent

You can open windows on other machines, if you have the correct authority. And can run application on a remote (possibly more powerful) machine, and display application locally. This is done on a per application, or per window basis, unlike VNC or remote desktop, that do it a desktop at a time.

Policy free

X11 has no policy as to what things look like or how things are done. This has allowed it to endure since about 1985, with some extensions such as video, shaped windows and 3d. All the changes of look and feel are done by changing or replacing window managers and other helper apps. You can change window manager without logging out. So it is possible to change from something from 1985 (pre Microsoft's windows) to 1995 (Win95), to 2001 (win XP), to 2014 (Win 7) to (no one in there right mind would run something like win 8), to something better — no reboot, not even a log out. (Though if you did have a 1985 version of X11 you would have to logout to upgrade to one that has 3D etc).


see also http://en.wikipedia.org/wiki/X_Window_System

3

The X Window System is the basis for graphical user interfaces. X uses a client-server model: the X server is responsible for displaying (drawing) everything, while the client tells the X server what to display (draw). Client and server do not need to be on the same host.

X by itself is not sufficient for graphical user interfaces, for the X server "knows" only how do draw rectanges, lines, bitmaps and other shapes and how to render fonts. It also takes care of window overlapping, cursors, input event management (such ad key press and release, mouse movements, mouse clicks) etc. It does not provide any kind of "look and feel". That's up to widget sets that operate on top of X. Examples for such sets are Qt or GTK. Historical examples are Motif and XView. These widget sets "describe" what widgets exist (like text input fields, drop down boxes, buttons, canvases etc), how they look like, and how they act. On top of that there are the window managers which are responsible for, well, window management, i.e. how windows are decorated (frames, title bars) and what action elements they provide (like minimize, maximize, close etc.)

Unlike Microsoft Windows, X is not part of the operating system. Although the X server used to have extraordinary privileges in order to utilize the graphics hardware, you can run a unix/linux system perfectly without X. However, a lot of software depends on the X libraries, so even if the X window system is not fully installed on a system, you might find the X libraries.

countermode
  • 7,533
  • 5
  • 31
  • 58
  • "However, a lot of software depends on the X libraries [...]" I can't imagine why Xlib would be needed if there is no X server to make said programs useful. The whole point of X11 is to facilitate a GUI, so all programs using it are naturally going to be GUI-related. And there are programs that use Xlib while never spawning a window. lsw, for example, lists all open clients for the given server. Runs in a terminal and prints output to stdout. Not very useful if there are no clients to list because there's no X server installed. – Braden Best Mar 11 '17 at 09:49
  • 1
    @BradenBest As far as I know the X libraries contain more than GUI specific code. – countermode Mar 11 '17 at 18:40
  • 2
    wouldn't it be bad programming practise to use xlib for a program that doesn't interact with an X server? – Braden Best Mar 11 '17 at 19:54
0

In Linux, the main GUI is known as X Window System (or X for short). Some configurations for the X Window System includes: fonts, GUI login tools, user desktop environments, using X for remote access, and localization.

Some X server options for Linux are: XFree86, X.org-X11, and Accelerated-X. XFree86 was a dominant X server option until 2004, when Linux distros shifted to X.org-X11.

More information on X.org-X11 can be found on http://www.x.org/wiki

ryekayo
  • 4,763
  • The X Window System is not a GUI, it is a basis for window systems. – countermode Aug 07 '14 at 22:04
  • @countermode this is from what I gathered when I looked up what X Window System is in Linux – ryekayo Aug 07 '14 at 22:13
  • Then that information is misguided. See my answer for more background. – countermode Aug 07 '14 at 22:26
  • @countermode And where do you base this information from? I looked this up in a Linux system administration book and was able to concur this online? – ryekayo Aug 07 '14 at 22:39
  • I've been around for a while and have witnessed the development of X. Without giving details I think I can claim to have a good understanding of what X is and what it is not. – countermode Aug 07 '14 at 22:51
0

X-Window is a piece of software that allows to draw windows on hardware displays. It only creates, moves and closes windows as well as interprets the mouse events like cursor moving and buttons click. X-Window does not provide all that unnecessary features like nice windows frames, color schemes, graphics effects, sounds etc. - it is a job for Window Manager which works on the top of X-Window.