From 78a0b57e5771305ee4c9b90d13683db7e2e2fbf9 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Wed, 6 Jun 2012 16:59:44 +0300 Subject: [PATCH] compositor: print a clear message when XDG_RUNTIME_DIR is not set Without this patch, Weston would not start with the message: creating a keymap file for 44012 bytes failed: No such file or directory If you do not know, that we use XDG_RUNTIME_DIR for that, the message is very confusing. Therefore implement a clear error message right at the start if XDG_RUNTIME_DIR is not set. Signed-off-by: Pekka Paalanen --- src/compositor.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/compositor.c b/src/compositor.c index 93eeb248..3039c3d3 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -3088,6 +3088,12 @@ load_module(const char *name, const char *entrypoint, void **handle) return init; } +static const char xdg_error_message[] = + "fatal: environment variable XDG_RUNTIME_DIR is not set.\n" + "Refer to your distribution on how to get it, or\n" + "http://www.freedesktop.org/wiki/Specifications/basedir-spec\n" + "on how to implement it.\n"; + int main(int argc, char *argv[]) { struct wl_display *display; @@ -3129,6 +3135,11 @@ int main(int argc, char *argv[]) argc = parse_options(core_options, ARRAY_LENGTH(core_options), argc, argv); + if (!getenv("XDG_RUNTIME_DIR")) { + fprintf(stderr, xdg_error_message); + exit(EXIT_FAILURE); + } + display = wl_display_create(); loop = wl_display_get_event_loop(display);