Tutorials
goetia
Software
0x53.net

Login management

Presenting a login interface to allow choosing a user and entering the credentials poses the following problems:

The most primitive solution to this is to use the tty login prompt for authentication. Then, start the user interface automatically on login, e.g. by using the .bashrc file. This requires the in Kernel virtual terminal implementation, which comes with a set of drawbacks described on the seat and session management page.

For this reason, login managers exist. A login manager is a program with root permissions. It starts a graphical interface called "greeter" with reduced privileges and opens a communication channel to it. The interface provides a means to choose the user and enter the credentions. It forwards the information to the login manager, which checks the credentials and runs a program of choice with the authenticated users privileges. A synonym for "login manager" is the term "display manger".

An example of a login manager is greetd. greetd comes with a load of graphical frontends to choose from. The source directory for a greetd service is part of goetia-base package.

After setting the system supervision tree service for the login manager of choice, configure the login manager according to its documentation to start a user supervision tree through one of the options described at statring user supervision trees. The user supervision tree in turn should have a service for the graphical interface.