グローバルJavaオプションはどこで設定できますか?


10

jabrefやなどのJavaプログラムに、恐ろしく不適切にレンダリングされたフォントがありrubymineます。これは実行することで修正できます

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref

これらのJavaオプションを環境変数としてエクスポートし、コマンドラインからプログラムを起動できることを理解しています。しかし、これらのオプションをグローバルに設定して、どのように起動しても、すべてのJavaプログラムがそれらを認識する方法はありますか?

*.desktopJavaプログラムのすべてのファイルを変更できることも知っていますが、グローバルなソリューションを探しています。

java-7-openjdkArch Linuxで使用しています。(FWIWこれは、壊れたjre7-openjdk-headless-infinalityがインストールされている場合は問題ありませんでした。)


私にとっては、ターミナルからアプリを起動した場合、xfceパネルからアプリケーションランチャーを使用した場合、またはデスクトップからスクリプトを使用した場合にのみ、パラメーターを取得しません。なぜ??

@MARCOFranciosiわからない。それは私にとってはうまくいきます。回答者が回答できるように、回答にコメントする必要がありますが、まだ十分な担当者がいるかどうかはわかりません。
Sparhawk、2014

回答:


7

あなたはシェルで変数を設定する方法を知っていますが、記録のためにあなたは書くことができます

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

そして、その後このシェルセッションから開始するすべてのプログラムには、変数が設定されます。

後で起動するすべてのシェルに設定する場合は、その行も追加し~/.profileます。その場合、それはあなたが開始する将来のすべてのシェルに適用されますが、現在実行中のシェルには適用されません。

.profile一般的にGUIでも機能しますが、システム構成や起動方法によっては機能しない場合があります。これはユーザーごとの構成のみです。


常にすべてのユーザーに設定する場合は、に割り当てを追加できます/etc/environment。形式は少し異なります。KEY=VAL個別の行にあり、引用符は必要なく、他には何もありません。

_JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=on

これはpam_envモジュールによって解析されます。ユーザーごとの~/.pam_environmentファイルもあり、1人のユーザーだけに同じ効果があります。変更を有効にするには、どちらもログアウトしてから再度ログインする必要があります。変数は、コンソールとXの両方で、今後のログインセッションごとに設定されます。

同様に、ステートメントを含むファイルを作成する/etc/profile.dと、export任意のユーザーが以降のすべてのセッションにロードされます。モデル化するために既存のファイルがいくつか存在する可能性がありますが、export上の行だけで十分です。


また、あなたは追加することができますexportで文を~/.xinitrc(あなたが使用している場合startx)、~/.xsessionまたは~/.xprofileKDEは、上記のステートメント~/.kde/envを含む、必要な数のシェルファイルを含むことができるディレクトリもサポートしていますexport。私はおそらく他のアプローチの1つを好むでしょう。


1
すばらしい答えです。クリアで徹底的。FWIW私はこの/etc/environmentオプションを使用しました。
スパーホーク2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.