Passer à un autre TTY après avoir exécuté startx et renvoyé les pauses Xorg

8

J'ai toujours été curieux de voir une idiosyncrasie de Xorg qui semble se produire sur toutes les machines sur lesquelles j'ai essayé; chaque fois que je démarre une nouvelle instance X sur un TTY à l'aide de startx manuellement (c'est-à-dire sans l'aide d'un gestionnaire d'affichage), bascule vers un autre TTY, puis tente de revenir à mon TTY d'origine, le tampon de trame de X se casse et je suis abandonné à mon shell d'origine avec X toujours en cours d'exécution. Frapper ^ C ou D ^ va arrêter X, mais je vais devoir courir startx / xinit à nouveau, perdre ma session d' origine. C'est à dire:

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

Va casser mon tampon X sur TTY1. Il semble que les applications qui s'appuient sur Wayland / Mir pour la composition gèrent la commutation TTY comme je m'y attendais, mais pour les applications qui utilisent X qui ne sont pas démarrées avec un gestionnaire d'affichage comme LightDM, ne pouvant pas revenir à la session X que j'ai démarrée manuellement est une vraie douleur. Existe-t-il un moyen de corriger ce problème afin que je puisse revenir à ma session X lorsque je change de TTY?

joshumax
la source
Je ne comprends pas. Vous n'avez pas de X sur tty1. Aussi ctrl-alt-f7 est tty7 où est la plupart du temps exécuté le serveur X. Vous devez modifier votre message pour le rendre plus clair. Si vous utilisez 12.04, il est certain que vous n'utilisez pas non plus Wayland / Mir. Pas même en 15.04.
solsTiCe
@solsTiCe Il n'y avait pas de session X sur TTY1 jusqu'à ce que j'exécute startx pour en créer une sur TTY1 ...
joshumax
@solsTiCe J'ai bien peur de ne pas voir l'ambiguïté dans ma question, pouvez-vous préciser ce qui n'est pas clair?
joshumax
1
@solsTiCe Je ne le suis certainement pas, je demande simplement ce que vous trouvez peu clair dans ma question pour que je puisse y remédier?
joshumax
Pour les questions connexes, voir askubuntu.com/questions/221762 et askubuntu.com/questions/443418 .
JdeBP

Réponses:

2

Ah, la solution était relativement simple, au lieu de courir

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

Fonctionnement

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

Empêchera X de se casser lorsque je changerai d'ATS.

joshumax
la source
... qui indique qu'il n'a pas vraiment « rupture », mais tout simplement fini sur un terminal différent, le premier terminal virtuel disponible , qui aurait pu être quelque chose de tty2à en tty63fonction de la façon dont votre système se trouve être configuré en matière de virtuel utilisation du terminal. Bien sûr, tty1n'était pas disponible, car vous disposiez d'un shell de connexion à ce moment-là.
JdeBP
@JdeBP J'ai eu une discussion avec les gens Xorg à ce sujet, et cela ne semble avoir rien à voir avec la sélection automatique des terminaux disponibles - mais plutôt en passant un paramètre de terminal virtuel à startx, startx mettra X dans un "état persistant "(comme startx par défaut lance une session X non persistante sur le vt actuel s'il est disponible, et échoue immédiatement s'il ne peut pas le faire.
joshumax
-1 Je pense qu'il existe une autre façon de le faire en douceur. Je pense que ce n'est pas la façon de faire ce que vous faites.
Léo Léopold Hertz 준영
1
@Masi Peut-être voulez-vous expliquer pourquoi vous pensez que cette méthode n'est pas si bonne et expliquer votre meilleure façon de la réaliser? Ce serait beaucoup plus fortuit que cette ambiguïté.
Seth