TTY
GNARUS can be started directly from a bare TTY without GDM or any other display manager. The package does not start Hyprland automatically after TTY login; the user decides when to start the session.
How it works
Section titled “How it works”After logging in on the TTY with your username and password, run:
gnarus-ttygnarus-tty is provided by the gnarus-session package and handles everything a display manager would normally do before starting Hyprland:
- Registers the session with logind (
loginctl open-session) - Starts the D-Bus session bus
- Sets the environment variables (XDG, Qt, Electron, Wayland)
- Launches the GNARUS session (
gnarus-session)
On exit, the script cleans up (D-Bus, logind) and returns to the TTY.
To use without a display manager, disable GDM if it is active and reboot:
sudo systemctl disable gdmsudo rebootLog in with your username and password at the TTY login screen. Then start the environment manually:
gnarus-ttyFor diagnostics:
gnarus-tty --statusOptional auto-start
Section titled “Optional auto-start”The package does not configure TTY autologin and does not start Hyprland automatically by default. If you want the environment to start automatically after you log in manually on the TTY, add your own rule to ~/.bash_profile or ~/.zprofile:
if [ -z "${DISPLAY:-}" ] && [ -z "${WAYLAND_DISPLAY:-}" ] && [ "${XDG_VTNR:-}" = "1" ]; then exec gnarus-ttyfiThere is also an opt-in profile shipped at /usr/share/gnarus/gnarus/profile. Copy it to ~/.config/gnarus/profile with gnarus-setup --copy gnarus and source it:
[ -f ~/.config/gnarus/profile ] && . ~/.config/gnarus/profileThe profile auto-starts gnarus-tty on the configured VT (default 1) when no display manager is running. To disable it, export GNARUS_TTY_DISABLE=1; to use a different VT, export GNARUS_TTY_VT=2. It also skips auto-start when greetd owns the login flow.
TTY session logs are stored at:
cat ~/.local/state/gnarus/tty.logcat ~/.local/state/gnarus/session.log