내가 하려는 일: 소스에서 전체 KDE를 구축하고 시스템에서 변경하지 않고 일반 사용자로 실행하려고 합니다. 문제: 항상 해당 소프트웨어만 실행하도록 전체 시스템을 변경하지 않고는 내가 만든 소프트웨어를 실행할 수 없는 것 같습니다.
내가 아는 한문서섹션 2.5.1, 이는 잘 지원됩니다. kdesrc-build는 로그인 드라이버를 설치하여 로그인 관리자가 설치 접두사에 내장된 소프트웨어로 플라즈마 세션을 실행하기 위한 적절한 설정을 찾을 수 있도록 합니다. 즉시 작동하도록 할 수 없습니다. SDDM은 설치된 스크립트를 볼 수 없지만 plasma.desktop
kdesrc-build로 설치된 파일을 /usr/share/xsession 폴더에 연결하면 쉽게 작동하게 할 수 있습니다. 이렇게 하면 SDDM이 내 세션을 볼 수 있습니다.
불행하게도 이것은 내가 소스에서 구축한 KDE를 여전히 실행하지 않습니다. 그 이유는 이것이 내가 만든 소프트웨어에서 초기화 시퀀스를 시작하지만 시작 시퀀스(plasma/plasma-workspace/startkde/plasma-session/startup.cpp 및 그 친구들에서와 같이)는 설치 접두사를 start를 실행하면 내가 만든 startkde가 실행되지만 곧 원래 상태로 돌아가고 $PATH
아무도 변수를 설정하지 않는 것 같았습니다. 제 생각엔 이 작업을 수행할 수 있는 환경 스크립트가 있어야 할 것 같습니다(kde-env-master.sh가 좋은 후보인 것 같습니다).
$PATH
그래서 나는 속임수를 써서 내가 만든 소프트웨어가 포함된 bin 디렉토리에 로그인 스크립트가 설정되도록 준비했습니다 . 하지만 아직 충분하지 않습니다. 이제 제가 만든 바이너리는 자신이 만든 라이브러리가 아닌 라이브러리를 시스템에 로드하려고 시도합니다. init 파일에는 $LD_LIBRARY_PATH
내가 라이브 빌드하는 라이브러리가 포함된 디렉터리로 설정되어 있지만 보안상의 이유로 자주 재설정되는 일부 참조가 있습니다 $LD_LIBRARY_PATH
(실제로는 init 시퀀스가 권한을 제거한 후에 발생함). 따라서 실제로 환경 스크립트는 무시됩니다.
내가 만든 라이브러리를 찾도록 ldconfig를 설정할 수 있습니다. 하지만 이는 시스템 전체이므로 이렇게 하면 내 배포판에 설치된 안정적인 소프트웨어로 실행되는 일반 세션은 내가 만든 라이브러리를 사용하려고 시도합니다. 최선은 위험한 생각이다.
이 모든 것은 내가 뭔가 잘못하고 있다는 것을 암시하지만, 나는 무엇을 잘못하고 있는지 모릅니다. 결국, 문서에는 세션을 실행하는 것이 올바른 방법이라고 나와 있습니다. kdesrc-build
로그인 드라이버를 설치하고, 제가 구축한 접두사에 구축된 환경을 올바른 디렉터리에 설정하는 문서도 있습니다. 모든 것이 잘 통합되는 것 같습니다. 그렇게 하려고 하다가 문제가 하나씩 발견되었기 때문에 내가 제대로 하고 있지 않다고 생각할 수밖에 없습니다.
Distro 설치의 일반 세션에 영향을 주지 않고 사용자 정의 KDE를 실행하려면 어떻게 세션을 설정해야 합니까?
참고: Debian 테스트 및 kdesrc-build 20.06에서 실행
답변1
~/kde/build/plasma-workspace/login-sessions/install-sessions.sh
kde 빌드 세션을 설치하려면 다음을 실행해야 합니다 :
https://community.kde.org/Get_Involved/development#Plasma_Desktop
이것은 여전히 문제가 될 수 있습니다. 이러한 문제가 발생하면 kde bugtracker에 보고하십시오.