Dove posso impostare le opzioni Java globali?


10

Ho caratteri orribili, resi in modo improprio in programmi Java come jabrefe rubymine. Questo può essere risolto eseguendo

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref

Comprendo che potrei esportare queste opzioni Java come variabili di ambiente e avviare i programmi dalla riga di comando. Tuttavia, c'è un modo per impostare queste opzioni a livello globale, in modo che tutti i programmi Java le riconoscano, indipendentemente da come vengono lanciate?

So anche che potrei modificare tutti i *.desktopfile per i miei programmi Java, ma sto cercando una soluzione globale.

Sto usando java-7-openjdksu Arch Linux. (FWIW questo andava bene con l'ormai rotto jre7-openjdk-headless-infinality installato.)


Per me funziona solo se avvio l'app dal terminale, se utilizzo il programma di avvio dell'applicazione dal pannello xfce o se utilizzo uno script dal desktop non ottiene alcun parametro. Perché??

@MARCOFranciosi Non lo so. Funziona bene per me. Dovrai commentare la risposta in modo che possano rispondere, anche se non sono sicuro che tu abbia ancora abbastanza rappresentante.
Sparhawk,

Risposte:


7

Sai come impostare la variabile in una shell, ma per il record puoi scrivere :

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

e tutti i programmi che avvierai da questa sessione di shell dopo che avranno impostato la variabile.

Se vuoi che sia impostato per ogni shell che inizi in seguito, aggiungi anche quella linea ~/.profile. In tal caso si applicherà a tutte le future shell che avvierai, ma non a quelle attualmente in esecuzione.

.profilefunzionerà generalmente anche per la GUI, ma ciò può essere interrotto dalla configurazione del sistema e da come si avviano le cose. Questa è solo una configurazione per utente.


Se lo desideri impostato per ogni utente in qualsiasi momento, puoi aggiungere un compito a /etc/environment. Il formato è un po 'diverso lì: solo KEY=VALsu righe separate, senza virgolette richieste e nient'altro.

_JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=on

Questo è analizzato dal pam_envmodulo. Esiste anche un ~/.pam_environmentfile per utente , che ha lo stesso effetto per un solo utente. Entrambi richiedono il logout e il back in per rendere effettive le modifiche. Le variabili verranno impostate per ogni sessione di accesso futura, sia sulla console che in X.

Allo stesso modo, puoi creare un file /etc/profile.dcon exportun'istruzione in esso e verrà caricato in ogni sessione futura da qualsiasi utente. Probabilmente ci saranno alcuni file preesistenti per modellarlo, ma solo la exportriga sopra andrà bene.


In alternativa, è possibile aggiungere l' exportistruzione in ~/.xinitrc(se si utilizza startx) ~/.xsession, o ~/.xprofile. KDE supporta anche una directory ~/.kde/envche può contenere tutti i file shell che vuoi, che contengono exportistruzioni come sopra. Preferirei probabilmente uno degli altri approcci.


1
Bella risposta. Chiaro e completo. FWIW ho usato l' /etc/environmentopzione, che mi è sembrata la più logica.
Sparhawk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.