documentation/docs/void-desktop-setup/graphical-session/login-manager.md

2 KiB

Login manager

To make it easier to log into the system, set up a login manager. For a minimal and wayland-compatible login manager use greetd with gtkgreet. Install them with:

# xbps-install -Sy greetd gtkgreet-git

Because Wayfire gets used as window manager for this install, that also means that it can be utilised as the login greeter.

A specific wayfire bash script for greetd may be created in /usr/local/bin. That exports all the essential environment variables for the login session.

# cp -r {config-files-repo}/wayfire/wayfire-greetd /usr/local/bin/

Also, a wayfire config may be created specific for greetd with minimal settings.

# mkdir /etc/greetd/config
# cp -r {config-files-repo}/wayfire/wayfire-greetd.ini /etc/greetd/config/

Then, in /etc/greetd/config.toml set:

command = "wayfire-greetd -c /etc/greetd/config/wayfire-greetd.ini"

The user _greeter needs seatd permission for wayfire to function.

# usermod -aG _seatd _greeter

For styling of gtkgreet edit /etc/greetd/config/gtkgreet.css:

# cp -r {config-files-repo}/gtkgreet/gtkgreet.css /etc/greetd/config/

Finally add wayfire-run and possibly bash to /etc/greetd/environments.

wayfire-run
bash

Additionally kanshi may be added in the greeter session. To obtain the right display configuration in the greeter session.

# cp -r {config-files-repo}/kanshi /etc/greetd/config

Greetd may then be enabled by linking it to /var/service. However, the best practice is to first test greetd. Since, with a non-functioning greetd, it may not be possible anymore to log into the system.

The best practice is thus to create a down file in the greetd service.

# touch /etc/sv/greetd/down

And then linking and enabling greetd.

# ln -s /etc/sv/greetd /var/service
# sv up greetd

If greetd functions properly the down file may be removed.