Рейтинг:0

Почему выход из виртуальной консоли приводит к сбою графического интерфейса рабочего стола?

флаг br

Бионический бобер, 18.04.

Сегодня произошел забавный случай. У меня есть система, работает нормально, загружается до рабочего стола - время безотказной работы около 80 дней, на рабочем столе открывается много окон. Все в порядке, пока... GUI не работает на tty1 (как и ожидалось).

Пытаясь отладить другую проблему, я решил переключиться с графического интерфейса рабочего стола на виртуальную консоль и войти в систему. Итак, я делаю «sudo chvt 2» и получаю приглашение для входа в систему на tty2. Все идет нормально. Я вхожу в систему как сам (на tty2), делаю несколько вещей, затем выхожу из системы (через ^D) - ожидая вернуться к приглашению для входа, из которого я могу затем вернуться к сеансу рабочего стола с графическим интерфейсом.

Однако следующее, что происходит, это то, что я вижу чисто фиолетовый экран, а затем, примерно через 10 секунд, экран с графическим интерфейсом, запрашивающий мой пароль. Я вхожу в систему и вижу чистый, свежий рабочий стол. Все окна, которые были раньше, исчезли (имеется в виду, что я должен выяснить, что там было раньше, и перезапустить все).

Похоже, что каким-то образом выход из tty2 отправил сигнал зависания всем процессам, запущенным на рабочем столе с графическим интерфейсом, включая сам рабочий стол, заставив вас снова войти в систему и перезапустить все, что было запущено раньше.

Почему это происходит?

Некоторая дополнительная информация:

  1. После перезапуска рабочего стола - и после того, как я запустил свои сценарии, чтобы открыть мои обычные окна (программы), - я обнаружил, что существует лабиринт процессов, работающих на tty1, работающих от имени пользователя "gdm", а также лабиринт обрабатывается на tty3, работает от имени пользователя «я». Все эти процессы (как на tty1, так и на tty3) отображаются как запущенные во время перезапуска рабочего стола. На tty2 работает один процесс (getty).

  2. В /var/crash есть один файл с отметкой времени перезапуска рабочего стола, который соответствует одному из моих процессов (то есть тому, что я запускал в одном из окон терминала во время сбоя). Этот файл показывает, что он был уничтожен сигналом 6 (SIGABRT). SIGABRT обычно вызывается ошибкой программы в assert(3).

флаг ar
Обратите внимание, что tty1 — это экран входа в систему, а tty2 — сеанс X GUI. Похоже, вы только что вышли из сеанса Xorg.
флаг br
Нет, все наоборот. Вы можете сказать из списка ps, что все процессы графического интерфейса выполняются на tty1. Я определенно входил в новую виртуальную консоль (tty2). Нет сомнения, что это факты.
флаг ar
Нет. Вы можете сказать это, нажав [Ctrl]+[Alt]+[F1] для экрана входа в систему; [Ctrl]+[Alt]+[F2] для рабочего стола; и [Ctrl]+[Alt]+[F3] для `ttl3`. Если вы используете ноутбук, возможно, вам придется добавить в микс клавишу [Fn].
user535733 avatar
флаг cn
Был ли создан файл .crash в /var/crash? Что говорит ваш системный журнал во время выхода из системы?
флаг ar
См. [этот вопрос] (https://askubuntu.com/questions/1138357/how-to-enable-switch-back-to-running-gui-from-tty-in-18-04/1157668#1157668) и [ этот вопрос] (https://askubuntu.com/questions/1048492/accessing- Different-tty-in-ubuntu-18-04) для получения дополнительной информации.
флаг br
Я думаю, вы упускаете суть. На самом деле, это не имеет никакого отношения ни к каким Ctrl/Alt/Anything. Серьезно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.