Де можна встановити глобальні параметри Java?


10

У мене є жахливі, неправильно відображені шрифти в таких програмах Java, як jabrefі rubymine. Це можна виправити, запустивши

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref

Я розумію, що я можу експортувати ці параметри Java як змінні середовища та запустити програми з командного рядка. Однак чи існує спосіб встановити ці параметри в усьому світі, щоб усі програми Java розпізнавали їх, незалежно від того, як вони запускаються?

Я також знаю, що я міг би змінити всі *.desktopфайли для моїх програм Java, але шукаю глобальне рішення.

Я використовую java-7-openjdkв Arch Linux. (FWIW це було нормально з встановленим тепер розбитим jre7-openjdk-headless-нескінченністю .)


Для мене це працює лише в тому випадку, якщо я запускаю програму з терміналу, якщо я використовую запуск програми з панелі xfce або якщо я використовую сценарій з робочого столу, він не отримує жодного параметра. Чому ??

@MARCOFranciosi Я не знаю. Це прекрасно працює для мене. Вам доведеться прокоментувати відповідь, щоб вони змогли відповісти, хоча я не впевнений, чи є у вас ще достатньо представника.
Sparhawk

Відповіді:


7

Ви знаєте, як встановити змінну в оболонці, але для запису ви можете написати :

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

і всі програми, які ви починаєте з цього сеансу оболонки після цього, матимуть набір змінної.

Якщо ви хочете, щоб він був встановлений для кожної оболонки, яку ви починаєте після цього, додайте і цей рядок ~/.profile. У такому випадку він застосовуватиметься до всіх майбутніх оболонок, які ви починаєте, але не до тих, які зараз запущені.

.profileяк правило, буде працювати і для графічного інтерфейсу, але це може бути порушено конфігурацією системи та способом запуску. Це лише конфігурація користувача.


Якщо ви хочете, щоб він постійно встановлювався для кожного користувача, ви можете додати до нього завдання /etc/environment. Формат там дещо інший: просто KEY=VALв окремих рядках, без необхідного котирування і нічого іншого.

_JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=on

Це аналізується pam_envмодулем. Існує також файл для кожного користувача ~/.pam_environment, який має однаковий ефект лише для одного користувача. Для того, щоб зміни набрали чинності, потрібно вийти з системи та знову увійти. Змінні будуть встановлені для кожного майбутнього сеансу входу, як на консолі, так і в X.

Так само ви можете зробити файл /etc/profile.dіз exportзаявою в ньому, і він буде завантажений у кожен наступний сеанс будь-яким користувачем. Там, швидше за все, знайдуться деякі вже існуючі файли для моделювання, але тільки exportрядок вище буде добре.


Крім того, ви можете додати exportоператор у ~/.xinitrc(якщо ви використовуєте startx) ~/.xsession, або ~/.xprofile. KDE також підтримує каталог, ~/.kde/envякий може містити стільки файлів оболонки, скільки ви хочете, які містять exportоператори, як зазначено вище. Я, мабуть, віддав перевагу одному з інших підходів.


1
Чудова відповідь. Чітка і ретельна. FWIW Я використав /etc/environmentваріант, який мені здався найбільш логічним.
Sparhawk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.