- Joined
- Mar 17, 2019
Why does a display manager not manage displays, but shows login screens?
This is because of the superior, network-transparent nature of X Windows over the shitty wayland.For the display manager thing. To me its because you manage which display server session is going to be launched. At least that's been my interpretation.
With X, GUI applications act as clients to an X server. In the typical home user environment, that X11 server is running on the same machine as the client applications. A user who is running X locally can either:
- use a script like 'startx', usually from an existing logged in console session, to start up the X server and (typically) a window manager/desktop environment, or perhaps a single arbitary app like an xterm without using a window manager
- use a display manager which runs a local X server and handles authenticating the user to log in
In a more manual scenario, let's say there's a configuration GUI that you want to use to configure a PC on your network, but that PC doesn't have a monitor or even a display card. Well, if you set up your locally running X server to allow connections from the remote machine, sort out any firewall rules to allow the incoming traffic, then connect to the remote machine via SSH or telnet, set the DISPLAY variable to point at your locally running X server, and you can launch that application and have it display on your local X server.
What about a more complex scenario than those, where rather than having a virtual network on a single computer like the WSL case, or a static setup like the manual configuration to run a single app over the network, you have a bunch of thin client 'X terminals' on a corporate or educational network which you want to be able to login to one or more big (or not) servers which will run the actual applications? Well, proper display managers like XDM or GDM can have something called XDMCP turned on.
- The display manager then acts as an XDMCP server
- A thin client on the network, or a regular computer, can then either be configured to connect to that XDMCP server, or do a broadcast to find any available XDMCP servers (perhaps you're doing some load balancing)
- If the XDMCP client is authorized to connect by the XDMCP server, the XDMCP server can then serve up the login interface and everything that eventuates from logging into the system- window managers/desktop environments/other applications/screensavers etc etc etc- to the X server running on the XDMCP client.
This admittedly is not