나는 다음과 같은 설정을 가지고 있습니다 :
- 스크린세이버로 사용했어요
xscreensaver
(예뻐서) - 화면을 잠그는 데 사용했습니다
light-locker
(더 안전하기 때문에xscreensaver
).
최근 dbus xscreensaver
에 바인딩하기 시작했습니다 org.freedesktop.ScreenSaver
. 따라서 다른 하나가 불평한 후에 시작했기 때문에 더 이상 병렬로 실행할 수 없습니다 a screensaver is already running
.
나는 읽었다ArchWiki에서서비스에는 특정 가능성이 있습니다 override
. 하지만 막연하고 d-bus에 익숙하지 않습니다.
소스 코드를 변경하지 않고 두 가지를 공존시킬 수 있는 방법이 있습니까?
기록에 따르면 DBUS_SESSION_BUS_ADDRESS
에테르 화면 보호기를 시작하기 전에 환경 변수를 설정 해제해도 아무런 효과가 없습니다.
편집: 내 연구에서 본 바에 따르면 프로그램에 문제를 일으키지 않고 프로그램이 d-bus 서비스를 듣는 것을 방지하는 것은 불가능해 보입니다. 누군가 나에게 이것을 확인해 줄 수 있다면 그것은 좋은 대답이 될 것입니다.
답변1
답변 중 불쾌한 부분은 다음과 같습니다.노력하다다시 병렬로 실행하면 손상이 발생할 가능성이 높습니다. D-bus는 버스처럼 작동하므로 특정 규칙에 따라 메시지를 보내는 사람과 받는 사람이 있습니다. 화면 보호기의 경우 가장 가능성이 높은 규칙은 화면 보호기가 시스템의 하나일 뿐이고 다른 소프트웨어는 D-버스를 사용하여 화면 보호기나 기타 표준 기능 호출을 방지할지 여부를 알리는 것입니다.
즉, 카우보이 방식을 시도하고 시행착오를 통해 일부 D-Bus 기본 사항을 배우고 싶다면 /usr/share/dbus-1/services/
일반적으로 디렉토리에 D-Bus 서비스 이름과 정확히 이름이 지정되고 .service
. 너 어디가능한org.freedesktop.ScreenSaver.service
문서 도 찾을 수 있습니다 .
편집으로 인해 시스템이 손상될 수 있다는 점에 대비하여 시스템이 손상된 경우 복구하는 방법을 알아 두십시오. 하지만여기 용이 있어요, 귀하는 이를 수행할 때 위험을 감수해야 하며 작업 시스템이 중단될 수 있습니다.