Java jabref
やrubymine
などのプログラムに、恐ろしく不適切にレンダリングされたフォントがあります。これは、
_Java_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref
これらのJavaオプションを環境変数としてエクスポートし、プログラムをコマンドラインから起動できることを理解しています。しかし、これらのオプションをグローバルに設定してすべてのJavaプログラムは、どのように起動しても、それらを認識しますか?
また、Javaプログラムのすべての*.desktop
ファイルを変更できることも知っていますが、グローバルなソリューションを探しています。
Arch LinuxでJava-7-openjdk
を使用しています。 (FWIWこれは、壊れた jre7-openjdk-headless-infinality がインストールされている場合は問題ありませんでした。)
あなたはシェルで変数を設定する方法を知っていますが、記録のために あなたは書くことができます :
export _Java_OPTIONS='-Dawt.useSystemAAFontSettings=on'
そして、その後このシェルセッションから開始するすべてのプログラムには、変数が設定されます。
後で開始するeveryシェルに設定する場合は、その行を~/.profile
にも追加します。その場合、それはあなたが開始する将来のすべてのシェルに適用されますが、現在実行中のシェルには適用されません。
.profile
は一般的にGUIでも機能しますが、システム構成や起動方法によっては機能しない場合があります。これはユーザーごとの構成のみです。
常にすべてのユーザーに設定する場合は、/etc/environment
に割り当てを追加できます。ここでは形式が少し異なります。KEY=VAL
を別の行に入力するだけで、引用符は必要なく、何もありません。
_Java_OPTIONS=-Dawt.useSystemAAFontSettings=on
これは pam_env
モジュールによって解析されます。ユーザーごとの~/.pam_environment
ファイルもあり、1人のユーザーだけに同じ効果があります。変更を有効にするには、どちらもログアウトしてから再度ログインする必要があります。変数は、コンソールとXの両方で、今後のログインセッションごとに設定されます。
同様に、export
ステートメントを使用して /etc/profile.d
でファイルを作成すると、任意のユーザーが以降のすべてのセッションにロードされます。モデル化する既存のファイルがいくつか存在する可能性がありますが、上記のexport
行だけで十分です。
または、~/.xinitrc
(export
を使用する場合)、~/.xsession
、または~/.xprofile
にstartx
ステートメントを追加できます。 KDEもサポート ディレクトリ~/.kde/env
には、上記のexport
ステートメントを含む、必要な数のシェルファイルを含めることができます。私はおそらく他のアプローチの1つを好みます。