Восстановление после зависания Ubuntu, но программы продолжают работать?

В моей системе Ubuntu иногда зависает. Весь экран перестает отвечать на запросы - мышь все еще движется, но при щелчке ничего не происходит, и с помощью клавиатуры я могу нажать Ctrl+Alt+F1, чтобы перейти к запросу на вход в систему.

Когда я вхожу из приглашения, кажется, что все мои программы все еще работают как обычно. Вчера, например, я конвертировал несколько видео, и запуск top показал, что процесс avconv все еще выполняется. Я оставил его на несколько часов, и в конце концов он отлично справился с задачей. (На самом деле, казалось, что причиной зависания было открытие Transmission из области уведомлений, но уничтожение процесса из командной строки не заставило систему снова реагировать.)

В любом случае, после прочтения этого вопроса казалось, что перезапуск GUI - это путь. Поэтому я запустил sudo service lightdm restart, но он закрыл все программы при выходе из системы.

Так что для будущего использования, есть ли способ перезапустить только графический интерфейс и вернуться туда, где я был? Все остальное в связанном потоке касается перезагрузки или перезапуска ОС.

4
задан 13 April 2017 в 15:23

4 ответа

Ответ одним словом:

No.

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

0
ответ дан 13 April 2017 в 15:23

Существует решение, которое я нашел здесь , вам не нужно ни перезагружать, ни перезапускать X, вы можете исправить это, не теряя свою работу, но ваша работа больше не может быть визуализирована на рабочем столе, они будет работать в фоновом режиме, пока они не будут закончены или убиты вами. Это все еще полезно для программ, которым нужно больше времени для запуска. Решение состоит в том, чтобы нажать Ctrl + Alt + F1 и перейти к необработанной консоли Linux, а затем ввести команду

pgrep compiz
[ 115], чтобы получить PID вашего пораженного менеджера окон, затем убить его с помощью

pkill compiz

, если он не работает, тогда попробуйте

pkill -9 compiz 

подождать некоторое время, если вы повторите pgrep, вы должны увидеть либо

1) нет результата, либо 2) другой PID

Тогда вы можете использовать Ctrl + Alt + < kbd> F7 и вы снова найдете рабочий стол!

0
ответ дан 13 April 2017 в 15:23

Попробуйте просто набрать unity --replace. Это должно перезапустить Unity без остановки запущенных программ.

0
ответ дан 13 April 2017 в 15:23

У меня также есть эта проблема, и до сих пор нет исправления (если это ошибка) или лучшего решения без потери всех открытых приложений.

Но сейчас единственный способ, которым я могу восстановить все это, не закрывая приложения и не перезапуская, так как я все еще могу открыть терминал ( Ctrl + Alt + F1 ) Я просто делаю pm-suspend, который приостанавливает работу машины, и просто запускаю снова. Я перезапускаю его, но, по крайней мере, у меня до сих пор остаются приложения открытыми до начала зависания, и это занимает всего несколько секунд по сравнению с парой минут при перезагрузке машины.

Надеюсь, это поможет кому-то временно, пока эта вещь не будет исправлена.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: