Xserver
Display graphical interface on a Linux system
SYNOPSIS
Xorg [options] [:display_number]
PARAMETERS
-ac
Disables access control, allowing any host to connect to the display. Use with caution.
-audit
Sets the audit trail level for server operations. A value of 0 disables auditing.
-br
Sets a blanking reset, turning off the screen blanking and DPMS (Display Power Management Signaling) features.
-config
Specifies an explicit Xorg configuration file to use instead of the default search path.
-configure
Instructs the server to probe for hardware and generate a new xorg.conf file in the current directory, then exit.
-dpi
Sets the dots per inch (DPI) value for the display, overriding the detected or configured value.
-logfile
Specifies a custom log file for the server's output, overriding the default location (e.g., /var/log/Xorg.0.log).
-nocursor
Disables the display of the cursor. Useful for kiosks or embedded systems.
-novtswitch
Disables the ability to switch virtual terminals (VT) using Ctrl+Alt+Fx keys.
-retro
Emulates an older, monochrome X display, useful for testing or specific legacy applications.
-s
Sets the screen saver timeout in seconds. A value of 0 disables the screen saver.
-tst
Enables toggle-sticky keys mode, a feature for accessibility.
-verbose
Sets the verbose logging level for server messages, with higher values providing more detailed output.
-version
Prints the X server version and exits without starting the server.
:display_number
Specifies the display number for the server instance. For example, :0 for the first display.
DESCRIPTION
The Xserver, primarily implemented by Xorg, is the fundamental component of the X Window System. It acts as the intermediary between graphical applications (X clients) and the underlying hardware (graphics card, keyboard, mouse). Its primary role is to manage all input and output for graphical displays. When an X client wants to draw something on the screen or needs input from the user, it communicates with the Xserver. The server then translates these requests into operations that the graphics hardware can understand and sends events (like keystrokes or mouse clicks) back to the clients. While Xserver itself is a general term, Xorg is the most prevalent and widely used open-source implementation. Users typically do not run Xorg directly; instead, it is started by display managers like GDM, LightDM, or SDDM, or via the startx utility, which simplifies the process of launching a full graphical session.
CAVEATS
Running Xorg directly from the command line is generally not recommended for typical users, as it bypasses the setup provided by display managers or startx. Misconfiguration can lead to graphical issues or system instability. Security considerations are important, especially when disabling access control (`-ac`) or using XDMCP, which allows remote graphical access. Configuration often involves editing files in /etc/X11/ or /usr/share/X11/, which requires root privileges and careful attention to syntax.
DISPLAY NUMBERS
Each instance of an X server running on a system is assigned a unique display number, typically starting from :0 (zero). This number is used by X clients to identify and connect to a specific X server instance. For example, setting the DISPLAY=:0.0 environment variable tells a client to connect to display 0, screen 0.
CONFIGURATION FILES
While modern Xorg is largely capable of auto-detecting hardware, detailed configuration can be managed through files like xorg.conf and fragments in xorg.conf.d/ directories. These files specify input devices, monitor settings, display resolutions, and driver options. Common locations include /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/.
CLIENT-SERVER MODEL
The X Window System operates on a strict client-server model. The Xserver provides graphical services, and applications (X clients) request these services. This clear separation allows clients to run on different machines from the server, enabling remote graphical applications without transmitting raw pixel data.
HISTORY
The X Window System originated at MIT in 1984, aiming to create a network-transparent graphical environment. The initial X server implementations evolved over time. A significant development was the XFree86 project, which became the dominant open-source implementation of the X server for Unix-like systems from the early 1990s. Due to licensing and governance disagreements within XFree86 in the early 2000s, a fork occurred, leading to the creation of the X.Org Foundation and its primary server implementation, Xorg. Xorg quickly superseded XFree86 as the standard X server on Linux and other Unix-like systems, maintaining compatibility with existing X clients while actively developing new features and better hardware support. Its development continues as part of the broader freedesktop.org initiative.