Intereting Posts
Ubuntu 16.04: Как автоматически загружается модуль ядра привязки? Ошибка HTTP-запроса после прослушивания на нескольких портах или после включения модуля SSL на моей плате Linux Дата и время создания группы томов LVM Как установить удаленный хост на доменное имя с динамическим IP-адресом в клиенте * swan? Как использовать интерфейс Linux kernel bind / unbind для USB-HID-устройств? Ограничение IP-адреса оборудования Ethernet Как я могу с двумя загрузками FreeBSD и PC-BSD – с GRUB2 в MBR? Как установить Readahead-Fedora на Lubuntu 15.10? Как скомпилировать компилятор C с нуля, а затем скомпилировать Unix / Linux с нуля Нужно ли настраивать процессы в группах каждый раз при загрузке? Если да, то как их упорствовать? Не удается удалить модуль nvidia nvidia-uvm для установки драйверов надежное скачивание debian В Linux я бы использовал «/ opt» для пользовательского программного обеспечения. В FreeBSD? Unix (ошибка NFS) – хранение 7320 Каков общий формат ключевого слова для привязок ключей в файле «inputrc»?

Как включить автоматический перезапуск Plasma / KDE при замораживании?

Я использовал OpenSuse уже несколько лет. Одна из вещей, которые мне очень понравились в этом распространении, – это то, как обрабатываются проблемы Plasma / KDE: время от времени может случиться так, что панель кратковременно исчезнет и откроется окно с сообщением о том, что рабочий стол Plasma разбился и был перезапущен, также предлагая отправлять отладочные данные в группы разработчиков, если мне это нравится.

Сейчас в течение нескольких месяцев я перешел на дистрибутив Fedora ( Qubes OS , основанный на Fedora 20). По-видимому, этот дистрибутив по умолчанию не предлагает такого поведения, поскольку:

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

Десять лет назад, когда я учился, мой университет также использовал Fedora для наших практических упражнений. В то время, столкнувшись с аналогичным замораживанием, я нашел решение подключиться удаленно через SSH и убить диспетчера рабочего стола, чтобы он автоматически перезапускался, открывая графическую среду.

К сожалению, из-за специфического дизайна Qubes OS¹ это быстрое и грязное решение SSH не будет работать здесь. Тем не менее, я думаю, что инструмент MessageBox OpenSuse может сделать подобную вещь надлежащим образом: внедрить какую-то наблюдательную собаку, обнаруживающую, когда Plasma / KDE не отвечает, а затем убивает и перезапускает ее.

Поэтому мне интересно: этот инструмент является особенностью OpenSUSE², или есть какой-то пакет, который я должен установить, или какую-то конфигурацию, которую я должен изменить, чтобы включить это поведение в моей текущей установке?

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


¹: В Qubes OS сетевое подключение изолировано в домене Xen, а KDE находится в сетевом Dom0. По соображениям безопасности Qubes OS точно разработана, чтобы не дойти до пользовательского интерфейса из сети …

²: В прошлом (если это еще не так) OpenSUSE использовала внутренне сильно модифицированный KDE, позволяя им быть первым дистрибутивом, предлагающим стабильный KDE4, поэтому я боюсь, что этот инструмент является лишь частью этих сладостей. ..

TL; DR: Проблема была вызвана, по-видимому, проблемой (скорее всего, некоторым неясным состоянием гонки) между OpenGL и KWin.

Чтобы обойти это, нужно отключить OpenGL и вместо этого использовать XRender (в разделе «Конфигурация системы»> «Эффекты рабочего стола»> «Дополнительно»> «Тип композиций» выберите «XRender» вместо стандартного OpenGL).

Несколько эффектов на рабочем столе больше не будут доступны, но по крайней мере система будет стабильной, а не замороженной.


Длинная история:

Проблема возникала каждые несколько недель случайным образом, несколько раз в день, несколько раз в две-три недели без проблем, и поэтому ее довольно сложно анализировать (BTW в какой-то момент я переключился на другую видеокарту, перейдя с radeon на Intel i915 без какого-либо влияния на проблему, поэтому она не связана ни с графической картой, ни с ее драйвером).

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

Действительно, замораживание может быть программно обнаружено через qdbus, и, в частности, этот вызов терпит неудачу тогда и только тогда, когда рабочий стол заморожен:

qdbus org.kde.Kwin /App org.freedesktop.DBus.Peer.Ping 

Хотя обычно он не имеет выхода и код возврата 0, когда рабочий стол заблокирован, эта команда выходит из строя с кодом возврата 2 и сообщением об ошибке «NoReply».

Для получения информации я также проверил статус org.kde.plasma-desktop, org.kde.kuiserver и org.kde.kded, которые кажутся нормальными, когда происходит замораживание, поэтому KWin кажется настоящим виновником.

Я попробовал несколько способов восстановить целостность среды рабочего стола без везения. Попытка перезапуска KWin с использованием kquitapp kwin или kwin --replace не показала какого-либо заметного эффекта. Я попытался убить и перестроить полную среду рабочего стола следующим образом:

 kbuildsycoca4 kquitapp plasma-desktop kquitapp kwin kquitapp kuiserver sleep 2 killall plasma-desktop kwin kuiserver; sleep 2 killall -9 plasma-desktop kwin kuiserver; sleep 2 kstart kuiserver kstart kwin kstart plasma-desktop 

Рабочий стол разозлился! … но только для одного кадра: экран (как можно видеть при просмотре часов на панели задач) обновляется и снова замерзает.

Тем не менее, найдя преступника, я нашел старую «высокую, критичную, но не исправляющую, потому что слишком туманную» проблему здесь . Те же симптомы, те же диагностические шаги и, наконец, это предлагаемое решение: используйте XRender вместо OpenGL.

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

Я бы попытался установить Qubes R3.1 . Сообщения KDE сообщают о полезной информации, например, об обнаружении USB, подключении к сети и т. Д. С более современным ядром (4.1.13-7), среди прочего, R3.1 кажется очищенным и работает очень хорошо по сравнению с предыдущими версиями. Рабочий стол только разбился один раз после использования своего экспериментального обновления, но появилось окно с сообщением об ошибке.

Вместо этого я взял их совет для резервного копирования виртуальных машин и только что установил R3.1. С удовольствием сообщаем, что это был более приятный и беспроблемный опыт (с лучшими уведомлениями).

Модернизация до Qubes 3.2 с использованием sudo qubes-dom0-update --releasever=3.2 как sudo qubes-dom0-update --releasever=3.2 здесь , решит проблему.

Затем вы можете установить KDE из репозитория Qubes.