[PATCH v7 3/6] launcher-logind: only get a VT on seat0, as only seat0 supports VTs
nerdopolis
bluescreen_avenger at verizon.net
Tue Jun 26 23:39:21 UTC 2018
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 d0559c8f..36a4e642 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 03f3219b..41ac7950 100644
--- a/libweston/launcher-util.c
+++ b/libweston/launcher-util.c
@@ -104,6 +104,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.17.1
More information about the wayland-devel
mailing list