Ubuntu 16.04 - выход из системы от терминала, когда гном сердит

У меня есть проблема, подобная здесь, где моя приборная и верхняя панель не загрузится.

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

~$ gnome-session-quit

** (gnome-session-quit:6288): WARNING **: Failed to call logout: GDBus.Error:org.gnome.SessionManager.NotInRunning: Logout interface is only available during the Running phase

Есть ли иначе, чтобы я вышел из системы, когда это происходит кроме перезагрузки компьютера?

2
задан 16 May 2017 в 00:09

2 ответа

Не изящный, но Вы могли попробовать это:

ps -wweo pid,args | grep gnome | grep -v grep

, Который даст Вам ПО КРАЙНЕЙ МЕРЕ одну строку вывода. Каждая строка будет идентификационным номером процесса, сопровождаемым одним пространством, сопровождаемым точной и полной командной строкой, которая запустила процесс. Можно, вероятно, сказать, который (принимающий существует больше чем один), процесс является сессией гнома, и уничтожьте его это:

kill NUMBER

или если это жалуется на полномочия (но я не думаю, что это будет)

sudo kill NUMBER

, где ЧИСЛО является идентификационным номером процесса, который команда PS показала Вам.

, Если это происходит много, можно изменить второй grep так, чтобы он искал точное совпадение на всей командной строке так, чтобы он показал только один процесс, который Вы хотите уничтожить. Это будет строкой после идентификационного номера процесса на строке, соответствующей сессии гнома в выводе

ps -wweo pid,args | grep gnome | grep -v grep

, я не могу сказать Вам, чем это будет, потому что я не использую гнома, и я не уверен, что каждая система гнома использовала бы точно ту же строку так или иначе. Могут быть некоторые опции, которые варьируются. Помещенный, что строка в сценарий, который извлекает число процесса и уничтожает его. Как это:

#!/bin/bash
PID_to_kill=$(ps -wweo pid,args | grep "ENTIRE COMMAND STRING GNOME IS STARTED WITH" | grep -v grep | cut -d' ' -f1)    
kill $PID_to_kill

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

Имя сценарий что-то легкое для запоминания как "killgnome". Поместите его в каталог на Вашем пути. "/usr/local/bin /" был бы довольно стандартным местом. Сделайте это исполняемым файлом. Вызовите его путем ввода его имени в терминальном или выполненном поле.

Это зарегистрирует Вас и заберет Вас Вашему "менеджеру по оформлению" (gui входят в диалоговое окно), если у Вас есть тот. Если Вы не выполняете установку по умолчанию и сторонились менеджера по оформлению (они действительно совершенно не нужны), она останавливается X также, оставляя Вас приглашением ко входу в систему. Или по крайней мере это - способ, которым это работает с Openbox. Вероятно, путь они все работают.

1
ответ дан 2 December 2019 в 01:43

Что относительно sudo service lightdm restart?

Это должно остановить менеджера по оформлению, эффективно войти в Вас, запустить lightdm снова, и необходимо быть на экране входа в систему в мгновение ока.

5
ответ дан 2 December 2019 в 01:43

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

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