У меня есть ужасные, неправильно отрендеренные шрифты в программах Java, таких как jabref
и rubymine
. Это можно исправить, запустив
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref
Я понимаю, что могу экспортировать эти параметры Java как переменные среды и запускать программы из командной строки. Однако есть ли способ установить эти параметры глобально, чтобы все программы Java распознавали их, независимо от того, как они запускаются?
Я также знаю, что могу изменить все *.desktop
файлы для своих программ на Java, но я ищу глобальное решение.
Я использую java-7-openjdk
на Arch Linux. (FWIW раньше это было нормально с установленной сломанной jre7-openjdk-headless-бесконечностью .)
environment-variables
java
fonts
Sparhawk
источник
источник
Ответы:
Вы знаете, как установить переменную в оболочке, но для записи вы можете написать :
и все программы, которые вы запустите после этого сеанса оболочки, будут иметь установленную переменную.
Если вы хотите, чтобы он был установлен для каждой оболочки, которую вы запускаете впоследствии, добавьте эту строку
~/.profile
также. В этом случае он будет применяться ко всем будущим оболочкам, которые вы запускаете, но не ко всем, которые в данный момент работают..profile
как правило, будет работать и для графического интерфейса, но это может быть нарушено конфигурацией системы и тем, как вы ее запустите. Это только для конфигурации пользователя.Если вы хотите, чтобы он был установлен для каждого пользователя все время, вы можете добавить назначение для
/etc/environment
. Формат там немного другой: простоKEY=VAL
в отдельных строках, без обязательного цитирования и ничего больше.Это анализируется
pam_env
модулем. Существует также~/.pam_environment
файл для каждого пользователя , который имеет тот же эффект только для одного пользователя. Для того, чтобы изменения вступили в силу, оба требуют выхода и повторного входа. Переменные будут установлены для каждого будущего сеанса входа в систему, как в консоли, так и в X.Точно так же вы можете создать файл
/etc/profile.d
сexport
оператором, и он будет загружен в каждый будущий сеанс любым пользователем. Там, вероятно, будут некоторые уже существующие файлы, чтобы смоделировать их, но толькоexport
строка выше будет в порядке.Кроме того, вы можете добавить
export
оператор в~/.xinitrc
(если вы используетеstartx
)~/.xsession
, или~/.xprofile
. KDE также поддерживает каталог,~/.kde/env
который может содержать столько файлов оболочки, сколько вы хотите, которые содержатexport
операторы, как указано выше. Я бы предпочел один из других подходов.источник
/etc/environment
опцию, которая показалась мне наиболее логичной.