uname hat geschrieben: 21.06.2018 10:36:00
Vielleicht kannst du deinen Anwendungsfall und den Grund für ein echtes tty beschreiben.
Es geht um das Projekt
https://github.com/mviereck/x11docker
Das Programm soll auf beliebigen Rechnern laufen können, ohne die Systemkonfiguration zu ändern oder root-Rechte haben zu müssen.
x11docker bietet u.a. die Option, neue X Server auf anderen ttys zu starten.
Das sind teilweise normale X Server, die ich auf tty1-tty12 unterbringe, teils "unsichtbare" mit Xdummy
xserver-xorg-video-dummy, die mit xpra oder VNC sichtbar gemacht werden können.
Früher konnte man X ohne Angabe einer tty starten, und es hat sich selbst ein freies tty gesucht. Das geht seit debian stretch und/oder Xorg 1.19 nicht mehr, man muß explizit eine tty Nummer angeben mit der X option vt.
Ist das tty schon belegt mit einem X server, crasht der Start von X. Ist auf dem tty schon jemand eingeloggt (ohne X), wird X auf diesem tty gestartet, auch wenn da vielleicht schon etwas anderes läuft.
Zur Zeit behelfe ich mir mit "Wahrscheinlichkeitseinschätzungen", ohne eine saubere Lösung zu haben.
Ich habe einen Hinweis gefunden, warum fgconsole, chvt, openvt und Kollegen unter X nicht funktionieren (edit: der gleiche Link wie von @smutbert, danke!):
https://superuser.com/questions/69807/w ... ot-under-x
Debian bug report:
522453
Es sind wohl Sicherheitsbedenken, um derentwillen der Zugriff auf die Konsole unter X nicht möglich gemacht wird.
Dort wird auch die Reihenfolge der Zugriffsversuche auf die Konsole gezeigt, die @smutbert gerade genannt hat.
smutbert hat geschrieben: 21.06.2018 12:16:57
Ansonsten denke ich wäre es vielleicht möglich die Tatsache auszunutzen, dass die Gerätedatei eines Terminals dem Benutzer zugehörig gemacht wird, der dort angemeldet ist.
Das habe ich auch schon einmal überlegt, bleibt aber sehr unsicher. Falls root auf einer Konsole angemeldet ist, kann ich das nicht erkennen. Im Augenblick nutze ich lightdm als Displaymanager, und das erscheint auch als root auf tty7.
------------
Ich bin gestern noch auf das Verzeichnis /sys/class/vc gestoßen, das vllt. helfen könnte. Es scheint die genutzten virtuellen Konsolen anzuzeigen. starte ich ein X auf z.B. tty10, erscheinen dort neue Einträge.
Wermutstropfen: Auch nach dem Ende von X bzw. der Freigabe von tty10 bleiben die Einträge in /sys/class/vc stehen.
Ich muß mal gucken, ob ich Dokumentation zu diesem Verzeichnis finde.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.