Sponsored Content
Full Discussion: X Window system - concept
Top Forums UNIX for Dummies Questions & Answers X Window system - concept Post 302555274 by pludi on Wednesday 14th of September 2011 10:04:35 AM
Old 09-14-2011
There's a pretty good overview at Wikipedia.

The tl;dr version:
The X Window System can be seen as 3 components interacting.

First, there's the server component, whose job is to (basically) tell the graphics card what to draw on the monitor (screen), and reads keyboard and mouse input. Each computer can run multiple server instances, where each uses a distinctive display (defined by the server it belongs to, the size, resolution, color depth, and network port [more on that later]). The server is usually started by the xinit program, which in turn is usually started by the startx shell script, which does some preliminary setup.

The second part is the client, which is the application the user wants to interact with. It can, but doesn't have to, run on the same machine as the server. Window managers and desktops like Xfce, Gnome, KDE, or twm are all clients here, with the main job of providing easier access.

Last but not least is the network protocol, which is the way the client and server communicate with each other. Keyboard and mouse input received by the server is sent to the client, which acts on it (or not Smilie ), and as a result sends new drawing instructions back to the server, which then tells the graphics card what to draw. Rinse, repeat.

Modern Linux distributions mostly install the server and some client programs by default, and the server is automatically started at boot as a daemon, with the login manager (XDM, GDM, KDM, ...) as the first client, which then handles user logins, etc. Configuration files for this and other things reside in /etc/X11, or sometimes just in /etc, or some other subdirectories, which is distribution specific.

But in some cases there's no need to install and run a graphical user interface, for example with servers.

But some servers do have the libraries and programs installed that are required to communicate with a remote X11 server. For example, it's possible to install an X11 server on a Windows machine, connect to a remote machine using PuTTY and have a feature called "X11 forwardning" enabled. Here the network communication is tunneled through the SSH connection, and client programs like xeyes are displayed as if running on the Windows machine. With this feature the SSH daemon prepares the environment so that clients can easily connect to the server without any additional setup required by the user.
 

9 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

An X Window System from scratch

I'm currently using Gnome as my desktop environment (DE) but it's going kind of slow. My friend gave me the advice to skip the DE and only use a Window Manager. I took his suggestion one step further and decided to try building an X window system from scrath instead. But what are the... (3 Replies)
Discussion started by: J.P
3 Replies

2. Windows & DOS: Issues & Discussions

window 2000 professional not pinging my window 98 system.

Hello, We someone help me resolve this problem. I have window 2000 professional, windows 98 and Unixware 7.0.1 on the network. I was able to establish connection with all. However, l was unable to ping window 98 from window 2000 professional. I was able to ping the window 2000 from the window... (10 Replies)
Discussion started by: kayode
10 Replies

3. HP-UX

how to start the x window system

hi, am new to hp-ux, i just bought an hp-ux with the hp-ux 11.0 os, is very old, and i wnat to start the x window system but it send an error that said that couldn't open the x server, i try startx, xinit, and nothing, and also where i can find tutorials for hp-ux os for beginners (7 Replies)
Discussion started by: nobody
7 Replies

4. Red Hat

Maximizing X window without Window Switcher

Hi everyone! I have a strange situation. I'm running an NX remote Gnome desktop session. On the remote machine, there is a whole load of unsaved data in a window. A problem that I've been having with this NX session is that I can't load Gnome Applets, including the Window Switcher. So.. when I... (0 Replies)
Discussion started by: alexandicity
0 Replies

5. UNIX for Dummies Questions & Answers

What would take the Place of X Window System if X was not installed?

If X was not installed, what would print data onto the display? Does it include applications form Gpl/Gnu or is it a daemon only? Thanks in advance!:wall: (2 Replies)
Discussion started by: theKbStockpiler
2 Replies

6. AIX

Is XVFB(X window system virtual frame buffer ) open source

I would like to know XVFB is open source or not. (0 Replies)
Discussion started by: prathap.g
0 Replies

7. UNIX for Beginners Questions & Answers

Which X Window system is installed on my server that would work with Xming?

I would like to use Xming to connect a server and managed to get it to work. I am now trying to get it to connect to a different server but i am not sure which X Window system is installed. I tried it through putty and i get the following error/warning: /usr/java/jdk1.7.0_67/bin> jvisualvm... (5 Replies)
Discussion started by: ziggy25
5 Replies

8. UNIX for Beginners Questions & Answers

Toggle between xterm window and standard terminal window

Is it possible to toggle back and forth between an xterm invoked from one tty, and a shell invoked from a different tty? I am running Centos 7 with KDE and booting in non-graphic mode. After logging in on the default window (/dev/tty1) , I can then use ALT-F2 to access a new window (/dev/tty2),... (1 Reply)
Discussion started by: rhgscty
1 Replies

9. Programming

Configure: error: X Window system libraries and header files are required

I am trying to compile thunar 1.8.4. It is giving me this error. configure: error: X Window system libraries and header files are required Ubuntu Mate 18.04 (2 Replies)
Discussion started by: drew77
2 Replies
STARTX(1)						      General Commands Manual							 STARTX(1)

NAME
startx - initialize an X session SYNOPSIS
startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ] DESCRIPTION
The startx script is a front end to xinit(1) that provides a somewhat nicer user interface for running a single session of the X Window System. It is often run with no arguments. Arguments immediately following the startx command are used to start a client in the same manner as xinit(1). The special argument '--' marks the end of client arguments and the beginning of server options. It may be convenient to specify server options with startx to change on a per-session basis the default color depth, the server's notion of the number of dots-per-inch the display device presents, or take advantage of a different server layout, as permitted by the Xorg(1) server and specified in the xorg.conf(5) configuration. Some examples of specifying server arguments follow; consult the manual page for your X server to determine which arguments are legal. startx -- -depth 16 startx -- -dpi 100 startx -- -layout Multihead To determine the client to run, startx first looks for a file called .xinitrc in the user's home directory. If that is not found, it uses the file xinitrc in the xinit library directory. If command line client options are given, they override this behavior and revert to the xinit(1) behavior. To determine the server to run, startx first looks for a file called .xserverrc in the user's home directory. If that is not found, it uses the file xserverrc in the xinit library directory. If command line server options are given, they override this behavior and revert to the xinit(1) behavior. Users rarely need to provide a .xserverrc file. See the xinit(1) manual page for more details on the arguments. The system-wide xinitrc and xserverrc files are found in the /etc/X11/xinit directory. ENVIRONMENT VARIABLES
DISPLAY This variable gets set to the name of the display to which clients should connect. Note that this gets set, not read. XAUTHORITY This variable, if not already defined, gets set to $(HOME)/.Xauthority. This is to prevent the X server, if not given the -auth argument, from automatically setting up insecure host-based authentication for the local host. See the Xserver(1) and Xsecurity(7) manual pages for more information on X client/server authentication. FILES
$(HOME)/.xinitrc Client to run. Typically a shell script which runs many programs in the background. $(HOME)/.xserverrc Server to run. The default is X. /etc/X11/xinit/xinitrc Client to run if the user has no .xinitrc file. /etc/X11/xinit/xserverrc Server to run if the user has no .xserverrc file. SEE ALSO
xinit(1), X(7), Xserver(1), Xorg(1), xorg.conf(5) X Version 11 xinit 1.3.2 STARTX(1)
All times are GMT -4. The time now is 02:04 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy