return -ENOENT;
}
- t = strappend(s->user->runtime_path, "/display");
+ t = strappend(s->user->runtime_path, "/X11/display");
if (!t) {
log_error("Out of memory");
free(f);
return -ENOMEM;
}
+ mkdir_parents(t, 0755);
+
if (link(f, t) < 0) {
if (errno == EEXIST) {
unlink(t);
s->user->display = NULL;
- t = strappend(s->user->runtime_path, "/display");
+ t = strappend(s->user->runtime_path, "/X11/display");
if (!t) {
log_error("Out of memory");
return -ENOMEM;
/* Create FIFO */
if (!s->fifo_path) {
+ r = safe_mkdir("/run/systemd/sessions", 0755, 0, 0);
+ if (r < 0)
+ return r;
+
if (asprintf(&s->fifo_path, "/run/systemd/sessions/%s.ref", s->id) < 0)
return -ENOMEM;