interface. Icons do not exist at the level of the X Window core protocol. They are implemented by the window manager. For example, whenever a window has to be “iconified”, the FVWM window manager unmaps the window, and creates a window for the icon name and possibly another window for the icon image. The meaning and handling of icons is therefore completely decided by the window manager: some window managers such as wm2 do not implement icons at all. Session manager Roughly, the state of a session is the “state of the desktop” at a given time: a set of windows with their current content. More precisely, it is the set of applications managing these windows and the information that allow these applications to restore the condition of their managed windows if required. A program known as the X session manager saves and restores the state of sessions. Most recognizably, using a session manager permits a user to log out from an interactive session but to find exactly the same windows in the same state when logging in again. For this to work, the session manager program stores the names of the running applications at logout and starts them again at login. In order for the state of the applications to be restored as well (which is needed to restore the content of windows), the applications must be able to save their state of execution upon request from the session manager and load it back when they start again. The X Window System includes a default session manager called xsm. Developers have written other session managers for specific desktop systems. Major examples include , , and for KDE, Xfce, and GNOME respectively. X display manager The program known as the X display manager shows the graphical login prompt in the X Window System. More generally, a display manager runs one or more X servers on the local computer or accepts incoming connections from X servers running on remote computers. The local servers are started by the display manager, which then connects to them to present the user the login screen. The remote servers are started independently from the display manager and connect to it. In this situation, the display manager works like a graphical telnet server: an X server can connect to the display manager, which starts a session; the applications which utilize this session run on the same computer