Plasma/KDE가 정지되었을 때 자동으로 다시 시작하도록 활성화하는 방법은 무엇입니까?

Plasma/KDE가 정지되었을 때 자동으로 다시 시작하도록 활성화하는 방법은 무엇입니까?

나는 사용했다오픈수세몇 년이 지났습니다. 이 배포판에서 제가 가장 좋아하는 점 중 하나는 플라즈마/KDE 문제를 처리하는 방법입니다. 때때로 패널이 잠시 사라지고 플라즈마 데스크탑이 충돌하여 다시 시작되었음을 알리는 메시지 상자가 열릴 수 있으며, 디버깅 보내기를 선택하라는 메시지도 표시됩니다. 개발팀에 데이터를 전달합니다.

몇 달 동안 저는 Fedora 기반 배포판(QubesOS, Fedora 20 기반). 이 배포판은 다음과 같은 이유로 기본적으로 이 동작을 제공하지 않는 것 같습니다.

  • 이 메시지 상자를 다시는 볼 수 없습니다.
  • 하지만 데스크탑이 몇 번 완전히 정지되고(화면과 키보드가 정지되고, 사운드와 마우스 포인터가 정상) 컴퓨터를 잔인하게 종료해야 했습니다. 진행 중인 모든 작업이 손실되는 것이 이러한 잔인한 종료의 유일한 부작용이 되기를 기도하면서 말입니다.

10여년 전 제가 학생이었을 때 우리 대학에서도 실습을 위해 Fedora를 사용하고 있었습니다. 그 당시 비슷한 동결 상황에 직면하여 SSH를 통해 원격으로 연결하고 데스크톱 관리자를 종료하여 자동으로 다시 시작하여 그래픽 환경을 잠금 해제하는 솔루션을 찾았습니다.

불행하게도 Qubes OS의 특정 설계로 인해 이 빠르고 더러운 SSH 솔루션은 여기서 작동하지 않습니다. 그러나 OpenSuse의 메시지 상자 도구는 올바른 방식으로 유사한 작업을 수행할 수 있을 것 같습니다. 즉, Plasma/KDE가 응답하지 않을 때를 감지한 다음 종료하고 다시 시작하는 일종의 감시 장치를 구현하는 것입니다.

그래서 제가 알고 싶은 것은 다음과 같습니다.이 도구는 OpenSUSE²에만 해당됩니까? 아니면 현재 설치에서 이 동작을 활성화하려면 일부 패키지를 설치하거나 일부 구성을 변경해야 합니까?

데스크톱 정지는 특히 실망스럽습니다. 특히 애플리케이션 자체가 여전히 잘 작동할 가능성이 높으며 단순히 플라즈마 프로세스를 다시 시작하면 모든 것이 정상으로 돌아갈 수 있다는 것을 알고 있을 때 더욱 그렇습니다.


1: Qubes OS에서 네트워크 연결은 Xen 도메인에서 격리되고 KDE는 네트워크 없이 Dom0에 있습니다. 보안상의 이유로 Qubes OS는 네트워크에서 사용자 인터페이스에 접근하지 않도록 신중하게 설계되었습니다...

²: 과거에(지금은 그렇지 않다면) OpenSUSE는 내부적으로 크게 수정된 KDE를 사용하여 안정적인 KDE4를 제공하는 최초의 배포판이 되었기 때문에 이 도구가 단지 일부일 뿐일까 걱정됩니다. 사탕. ..

답변1

간단히 말해서:여기서 문제는 OpenGL과 KWin 사이의 문제로 인해 발생하는 것으로 보입니다(대부분 모호한 경쟁 조건일 가능성이 높음).

이 문제를 해결하려면 OpenGL을 비활성화하고 XRender를 사용해야 합니다(시스템 구성 > 데스크탑 효과 > 고급 > 합성 유형에서 기본 OpenGL 대신 "XRender" 선택).

일부 데스크탑 효과는 더 이상 사용할 수 없지만 최소한 시스템은 안정적이고 더 이상 지연되지 않습니다.


매우 긴 이야기:

문제는 몇 주에 한 번씩 무작위로 발생하고 때로는 하루에 여러 번, 때로는 문제 없이 2~3주에 걸쳐 발생하므로 분석하기가 어렵습니다(그런데 어느 시점에 다른 그래픽 카드인 라데온에서 Intel i915로 전환했는데 문제가 발생하지 않습니다). 효과이므로 그래픽 카드 및 드라이버와는 아무런 관련이 없습니다).

나는 백그라운드에서 실행되는 스크립트를 남겨두고 무한 루프에서 3분마다 자동 검사를 수행하여 데스크탑이 멈췄을 때 뭔가를 발견할 수 있기를 바랍니다.

실제로 정지는 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

데스크탑이 자동으로 고정 해제됩니다! ...그러나 한 프레임에만 해당됩니다. 화면(작업 표시줄의 시계를 볼 때 볼 수 있음)이 업데이트되고 즉시 다시 정지됩니다.

그런데 범인을 찾아보니오래된 "높고 중요하지만 너무 모호하기 때문에 해결할 수 없는" 문제. 동일한 증상, 동일한 진단 단계 및 마지막으로 제안된 해결 방법: OpenGL 대신 XRender를 사용하십시오.

이 변경 사항을 적용한 지 몇 달이 지났고 그 이후로 멈춤 현상이 발생하지 않았으므로 문제에 대한 해결 방법은 이 해결 방법이 맞다고 생각합니다.

답변2

설치해보도록 할게요퀴부스 R3.1. KDE 메시지 알림에는 USB 감지, 네트워크 연결 등과 같은 유용한 정보가 표시됩니다. 최신 커널(4.1.13-7) 등을 사용하면 R3.1이 이전 버전보다 더 깔끔해 보이고 매우 잘 작동합니다. 사용한 후 데스크톱이 한 번만 충돌했습니다.실험적 업데이트그런데 신고 옵션이 포함된 알림 상자가 나타났습니다.

대신 VM을 백업하고 R3.1을 다시 설치하라는 조언을 받았습니다. 더 즐겁고 충돌 없는 경험(더 나은 알림 팝업 포함)을 알려드리게 되어 기쁩니다.

답변3

업그레이드퀘베스 3.2사용sudo qubes-dom0-update --releasever=3.2 여기에 문서화된 대로문제를 해결할 것입니다.

그런 다음 Qubes 저장소에서 KDE를 설치할 수 있습니다.

관련 정보