Как перезапустить kwin, если он завис?

Вопрос или проблема

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

  1. Получите доступ к терминалу:

    • Нажмите сочетание клавиш Ctrl + Alt + F1 для того чтобы перейти на виртуальную консоль.
  2. Войдите в систему:

    • Введите свои учетные данные (имя пользователя и пароль) для входа в систему.
  3. Завершите работу KWin:

    • Введите команду:
      killall kwin

      Данная команда завершает все запущенные процессы KWin.

  4. Перезапустите KWin:

    • Затем введите следующую команду, чтобы перезапустить KWin:
      DISPLAY=:0 kwin --replace

      Это создаст новый экземпляр KWin на текущем дисплее.

  5. Вернитесь к графическому интерфейсу:

    • Для этого нажмите 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 или техподдержку.

Оцените материал
Добавить комментарий

Капча загружается...