On Fri, Jan 19, 2018 at 04:24:59PM +0200, Pekka Paalanen wrote: > On Fri, 29 Dec 2017 13:31:49 -0500 > nerdopolis <bluescreen_aven...@verizon.net> wrote: > > > 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 21d8c37b..875db70f 100644 > > --- a/libweston/launcher-logind.c > > +++ b/libweston/launcher-logind.c > > @@ -769,18 +769,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 96a0ba6f..777ab755 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; > > Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> > > Although I'm not quite sure whether the VT-ful seat's name is > configurable in logind or elsewhere, wondering whether "If your seat is > not called seat0, you don't get VT switching." could surprise someone.
the string "seat0" is hardcoded all over systemd's sources, I'm assuming it's not configurable without significant efforts :) A quick skim also shows quite a few error messages to happen when the VT seat is not seat0, so I think we're good. The patch looks good, too, so Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> Cheers, Peter _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel