전역 Java 옵션을 어디에서 설정할 수 있습니까?


10

jabrefand와 같은 Java 프로그램에서 끔찍하고 렌더링이 잘못된 글꼴이 있습니다 rubymine. 이것은 실행하여 해결할 수 있습니다

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref

이러한 Java 옵션을 환경 변수로 내보내고 명령 줄에서 프로그램을 시작할 수 있음을 이해합니다. 그러나 이러한 옵션을 전체적으로 설정하여 시작 방법에 관계없이 모든 Java 프로그램이이를 인식하도록하는 방법이 있습니까?

또한 *.desktopJava 프로그램의 모든 파일을 수정할 수 있다는 것을 알고 있지만 글로벌 솔루션을 찾고 있습니다.

java-7-openjdk아치 리눅스에서 사용 하고 있습니다. (지금까지 깨어진 jre7-openjdk-headless-infinality가 설치되어 있으면 괜찮습니다 .)


나를 위해 터미널에서 응용 프로그램을 시작하거나 xfce 패널에서 응용 프로그램 실행기를 사용하거나 바탕 화면에서 스크립트를 사용하는 경우 매개 변수를 얻지 못하는 경우에만 작동합니다. 왜??

@MARCOFranciosi 몰라요. 그것은 나를 위해 잘 작동합니다. 아직 충분한 담당자가 있는지 확실하지 않지만 응답자가 응답 할 수 있도록 답변에 댓글을 달아야합니다.
Sparhawk

답변:


7

쉘에서 변수를 설정하는 방법을 알고 있지만 레코드의 경우 다음과 같이 작성할 수 있습니다 .

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

이 셸 세션에서 시작한 모든 프로그램에는 변수가 설정됩니다.

나중에 시작 하는 모든 쉘에 대해 설정 하려면 해당 줄도 추가하십시오 ~/.profile. 이 경우 시작한 모든 향후 쉘에 적용되지만 현재 실행중인 쉘에는 적용되지 않습니다.

.profile일반적으로 GUI에서도 작동하지만 시스템 구성 및 작업 시작 방법에 따라 손상 될 수 있습니다. 이것은 사용자 별 구성입니다.


항상 모든 사용자에 대해 설정하려면에 할당을 추가 할 수 있습니다 /etc/environment. 형식은 약간 다릅니다. KEY=VAL필요한 인용 부호가없고 별도의 행이없는 별도의 줄에 있습니다.

_JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=on

이것은 pam_env모듈에 의해 분석됩니다 . 사용자 별 ~/.pam_environment파일도 있으며 이는 한 명의 사용자에게만 동일한 효과를 나타냅니다. 변경 사항을 적용하려면 로그 아웃했다가 다시 로그인해야합니다. 변수는 콘솔과 X 모두에서 향후 로그인 세션마다 설정됩니다.

마찬가지로에서 파일을 만들 수 있습니다 /etc/profile.dexport그것의 문 그리고 모든 사용자가 모든 미래 세션에로드됩니다. 모델링 할 기존 파일이있을 수 있지만 export위 의 행만 있으면됩니다.


또는 (을 사용하는 경우 ) , 또는에 export문을 추가 할 수 있습니다 . KDE는 또한 원하는만큼 많은 쉘 파일을 포함 할 수 있는 디렉토리 를 지원 하며 , 여기에는 위와 같은 명령문 이 포함 됩니다. 다른 접근법 중 하나를 선호 할 것입니다.~/.xinitrcstartx~/.xsession~/.xprofile~/.kde/envexport


1
좋은 대답입니다. 명확하고 철저합니다. FWIW 나는 /etc/environment가장 논리적으로 보였던 옵션을 사용했습니다 .
Sparhawk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.