I really wonder why systemd puts STATE=online in the state file while it only some lines later lists ACTIVE_SESSIONS=15 ONLINE_SESSIONS=15 ACTIVE_SEATS=seat0 ONLINE_SEATS=seat0 it should report STATE=active I looked over the logic in src/login/logind-user.c . user_get_state has a bit different logic, but it should still report USER_ACTIVE :/