launcher: Print a more descriptive error message when we don't get a VT
authorKristian Høgsberg <krh@bitplanet.net>
Wed, 2 Oct 2013 20:06:02 +0000 (13:06 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 2 Oct 2013 20:06:02 +0000 (13:06 -0700)
weston-launch has two supported use cases now: either launch from
and VT login as a regular user (running within that session) or
from an init script (systemd or such) with the -u option to create
a session for the specified user.  Running from within X or ssh is
not possible.  It's still possible to run weston as root from X or ssh
but that's strictly a development/debug/test feature.

https://bugs.freedesktop.org/show_bug.cgi?id=69727

src/weston-launch.c

index 1b560af..49b8964 100644 (file)
@@ -492,6 +492,10 @@ setup_tty(struct weston_launch *wl, const char *tty)
        if (wl->tty < 0)
                error(1, errno, "failed to open tty");
 
+       if (fstat(wl->tty, &buf) == -1 ||
+           major(buf.st_rdev) != TTY_MAJOR || minor(buf.st_rdev) == 0)
+               error(1, 0, "weston-launch must be run from a virtual terminal");
+
        if (tty) {
                if (fstat(wl->tty, &buf) < 0)
                        error(1, errno, "stat %s failed", tty);