.desktop 파일을 두 번 클릭해도 환경 변수가 확인되지 않는 이유는 무엇입니까?

.desktop 파일을 두 번 클릭해도 환경 변수가 확인되지 않는 이유는 무엇입니까?

쉘 스크립트로 시작된 Java 애플리케이션이 있습니다. 쉘 스크립트의 첫 번째 부분은 Java 위치를 확인하여 이를 해결하는 것입니다 $JAVA_HOME.

터미널에서 실행하면 쉘 스크립트가 제대로 실행되지만 다음이 .desktop포함된 파일을 두 번 클릭하여 실행하면 실패합니다.

Exec=/bin/sh "/opt/HO/HO" %U

로그를 보면 $JAVA_HOME이런 식으로 스크립트를 시작하면 아무것도 반환되지 않아 오류가 발생한 것 같습니다.

/bin/sh으로 교체해 보았지만 /bin/bash역시 실패했습니다.

왜 이런 식으로 환경 변수를 찾을 수 없는지 아시나요? 어떻게 해야 합니까?

답변1

우분투 문서에서1:

일반적으로 ~/.bashrc, ~/.bash_profile 및 ~/.bash_login과 같은 셸 구성 파일을 사용하여 환경 변수를 설정하는 것이 좋습니다. 이는 셸에서 실행되는 프로그램의 Bash 셸에서 작동할 수 있지만 이러한 파일에 설정된 변수는 데스크톱 세션의 그래픽 환경에서 실행되는 프로그램에서는 기본적으로 사용할 수 없습니다.

따라서 해결 방법은 청구 $JAVA_HOME하고 .profile다시 로그인하는 것입니다.

(올바른 방향을 알려준 @plumo에게 감사드립니다)

관련 정보