X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogind-session.c;h=ab4de66ca4d8c4bc90eb521a72029476296a0a82;hp=cadf93283a064c1c292bc34c737ab88c4ea116ba;hb=5c94603d4c011d35026251994d77a0bf2e56c593;hpb=e6061ab2afecfaaa0d0797b88f9a4f53720b31ee diff --git a/src/logind-session.c b/src/logind-session.c index cadf93283..ab4de66ca 100644 --- a/src/logind-session.c +++ b/src/logind-session.c @@ -380,13 +380,15 @@ static int session_link_x11_socket(Session *s) { 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); @@ -638,7 +640,7 @@ static int session_unlink_x11_socket(Session *s) { 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;