free(s->remote_host);
free(s->remote_user);
free(s->service);
+ free(s->desktop);
hashmap_remove(s->manager->sessions, s->id);
if (s->service)
fprintf(f, "SERVICE=%s\n", s->service);
+ if (s->desktop)
+ fprintf(f, "DESKTOP=%s\n", s->desktop);
+
if (s->seat && seat_has_vts(s->seat))
fprintf(f, "VTNR=%u\n", s->vtnr);
"REMOTE_HOST", &s->remote_host,
"REMOTE_USER", &s->remote_user,
"SERVICE", &s->service,
+ "DESKTOP", &s->desktop,
"VTNR", &vtnr,
"POS", &pos,
"LEADER", &leader,
if (r < 0)
return r;
- log_struct(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG,
+ log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
MESSAGE_ID(SD_MESSAGE_SESSION_START),
"SESSION_ID=%s", s->id,
"USER_ID=%s", s->user->name,
return -ESTALE;
if (s->started)
- log_struct(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG,
+ log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
MESSAGE_ID(SD_MESSAGE_SESSION_STOP),
"SESSION_ID=%s", s->id,
"USER_ID=%s", s->user->name,
static const char* const session_type_table[_SESSION_TYPE_MAX] = {
[SESSION_TTY] = "tty",
[SESSION_X11] = "x11",
- [SESSION_UNSPECIFIED] = "unspecified"
+ [SESSION_WAYLAND] = "wayland",
+ [SESSION_UNSPECIFIED] = "unspecified",
};
DEFINE_STRING_TABLE_LOOKUP(session_type, SessionType);