मैं वैश्विक जावा विकल्प कहां सेट कर सकता हूं?


10

मेरे पास जावा प्रोग्राम जैसे भयानक, अनुचित रूप से प्रस्तुत किए गए फोंट हैं jabrefऔर जैसे rubymine। इसे चलाकर ठीक किया जा सकता है

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref

मैं समझता हूं कि मैं इन जावा विकल्पों को पर्यावरण चर के रूप में निर्यात कर सकता हूं, और कमांड लाइन से प्रोग्राम लॉन्च कर सकता हूं। हालाँकि, विश्व स्तर पर इन विकल्पों को सेट करने का एक तरीका है, ताकि सभी जावा प्रोग्राम उन्हें पहचान सकें, चाहे वे कैसे भी लॉन्च किए जाएं?

मुझे यह भी पता है कि मैं *.desktopअपने जावा प्रोग्राम के लिए सभी फाइलों को संशोधित कर सकता हूं, लेकिन मैं एक वैश्विक समाधान की तलाश कर रहा हूं।

मैं java-7-openjdkआर्क लिनक्स पर उपयोग कर रहा हूं । (FWIW यह अब टूटे हुए jre7-openjdk-headless-infinalaced के साथ ठीक हुआ करता था।)


मेरे लिए यह केवल तभी काम करता है जब मैं टर्मिनल से एप्लिकेशन लॉन्च करता हूं, अगर मैं xfce पैनल से एप्लिकेशन लॉन्चर का उपयोग करता हूं या यदि मैं डेस्कटॉप से ​​स्क्रिप्ट का उपयोग करता हूं तो इसे कोई पैरामीटर नहीं मिलता है। क्यों??

@MARCOFranciosi मुझे नहीं पता। यह मेरे लिए ठीक काम करता है। आपको उत्तर पर टिप्पणी करनी होगी ताकि वे उत्तर देने वाले का जवाब दे सकें, हालांकि मुझे यकीन नहीं है कि आपके पास अभी तक पर्याप्त प्रतिनिधि है।
स्पार्कवॉक

जवाबों:


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में बयान जोड़ सकते हैं । केडीई एक निर्देशिका का भी समर्थन करता है , जिसमें जितनी चाहें उतनी शेल फाइलें हो सकती हैं, जिनमें ऊपर दिए गए कथन होते हैं । मैं शायद अन्य दृष्टिकोणों में से एक को पसंद करूंगा।~/.xinitrcstartx~/.xsession~/.xprofile~/.kde/envexport


1
बहुत बढ़िया जवाब। स्पष्ट और संपूर्ण। एफडब्ल्यूआईडब्ल्यू मैंने /etc/environmentविकल्प का उपयोग किया , जो मुझे सबसे अधिक तर्कसंगत लगा।
स्पार्कहॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.