쉘 스크립트로 시작된 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에게 감사드립니다)