Re: Sway not locked after resume

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Thu, 15 May 2025 17:04:41 UTC
Renato Botelho <garga@FreeBSD.org> writes:


> 2025-05-15 09:50:24 - [Line 440] GetSession failed: Unable to find
> session for ID

Always fails on FreeBSD. See also
https://lists.freebsd.org/archives/dev-commits-ports-main/2025-March/144032.html

> 2025-05-15 09:50:24 - [Line 449] GetSessionByPID failed: Unable to
> lookup session information for process '9062'
> 2025-05-15 09:50:24 - [Line 451] Failed to find session

Should work on FreeBSD. Make sure Sway is started via ConsoleKit2 instead
of seatd.

$ pkg info -D seatd
[...]
To use ConsoleKit2 run

  # pkg install consolekit2 basu
  # sysrc -x seatd_enable
  # service seatd stop
  # sysrc dbus_enable=YES
  # service dbus start
  $ ck-launch-session sway

where "ck-launch-session" can be dropped after

  # echo "session optional pam_ck_connector.so" >>/etc/pam.d/system
  $ exit # log out to re-trigger PAM

> I have seatd and dbus running, my user is member of video group,
> XDG_RUNTIME_DIR set and sway was launched by ly DM.  /etc/sysctl.conf
> has only one special entry

ConsoleKit2 and seatd cannot be used together. ConsoleKit2 takes
ownership of XDG_RUNTIME_DIR but seatd leaves that to pam_xdg(8).
swayidle only supports before-sleep when using ConsoleKit2.

Sorry, I don't have a laptop to help debug before-sleep. FreeBSD support
is mostly to help test https://github.com/swaywm/swayidle/pull/89