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?


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.


... , 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.