Можно ли перезапустить 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 секунд. Я все еще могу использовать открытые программы на любом виртуальном рабочем столе, который я сейчас использую, пока перезапускается плазма.