KDE 자동 시작 디렉토리(~/.kde/Autostart)에 있는 SH 스크립트의 문제를 디버깅하려고 합니다. 저는 Scientific Linux 6.4(커널 2.6.32-754)를 실행하고 있습니다. 스크립트는 단지 애플리케이션을 시작합니다. 응용 프로그램은 최근에 새로운 라이브러리 종속성을 얻었으며 이제 라이브러리를 찾을 수 없다고 불평하기 때문에 KDE 자동 시작을 통해 시작할 때 응용 프로그램이 실행되지 않습니다.
수동 수정을 시도하기 위해 /usr/lib64(일반적이지 않은 위치)에 라이브러리에 대한 심볼릭 링크를 배치하면 문제가 해결되었습니다. 그러나 우리 컴퓨터는 자동 설치 프로그램을 통해 설정되므로 라이브러리 경로에 라이브러리가 표시되도록 환경 변수를 수정해야 합니다.
따라서 사용자 프로필의 LD_LIBRARY_PATH에 라이브러리가 포함된 디렉터리를 추가하기 위한 환경 변수를 생성하는 /etc/profile.d의 스크립트를 수정했습니다. 그러나 이 문제는 해결되지 않았고 오류가 다시 발생했습니다. LD_LIBRARY_PATH 환경 변수를 에코하면 디렉토리가 올바르게 추가되었음을 분명히 볼 수 있지만 KDE 자동 시작은 여전히 라이브러리를 볼 수 없는 것 같습니다.
/etc/profile.d 스크립트는 환경을 설정하기 위해 터미널을 열 때만 실행되는 것으로 보이지만 KDE 자동 시작 스크립트가 실행될 때 이러한 변수는 설정되지 않습니다. 자동 시작 스크립트에서 LD_LIBRARY_PATH 변수를 에코했는데 비어 있습니다. 자동 시작에 사용할 수 있도록 하려면 LD_LIBRARY_PATH를 어디에 설정해야 합니까? .bashrc에서?
내가 놓친 것이 있나요? KDE 자동 시작은 해당 자동 시작 스크립트가 위치한 프로필이 아닌 다른 사용자로 이러한 자동 시작 스크립트를 실행합니까? 아니면 다른 곳에서 환경 변수를 가져오나요?
다른 유용한 정보가 있으면 알려주시기 바랍니다.
답변1
그래서 자동 시작 스크립트가 실행될 때 사용자 프로필이 아직 로드되지 않았기 때문에 쉘 스크립트를 사용하여 자동 시작 스크립트가 실행되기 전에 환경 변수를 설정할 env
디렉터리를 배치할 수 있다는 것을 알게 되었습니다. ~/.kde
그래서 문제를 해결하기 위해 여기에 필요한 라이브러리 경로를 명시적으로 선언했습니다.
또한 비슷한 LD_LIBRARY_PATH 행을 내 항목에 추가해야 합니다..xsession~/.kde/env
분명히 KDE 자동 시작 스크립트가 실행되지 않았거나 설정된 환경 변수가 적용되지 않았기 때문에 파일은 사용자의 홈 디렉토리에 있습니다..xsession.