https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285394
Gleb Popov <arr...@freebsd.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arr...@freebsd.org --- Comment #3 from Gleb Popov <arr...@freebsd.org> --- Almost 2 years ago I was working on fixing concurrent sessions in (our closed fork of) x11/sddm. It resulted in a substantial work done on the ConsoleKit side, which is now present in the Ports tree. The SDDM part was a bit ugly, so I was reluctant to opensource it back then. While hacking on this problem I also bumped into a similar VT management issue. I don't remember all the details now, but the issue stems from the fact that if you want to do an ioctl() on ttyvN then you should pass N+1 as an argument. So one of my patches for SDDM was fixing functions that convert between device paths "/dev/ttyvN" and integer TTY numbers: QString path(int vt) { // ioctl interface returns N+1 for ttyvN char c = (vt <= 10 ? '0' : 'a') + (vt - 1); return QStringLiteral("/dev/ttyv%1").arg(c); } int number(QString path) { if (path.startsWith(QStringLiteral("/dev/"))) path = path.mid(5); if (path.startsWith(QStringLiteral("ttyv"))) path = path.mid(4); else path = path.mid(3); // "tty" int ret = path.toInt(nullptr, 16); #ifdef __FreeBSD__ // ioctl interface returns N+1 for ttyvN ret++; #endif return ret; } I think this is exactly the problem you see with LightDM. The warnings you see in ConsoleKit are actually caused by LightDM asking about wrong TTYs. If you point to me the LightDM code that calls ConsoleKit, I'll look into that more closely. -- You are receiving this mail because: You are the assignee for the bug.