As only seat0 supports TTYs, this changes the logind launcher where it detects a TTY, only if the seat is seat0. This has only been tested for logind --- libweston/launcher-logind.c | 22 ++++++++++++---------- libweston/launcher-util.c | 4 ++++ 2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/libweston/launcher-logind.c b/libweston/launcher-logind.c index a069bd4f..a94ec0e9 100644 --- a/libweston/launcher-logind.c +++ b/libweston/launcher-logind.c @@ -762,18 +762,20 @@ launcher_logind_connect(struct weston_launcher **out, struct weston_compositor * free(t); goto err_session; } - free(t); - r = weston_sd_session_get_vt(wl->sid, &wl->vtnr); - if (r < 0) { - weston_log("logind: session not running on a VT\n"); - goto err_session; - } else if (tty > 0 && wl->vtnr != (unsigned int )tty) { - weston_log("logind: requested VT --tty=%d differs from real session VT %u\n", - tty, wl->vtnr); - r = -EINVAL; - goto err_session; + if (!strcmp(t, "seat0")) { + r = weston_sd_session_get_vt(wl->sid, &wl->vtnr); + if (r < 0) { + weston_log("logind: session not running on a VT\n"); + goto err_session; + } else if (tty > 0 && wl->vtnr != (unsigned int )tty) { + weston_log("logind: requested VT --tty=%d differs from real session VT %u\n", + tty, wl->vtnr); + r = -EINVAL; + goto err_session; + } } + free(t); loop = wl_display_get_event_loop(compositor->wl_display); r = weston_dbus_open(loop, DBUS_BUS_SYSTEM, &wl->dbus, &wl->dbus_ctx); diff --git a/libweston/launcher-util.c b/libweston/launcher-util.c index fa3ed13b..848c6ade 100644 --- a/libweston/launcher-util.c +++ b/libweston/launcher-util.c @@ -111,6 +111,10 @@ WL_EXPORT void weston_setup_vt_switch_bindings(struct weston_compositor *compositor) { uint32_t key; + struct weston_launcher *launcher = compositor->launcher; + + if (launcher->iface->get_vt(launcher) == 0) + return; if (compositor->vt_switching == false) return; -- 2.14.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel