Вопрос или проблема
kwin иногда зависает, что выглядит как отсутствие ответа системы на щелчки мыши или нажатия клавиш — хотя указатель мыши все еще движется, когда вы движете мышью!
Как описано в официальной документации Kwin, хороший способ справиться с этим — попробовать выполнить это в работающем терминальном приложении или на виртуальной консоли (т.е.: Ctrl+Alt+F1), :
DISPLAY=:0 kwin --replace
Подобно ответу Робина Грина, но это не требует уже открытого терминального окна. Вместо этого укажите дисплей, в котором нужно запустить kwin из tty1. Поэтому,
Нажмите Ctrl+Alt+F1, чтобы получить доступ к терминалу. Войдите в систему.
Введите killall kwin
. Затем введите DISPLAY=:0 kwin
.
Нажмите Ctrl+Alt+F7, чтобы вернуться к вашему основному дисплею.
В последних версиях Kubuntu/Plasma 5 kwin
все еще зависает/вызывает ошибки (особенно с драйверами дисплеев Intel как кажется), но его можно перезапустить легче: просто выполните в krunner
– Alt-Space или Alt-F2: kwin --replace
Или создайте новый настраиваемый ярлык для этого: например, триггер: Meta+K, действие, команда/URL: kwin --replace
.
Таким образом, kwin
можно перезапустить всего лишь с помощью ярлыка Meta-K.
Нажмите Ctrl+Alt+F1. Войдите в систему. Введите killall kwin
.
Нажмите Ctrl+Alt+F7.
Закройте все открытые приложения, пока терминал не станет видимым. Наведите мышь на терминальное приложение. Введите kwin &
.
Что, нет открытого терминального приложения? Печально – вам просто придется перезагрузить.
Ярлыки
- krunner: Alt+F2
- Или: tty [номер]: Ctrl+Alt+F[номер]
Команда
setsid kwin_x11 --replace &
Легенда
- setsid: создает новую сессию, так что если терминал будет закрыт, kwin все равно будет работать.
- kwin_x11: только на x11, так как в wayland диспетчер окон удерживает всю сессию (нет способа перезапустить без закрытия всего).
- –replace: завершает любой работающий kwin перед запуском нового экземпляра.
- &: как отдельный процесс.
Это действительно работает. Это неприятный баг, но по крайней мере я могу восстановиться сейчас.
В моем случае нет необходимости возвращаться к входу в консоль с помощью ctrl+alt+f2, но используя alt+f2, я могу просто ввести killall plasma-desktop plasma-desktop
, а затем снова использовав alt+f2,
я могу запустить plasma-desktop
. Это также могло бы быть использовано в скрипте, конечно. Таким образом, я возвращаю свою мышь и не потеряю никакую работу.
Если перезапуск kwin не помогает (или если, например, вы только что потеряли меню «Пуск»), это может быть связано с plasma. В этом случае plasmashell
— это то, что нужно запустить начиная с KDE 5.21 (заменяя старый plasma-desktop
).
Два разработчика KDE написали:
Если вы используете интеграцию Plasma с systemd — что, вероятно, так и есть, поскольку она включена по умолчанию для дистрибутивов, которые поставляют systemd — правильный способ перезапустить Plasma это systemctl restart --user plasma-plasmashell
— https://discuss.kde.org/t/how-to-restart-plasma-panel/15490/14 , https://pointieststick.com/2024/09/20/this-week-in-plasma-polishing-like-mad
Просто выполните:
killall plasma-desktop
plasma-desktop &
вы можете сделать это все в bash-скрипте на случай, если вам понадобится это несколько раз,
recoverkde.sh:
killall plasma-desktop
plasma-desktop &
Ответ или решение
Как перезапустить KWin при зависании
При использовании KDE Plasma вы можете столкнуться с проблемой зависания оконного менеджера KWin, что может проявляться в том, что система не реагирует на щелчки мыши или на нажатия клавиш. Несмотря на это, курсор мыши может двигаться. Если вы столкнулись с подобной ситуацией, следуйте приведенным ниже шагам для перезапуска KWin.
Шаги для перезапуска KWin
-
Получите доступ к терминалу:
- Нажмите сочетание клавиш Ctrl + Alt + F1 для того чтобы перейти на виртуальную консоль.
-
Войдите в систему:
- Введите свои учетные данные (имя пользователя и пароль) для входа в систему.
-
Завершите работу KWin:
- Введите команду:
killall kwin
Данная команда завершает все запущенные процессы KWin.
- Введите команду:
-
Перезапустите KWin:
- Затем введите следующую команду, чтобы перезапустить KWin:
DISPLAY=:0 kwin --replace
Это создаст новый экземпляр KWin на текущем дисплее.
- Затем введите следующую команду, чтобы перезапустить KWin:
-
Вернитесь к графическому интерфейсу:
- Для этого нажмите Ctrl + Alt + F7.
Альтернативные способы
Если у вас возникли трудности с доступом к терминалу или вы хотите перезапустить KWin, не покидая графический интерфейс, вы можете воспользоваться следующими методами:
-
Использование Krunner:
- Нажмите Alt + F2 для открытия Krunner.
- Введите команду:
kwin --replace
- Это самый простой способ перезапустить KWin, если доступен Krunner.
-
Создание горячей клавиши для быстрого доступа:
- Вы можете настроить горячую клавишу, например Meta + K, для быстрого перезапуска KWin. Для этого:
- Перейдите в
Системные настройки -> Клавиатура -> Сочетания клавиш
. - Создайте новое сочетание, связав его с командой
kwin --replace
.
Если KWin не решает проблему
Если перезапуск KWin не помог и вы по-прежнему испытываете проблемы с интерфейсом, возможно, следует перезапустить plasmashell
. Для этого выполните команду:
killall plasmashell && plasmashell &
Эта команда завершает все процессы plasmashell
и запускает его заново.
Использование Systemd для более новых дистрибутивов
Если вы используете Plasma с системой Systemd, перезапустите Plasma с помощью следующей команды:
systemctl --user restart plasma-plasmashell
Это способ завершает все экземпляры плазмы и запускает их заново, что может помочь устранить множество проблем с интерфейсом.
Заключение
Следуя этим шагам, вы сможете быстро перезапустить KWin и вернуть работу вашу системы к стабильному состоянию. Регулярное использование данных методов поможет избежать полной перезагрузки системы, сохраняя ваши данные и открытые приложения. Если же проблема persist, рассмотрите возможность обращения в сообщество KDE или техподдержку.