X 및/또는 Gnome에서 실행되는 애플리케이션에 JAVA_HOME을 노출하는 방법은 무엇입니까?

X 및/또는 Gnome에서 실행되는 애플리케이션에 JAVA_HOME을 노출하는 방법은 무엇입니까?

Gnome3의 애플리케이션 메뉴에서 IntelliJ를 실행하려고 하는데 JAVA_HOME변수가 설정되지 않았다고 불평합니다.

내 Java는 내 홈 폴더에 설치되어 있습니다.

내 변수를 내보낼 수 있었습니다 ~/.bashrc.

export JAVA_HOME=~/jdk1.6.0_32

명령줄에서 IntelliJ를 성공적으로 실행했습니다.

Gnome은 우리가 bash를 사용한다고 가정해서는 안 되기 때문에 구성을 무시하는 것이 정상이라고 생각합니다. 그렇죠?

.profile올바른 곳에 사용하고 싶은데 아무 효과가 없는 것 같습니다.

답변1

~에 따르면우분투 환경 변수 위키모든 사용자에게 제공하려는 항목 또는 사용자에게만 제공하려는 항목에 따라 in ~/.pam_environment또는 in 입니다 ./etc/environment

세션 범위 환경 변수

전체 시스템이 아닌 특정 사용자에게만 영향을 미치는 환경 변수 설정은 다음과 같이 설정되어야 합니다.

~/.pam_environment- 이 파일은 사용자 환경을 설정하기 위해 특별히 사용됩니다. 스크립트 파일은 아니지만 한 줄에 하나의 할당 표현식으로 구성됩니다.

참고: .pam_environment변수를 초기화하려면 다시 로그인해야 합니다. 단순히 터미널을 다시 시작하는 것만으로는 변수를 사용할 수 없습니다.

그리고

시스템 전체 환경 변수

특정 사용자뿐만 아니라 전체 시스템에 영향을 미치는 환경 변수 설정은 시스템 또는 데스크탑 세션이 로드될 때 실행되는 많은 시스템 수준 스크립트에 배치되어서는 안 되며,

/etc/environment- 이 파일은 시스템 전체의 환경 변수 설정 전용입니다. 스크립트 파일은 아니지만 한 줄에 하나의 할당 표현식으로 구성됩니다. 특히 이 파일은 시스템 전체의 로케일 및 경로 설정을 저장합니다.

답변2

GNOME 메뉴에서 시작된 X11 응용 프로그램에서 환경 변수를 표시하려면 이 변수를 /etc/X11/xinit/xinitrcXsession이 시작될 때 .

답변3

실제로 데스크톱 파일을 사용하여 실행 파일에 JAVA_HOME을 설정하는 것이 더 쉽다는 것을 알았습니다. IntelliJ를 예로 들면, 내 JAVA_HOME은 /opt/java에 있고 내 아이디어 설치는 /opt/idea에 있습니다. 다음 내용이 포함된 데스크톱 파일을 사용하겠습니다.

[Desktop Entry]    
Type=Application
Name=Idea
Comment=IntelliJ Idea
Icon=/opt/idea/bin/idea.png
Exec=env JAVA_HOME=/opt/java /opt/idea/bin/idea.sh
Terminal=false
Categories=Development;IDE;Java;
StartupWMClass=jetbrains-idea

그러면 모든 데스크탑 환경에서 데스크탑 파일을 사용할 수 있습니다.

편집: Gnome 데스크탑 환경에서 찾아서 사용할 수 있도록 *.desktop 파일을 ~/.local/share/applications에 저장한다는 점을 잊어버렸습니다.

관련 정보