Я почти уверен, что отслеживая сообщения DBUS, вы можете ловить сообщения о входе и выходе из сеанса. На самом деле я не знаю, предоставляют ли FreePascal DBUS API.
Грязное решение может быть выполнением и анализом / usr / bin / dbus-monitor output.
Удачи