Можно ли перезапустить KDE Plasma Desktop без выхода из системы?

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

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

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

10 ответов

Решение

В KDE 4 вы можете сделать:

killall plasma-desktop #to stop it
kstart plasma-desktop #to restart it

В KDE 5 используйте:

killall plasmashell #to stop it
kstart plasmashell #to restart it

В KDE > 5.10 используйте:

kquitapp5 plasmashell
kstart5 plasmashell

В KDE5 используйте "kstart plasmashell", чтобы перезапустить plasmashell как сервис, а не plasmashell &. Если вы используете его таким образом, он будет работать как независимая служба, не подключенная к текущему сеансу терминала (то есть вы можете закрыть терминал без прерывания процесса). TLDR:

KDE5 (в терминале):

killall plasmashell
kstart plasmashell

Ну, я не ожидал, что это сработает (и это не совсем то, о чем спрашивает вопрос), но нажал Alt+F2 и запустил:

kwin --replace

Это перезагружает композитор KDE, и это, кажется, устраняет мерцание. Я думаю, что это фактор в моей конкретной проблеме.

Оконный менеджер kwin отвечает за перемещение по окнам и т. д. Это может быть перезапущено следующим образом:

kstart kwin --replace

kstart префикс состоит в том, чтобы просто не запускать его как подпроцесс в текущем терминале, чтобы впоследствии можно было закрыть терминал.

plasmashell отвечает за фон и другие вещи оболочки. Перезапуск должен работать так:

killall plasmashell
kstart plasmashell

Обратите внимание, что это не вернуло меню для меня.

Кроме того, что интересно, это снова нарушает Kwin для меня, то есть я больше не могу перемещать окна. На консоли я получаю что-то вроде QXcbConnection: XCB error: 3 (BadWindow), sequence: ..., resource id: ..., major code: 15 (QueryTree), minor code: 0,

Несколько раз назад у плазменного рабочего стола начались проблемы, когда я подключил USB-концентратор с USB-C и второй монитор. На панели окна не отображаются значки.

Когда я перезапускаю плазму

      plasmashell --replace &

Все снова работает нормально. Моя текущая плазменная версия5.26.4.

Я посмотрел это, потому что у меня была проблема, когда я не мог открыть меню настроек KDE, но я не хотел перезагружаться или выходить из системы. Я обнаружил, что лучший способ сделать это (по крайней мере в KDE 5) - использовать krunner (Alt+F2) для killall plasmashell затем сразу после этого, plasmashell, Я попытался сделать это в окне Konsole, используя killall plasmashell а потом plasmashell & и это сработало, но как только я закрою окно Konsole, плазма тоже закроется. Несмотря на то, что вы, похоже, решили свою проблему, я решил опубликовать ее для людей, которые будут приходить в будущем, чтобы перезапустить плазму.

В KDE 4 просто замените plasmashell с plasma-desktop

Я обнаружил, что у меня всегда возникают проблемы с ksycoca5, и это, кажется, является причиной того, что plasmashell попадает в стропу, а также останавливает перезапуск plasmashell. Чтобы решить это, я сделал:

$ mv ~/.cache/ksycoca5* /tmp
$ killall plasmashell buildksycoca5; kstart plasmashell

ОК.. Я использую OpenSuse Leap 15.1 под управлением KDE5 Plasma. Периодически моя X-среда повреждена (примерно через 24 часа после того, как мой компьютер не работает), и я получаю сообщение "Не удалось связаться с KLauncher через D-Bus. Ошибка при вызове start_service_by_desktop_path: Не подключен к серверу D-Bus"

Результатом этого является то, что, хотя мой рабочий стол все еще функционирует, я не могу запускать какие-либо приложения, использующие KLauncher - очень раздражает. (ПРИМЕЧАНИЕ: также мой xwindows vncserver, по-видимому, запускает 99 экземпляров окон отображения, к которым я мог подключиться - что не правильно - я еще не исправил это, но сделаю это). Однако я НАШЕЛ ответ на вышеуказанную проблему, чтобы перезапустить KDE 5 Plasma в моей среде без перезагрузки:

1) килллас плазмашелл 2) kstart5 плазмашелл квин

Это перезапускает все, как будто система недавно загружена. Надеюсь это поможет

Спасибо

Я также попробовал что-то вроде:

killall plasmashell; kstart plasmashell

Или даже это:

killall plasmashell; kwin --replace && kstart plasmashell

Но по неизвестным причинам это не сработало.

Перезапуск плазменного рабочего стола начал работать после того, как я добавил сна в команды:

killall plasmashell ; sleep 3 ; kwin --replace ; sleep 5 ; kstart plasmashell

Наконец, я заметил, что когда тип 'kwin|plasma' в KSysGuard поле фильтра, сообщает, что после убийства plasmashell, такой *.so файлы все еще присутствуют: desktop.so, file.so, Мы должны убить их тоже. В противном случае у нас будут копии этих файлов после каждого перезапуска.

Итак, последние команды перезапуска рабочего стола плазмы:

killall plasmashell desktop.so file.so ; sleep 5 ; kwin --replace ; sleep 5 ; kstart plasmashell

В KDE4 я обнаружил, что использование памяти довольно быстро увеличивается, потому что при открытии программ постепенно увеличивается объем оперативной памяти, но закрытие их не освобождает ее. Это в Mint 17.3 с KDE, но, похоже, очень хорошо влияет на ВСЕ системы KDE plasma 4.

Мне надоело входить и выходить из системы или использовать ALT + F2, чтобы убить и перезапустить плазму. Так что теперь у меня просто есть сценарий, сидящий на панели..

   
!#/bin/bash 
killall plasma-desktop 
plasma-desktop & 
   

Нажмите на иконку, и плазма закроется и перезапустится примерно через 15 секунд. Я все еще могу использовать открытые программы на любом виртуальном рабочем столе, который я сейчас использую, пока перезапускается плазма.

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