I'm using Arch Linux and I run greetd as a login manager. I'm using Sway as a backend for gtkgreet and I also use Sway as my primary user session.
When I enter an incorrect password it segfaults, with a correct one it doesn't.
This is my current greetd config:
/etc/greetd/config.toml:[terminal] vt = 1 [default_session] command = "sway-greetd" user = "greeter"
start-sway start-i3 bash
# Monitor configuration set $output_mode 1920x1080@144Hz output DP-1 mode $output_mode output DP-2 mode $output_mode # Disable laptop screen when closed set $laptop eDP-1 bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable # `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet. exec "GTK_THEME=Arc-Dark gtkgreet -l; swaymsg exit" bindsym Mod4+shift+e exec swaynag \ -t warning \ -m 'What do you want to do?' \ -b 'Poweroff' 'systemctl poweroff' \ -b 'Reboot' 'systemctl reboot' include /etc/sway/config.d/*
/usr/local/bin/sway-greetd:#!/bin/sh export XDG_SESSION_TYPE=wayland export XDG_SESSION_DESKTOP=sway export XDG_CURRENT_DESKTOP=sway systemd-cat --identifier=sway-greetd-session sway --config /etc/greetd/sway-config "$@"
Currently, there's only one file under /etc/sway/config.d which is 50-systemd-user.conf and it's provided by the Arch Linux's package:
# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment # See FS#63021 # Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal. exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK exec hash dbus-update-activation-environment 2>/dev/null && \ dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK