Based on the Linux Master 2 exam syllabusReport an error
DM is a display manager. This one rule can sort a good share of classification questions.DISPLAY is host:display.screen, and local is :0.0.This week is all about which slot a name goes into.
Layer Names
─────────────────────────────────────────────────────────────
X server impl. XFree86 → X.org Server → Wayland
(XWayland is a compatibility layer)
Low-level libs Xlib · XCB ← XCB is further down (lower level)
Toolkits GTK+ (C, GIMP Toolkit) · Qt (C++) · FLTK · Motif · Tk
Window managers KWin (KDE) · Mutter (GNOME) · Metacity (GNOME 2)
Xfwm (Xfce) · Openbox (LXDE) · Marco (MATE) · Muffin (Cinnamon)
Windowmaker · Afterstep · Enlightenment · Fluxbox · twm · FVWM
Display managers XDM (default) · GDM (GNOME) · KDM (old KDE)
SDDM (KDE Plasma) · LightDM (Ubuntu · Xfce) · LXDM
Desktop environments GNOME · KDE · Xfce · LXDE · LXQt · MATE · Cinnamon · CDE
File managers Nautilus (GNOME) · Dolphin (KDE) · Thunar (Xfce) · PCManFM (LXDE)| Environment | Toolkit | Window manager | File manager | Display manager |
|---|---|---|---|---|
| GNOME | GTK+ | Mutter | Nautilus | GDM |
| KDE | Qt | KWin | Dolphin | SDDM |
| Xfce | GTK+ | Xfwm | Thunar | LightDM |
| LXDE | GTK+ | Openbox | PCManFM | LXDM |
| CDE | Motif | — | — | — |
Memorize each horizontal line as a whole. Even just being sure of the GNOME line and the KDE line solves most pairing questions.
| Item | A | B | Deciding criterion |
|---|---|---|---|
| X server vs X client | The side with the screen | The program | Who provides the resource |
| Xlib vs XCB | Traditional, heavy | Lower level, light | Distance from the X server |
| Library vs toolkit | Xlib · XCB | GTK+ · Qt · FLTK | Whether it provides widgets |
| GTK+ vs Qt | C, GNOME | C++, KDE | Language and camp |
| Xfce vs Xfwm | Desktop environment | Window manager | They differ by one letter |
| Window vs display manager | Windows | Login screen | When it operates |
| Window manager vs desktop environment | Windows only | Includes everything | Containment relationship |
| XFree86 vs X.org | Former | Current standard | Generation |
| X vs Wayland | Existing | Replacement protocol | Not a new version |
xhost vs xauth | Per host, weak | Per user, strong | Authentication method |
| Runlevel 3 vs 5 | Text | Graphical | Boot mode |
xhost + is convenient → It is a dangerous command that opens your screen to everyone.DISPLAY=0:0 → The order is reversed. :0.0 — the colon comes first.| Value | What it is |
|---|---|
| 1984 / MIT | The start of the X Window System |
| X11 | The version still in use today |
:0.0 | The DISPLAY value for the local first screen |
| 3 / 5 | Text / graphical runlevels |
/etc/X11/xorg.conf | The X server config file |
~/.Xauthority | The file where magic cookies are stored |
| MIT-MAGIC-COOKIE-1 | The authentication method of xauth |
| Abbreviation | Full name |
|---|---|
| XCB | X protocol C-language Binding |
| GTK+ | GIMP Toolkit |
| FLTK | Fast Light Toolkit |
| CDE | Common Desktop Environment |
| GDM / KDM / XDM | GNOME / KDE / X Display Manager |
If you have memorized the name tags, this time take one window on the screen and point out who is responsible for which part. This is the case of launching gedit on GNOME and Kate on KDE.
| What you see on the screen | Layer responsible | In GNOME | In KDE |
|---|---|---|---|
| The login screen right after boot | Display manager | GDM | SDDM |
| The top panel, menus, settings windows | Desktop environment | GNOME | KDE Plasma |
| The window's title bar, borders, close button | Window manager | Mutter | KWin |
| The menus, buttons, and text boxes inside the window | Toolkit | GTK+ | Qt |
| The editor program itself | Application (X client) | gedit | Kate |
| Converting drawing requests into X protocol and sending them | Low-level library | Xlib · XCB | Xlib · XCB |
| Actually drawing on the screen and passing key input | X server | X.org Server | X.org Server |
xkill to close it. Boot graphical.target (runlevel 5) ← if multi-user.target (3), a text login happens here
│
Display manager starts (GDM · SDDM · LightDM)
│ launches the X server (X.org Server) as display :0 ← config /etc/X11/xorg.conf
│ draws the login screen
│
Session starts desktop environment = window manager + panel + file manager …
│
Program the X client looks at DISPLAY=:0 and connects to the X server
│ toolkit (GTK+ · Qt) → Xlib · XCB → X protocol
▼
Window on the screenstartx line does the job of launching the X server and starting the session. Since you have already logged in by text, you skip the login screen.DISPLAY.The people who make the choices gather names that begin with the same letter. Sort them out in advance.
| Starting with X | What it is |
|---|---|
| XFree86 | The old X server implementation |
| X.org Server | The current X server implementation |
| X11 | The version of the X protocol |
| Xlib · XCB | Low-level libraries |
| XDM | Display manager |
| Xfce | Desktop environment |
| Xfwm | Xfce's window manager |
| XWayland | The compatibility layer that runs X programs on Wayland |
xterm · xclock · xeyes | X clients (applications) |
xhost · xauth · xrandr · xkill · xdpyinfo | X-related commands |
| Initial | Desktop environment | Window manager | Display manager | Toolkit | Other programs |
|---|---|---|---|---|---|
| G | GNOME | (Mutter) | GDM | GTK+ | GIMP, gedit |
| K | KDE | KWin | KDM (now SDDM) | (Qt) | Konsole, Kate |
| L | LXDE, LXQt | (Openbox) | LXDM, LightDM | — | — |
| M | MATE | Mutter, Metacity, Marco, Muffin | — | Motif | — |
Cover the answer and first say "what the other three have in common". Once the commonality comes out in words, the odd one becomes visible on its own.
| Choices | The odd one | Commonality of the other three |
|---|---|---|
GTK+ · Qt · Motif · Xlib | Xlib | Toolkits |
The one providing widgets among XCB · Xlib · FLTK | FLTK | (The other two are low-level libraries) |
Mutter · KWin · Xfwm · SDDM | SDDM | Window managers |
GDM · KDM · XDM · twm | twm | Display managers |
GNOME · Xfce · LXDE · KDE (by toolkit) | KDE | GTK+-based |
The one not Qt-based among KDE · LXQt · Xfce | Xfce | (The other two are Qt-based) |
Nautilus · Dolphin · Thunar · Evince | Evince | File managers (Evince is a document viewer) |
XFree86 · X.org Server · Wayland · Xlib | Xlib | On the server/protocol side that handles the screen (Xlib is a client library) |
xhost · xauth · ssh -X · xrandr | xrandr | Access and connection for remote screens (xrandr is resolution) |
Windowmaker · Afterstep · Fluxbox · Cinnamon | Cinnamon | Standalone window managers |
| What is given | How to read it |
|---|---|
DISPLAY=:0 | Local, display 0, screen omitted (0) — same as :0.0 |
DISPLAY=192.168.0.10:1.0 | The second X server of 192.168.0.10, first screen. TCP port 6001 |
DISPLAY=localhost:10.0 | A session that came in with ssh -X. The fake display made by sshd |
access control disabled, clients can connect from any host | Someone ran xhost + — to close it, xhost - |
Error: Can't open display: | DISPLAY is empty |
systemctl get-default → multi-user.target | Boots into text (runlevel 3). For graphics, use startx |
id:5:initdefault: | A line in the old /etc/inittab saying to boot into graphical mode |
Section "Device" | The graphics card section of xorg.conf (not the keyboard or mouse) |
| Area | Old | Current |
|---|---|---|
| X server implementation | XFree86 | X.org Server (and the replacement protocol Wayland) |
| Low-level library | Xlib | XCB (Xlib is also used alongside) |
| X server config file | XF86Config | xorg.conf |
| GNOME's window manager | Metacity | Mutter |
| KDE's display manager | KDM | SDDM |
| Specifying the boot mode | Runlevel (/etc/inittab) | Target (systemctl set-default) |
| Remote display | xhost + DISPLAY | ssh -X |
Next week is network concepts. We cover the OSI 7 layers, TCP/IP, and IP addresses and subnets.
DISPLAY: The environment variable that specifies the screen to output to.ssh -X.Click a choice to reveal the answer and explanation.
Question 1
Which of the following sits lowest in the layers of the X Window System and communicates directly with the X server?
Question 2
Which of the following is not a display manager?
Question 3
Which window manager does the Xfce desktop environment use?
Question 4
Which runlevel corresponds to text mode in the X Window context?
Question 5
Which desktop environment was built on the Qt toolkit?
Question 6
Which method safely displays a graphical program from a remote computer on my screen through encrypted communication?