Das Wechseln zu einem anderen TTY nach dem Ausführen von startx und dem Zurückgeben bricht Xorg ab

8

Ich war schon immer neugierig auf eine Eigenart von Xorg, die auf jedem Computer auftritt, auf dem ich sie ausprobiert habe. Wenn ich eine neue X-Instanz auf einem TTY manuell mit startx starte (dh ohne die Hilfe eines Display-Managers), zu einem anderen TTY wechsle und dann versuche, zu meinem ursprünglichen TTY zurückzukehren, wird der Framebuffer von X unterbrochen und ich werde zu Meine ursprüngliche Shell mit X läuft noch. Wenn Sie ^ C oder ^ D drücken, wird X gestoppt, aber ich muss startx / xinit erneut ausführen und meine ursprüngliche Sitzung verlieren. Dh:

CTRL+ALT+F1
$ startx /usr/bin/xterm -- :1
CTRL+ALT+F7
CTRL+ALT+F1

Wird meinen X-Puffer auf TTY1 brechen. Es scheint, dass Anwendungen, die für die Komposition auf Wayland / Mir angewiesen sind, die TTY-Umschaltung wie erwartet handhaben, aber für Anwendungen, die X verwenden, die nicht mit einem Display-Manager wie LightDM gestartet wurden, nicht zur manuell gestarteten X-Sitzung zurückkehren können ist ein echter Schmerz. Gibt es eine Möglichkeit, dieses Problem zu beheben, damit ich beim Wechseln der TTYs wieder zu meiner X-Sitzung wechseln kann?

Joshumax
quelle
Ich verstehe nicht Sie haben kein X auf tty1. Außerdem ist Strg-Alt-F7 Tty7, wo meistens X-Server ausgeführt werden. Sie müssen Ihren Beitrag bearbeiten, um ihn klarer zu gestalten. Wenn Sie 12.04 verwenden, ist es sicher, dass Sie Wayland / Mir auch nicht verwenden. Nicht einmal am 15.04.
SolsTiCe
@solsTiCe Es gab keine X-Sitzung auf TTY1, bis ich startx ausführte, um eine auf TTY1 zu erstellen ...
Joshumax
@solsTiCe Ich fürchte, ich sehe die Mehrdeutigkeit in meiner Frage nicht. Können Sie näher erläutern, was möglicherweise unklar ist?
Joshumax
1
@solsTiCe Ich bin ganz sicher nicht, ich frage nur, was Sie in meiner Frage unklar finden, damit ich es beheben kann?
Joshumax
Verwandte Fragen finden Sie unter askubuntu.com/questions/221762 und askubuntu.com/questions/443418 .
JdeBP

Antworten:

2

Ah, die Lösung war relativ einfach, anstatt zu laufen

$ startx /usr/bin/xterm -- :1

Laufen

$ startx /usr/bin/xterm -- :1 vt$(tty | sed -e "s:/dev/tty::")

Verhindert, dass X bricht, wenn ich die TTYs wechsle.

Joshumax
quelle
... , die anzeigt , dass es nicht wirklich „break“ tat, sondern einfach auf einem anderen virtuellen Terminal gelandet, die erste verfügbare virtuelle Terminal , die alles von gewesen sein könnte , tty2um in tty63Abhängigkeit davon , wie geschieht Ihr System so konfiguriert werden , wenn es um virtuelle kommt Terminalnutzung. Natürlich tty1war es nicht verfügbar, da zu diesem Zeitpunkt eine Login-Shell darauf lief.
JdeBP
@JdeBP Ich hatte ein Gespräch mit den Xorg-Leuten darüber, und es scheint nichts damit zu tun zu haben, verfügbare Terminals automatisch auszuwählen - sondern indem ein virtueller Terminalparameter an startx übergeben wird, versetzt startx X in einen "dauerhaften Zustand" "(da startx standardmäßig eine nicht persistente X-Sitzung auf dem aktuellen vt startet, falls verfügbar, und sofort fehlschlägt, wenn dies nicht möglich ist.
joshumax
-1 Ich denke, es gibt noch einen anderen Weg, dies reibungslos zu machen. Ich denke, das ist nicht der Weg, das zu tun, was du tust.
Léo Léopold Hertz 준영
1
@Masi Vielleicht möchten Sie erläutern, warum diese Methode Ihrer Meinung nach nicht so gut ist, und erläutern, wie Sie sie besser erreichen können? Das wäre viel zufälliger als diese Zweideutigkeit.
Seth