Переключение на другой TTY после запуска startx и возврата разрывов Xorg

8

Мне всегда было любопытно, какая особенность Xorg случается на каждой машине, на которой я ее пробовал; всякий раз, когда я запускаю новый экземпляр X на TTY, используя startx вручную (то есть без помощи диспетчера отображения), переключаюсь на другой TTY, а затем пытаюсь вернуться к моему исходному TTY, кадровый буфер X прерывается, и меня сбрасывают на моя оригинальная оболочка с X все еще работает. Нажатие ^ C или ^ D будет остановить X, но мне придется бежать StartX / Xinit снова, теряя свою первоначальную сессию. То есть:

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

Сломает мой X-буфер на TTY1. Кажется, что приложения, которые полагаются на Wayland / Mir для композиции, обрабатывают переключение TTY, как я и ожидал, но для приложений, которые используют X, которые не запускаются с диспетчером отображения, таким как LightDM, не могут вернуться к сеансу X, который я запустил вручную. это настоящая боль. Есть ли способ исправить эту проблему, чтобы я мог вернуться к своему сеансу X, когда я переключаю TTY?

joshumax
источник
Я не понимаю У вас нет X на tty1. Также ctrl-alt-f7 - это tty7, где большую часть времени запускается X-сервер. Вам нужно отредактировать свой пост, чтобы сделать его более понятным. Если вы используете 12.04, вы наверняка не используете Wayland / Mir. Даже в 15.04.
solsTiCe
@solsTiCe На TTY1 не было X-сессии, пока я не запустил startx для ее создания на TTY1 ...
joshumax
@solsTiCe Боюсь, я не вижу двусмысленности в моем вопросе, не могли бы вы уточнить, что может быть неясным?
joshumax
1
@solsTiCe Я, безусловно, нет, я просто спрашиваю, что вы считаете неясным в моем вопросе, чтобы я мог это исправить?
joshumax
По связанным вопросам смотрите askubuntu.com/questions/221762 и askubuntu.com/questions/443418 .
JdeBP

Ответы:

2

Ах, решение было относительно простым, вместо запуска

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

Бег

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

Будет препятствовать тому, чтобы X сломался, когда я переключаю TTYs.

joshumax
источник
… Что указывает на то, что он на самом деле не «сломался», а просто оказался на другом виртуальном терминале, первом доступном виртуальном терминале , который мог быть чем угодно, tty2в tty63зависимости от того, как ваша система настроена, когда речь идет о виртуальном использование терминала. Конечно, это tty1было недоступно, так как в то время у вас была запущена оболочка входа.
JdeBP
@JdeBP Я поговорил с людьми из Xorg об этом, и, похоже, он не имеет никакого отношения к автоматическому выбору доступных терминалов вообще - скорее, передав параметр startx виртуальному терминалу в startx, startx переведет X в «постоянное состояние». "(так как startx по умолчанию запускает непостоянный X-сеанс на текущем vt, если он доступен, и немедленно завершается сбоем, если не может этого сделать.
joshumax
-1 Думаю, есть и другой способ сделать это гладко. Я думаю, что это не способ делать то, что ты делаешь.
Лео Леопольд Герц 준영
1
@ Маси Может быть, вы хотите объяснить, почему вы думаете, что этот метод не так хорош, и объяснить ваш лучший способ его достижения? Это было бы гораздо более счастливым, чем эта двусмысленность.
Сет