ฉันจะตั้งค่าตัวเลือก Java ทั่วโลกได้ที่ไหน


10

ฉันมีความน่ากลัวแบบอักษรที่ไม่ถูกต้องแสดงผลในโปรแกรม Java เช่นและjabref rubymineสิ่งนี้สามารถแก้ไขได้โดยการวิ่ง

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref

ฉันเข้าใจว่าฉันสามารถส่งออกตัวเลือก Java เหล่านี้เป็นตัวแปรสภาพแวดล้อมและเปิดโปรแกรมจากบรรทัดคำสั่ง อย่างไรก็ตามมีวิธีการตั้งค่าตัวเลือกเหล่านี้ทั่วโลกเพื่อให้โปรแกรม Java ทั้งหมดรู้จักพวกเขาไม่ว่าพวกเขาจะเปิดตัว?

ฉันยังรู้ว่าฉันสามารถแก้ไข*.desktopไฟล์ทั้งหมดสำหรับโปรแกรม Java ของฉัน แต่ฉันกำลังมองหาโซลูชันระดับโลก

ฉันใช้java-7-openjdkกับ Arch Linux (FWIW สิ่งนี้เคยโอเคกับการติดตั้งjre7-openjdk-headless-infinality ที่เสียแล้ว)


สำหรับฉันมันใช้งานได้เฉพาะถ้าฉันเปิดแอพจากเทอร์มินัลถ้าฉันใช้แอปพลิเคชันตัวเปิดใช้งานจากแผง xfce หรือถ้าฉันใช้สคริปต์จากเดสก์ท็อปมันไม่ได้รับพารามิเตอร์ใด ๆ ทำไม??

@MARCOFranciosi ฉันไม่รู้ มันใช้งานได้ดีสำหรับฉัน คุณจะต้องแสดงความคิดเห็นเกี่ยวกับคำตอบเพื่อให้ผู้ตอบสามารถตอบได้แม้ว่าฉันจะไม่แน่ใจว่าคุณมีตัวแทนเพียงพอหรือไม่
Sparhawk

คำตอบ:


7

คุณรู้วิธีการตั้งค่าตัวแปรในเปลือก แต่สำหรับบันทึกคุณสามารถเขียน :

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

และโปรแกรมทั้งหมดที่คุณเริ่มจากเชลล์เซสชันนี้หลังจากนั้นจะมีชุดตัวแปร

หากคุณต้องการให้มันตั้งค่าสำหรับทุกเชลล์ที่คุณเริ่มหลังจากนั้นให้เพิ่มบรรทัด~/.profileนั้นด้วย ในกรณีดังกล่าวมันจะใช้กับเชลล์ในอนาคตทั้งหมดที่คุณเริ่ม แต่ไม่ว่าจะใช้เชลล์ใดในปัจจุบัน

.profileโดยทั่วไปจะใช้งานกับ GUI ได้เช่นกัน แต่อาจถูกทำลายโดยการกำหนดค่าระบบและวิธีการเริ่มต้นใช้งาน นี่คือการกำหนดค่าต่อผู้ใช้เท่านั้น


/etc/environmentหากคุณต้องการตั้งค่าสำหรับผู้ใช้ทุกคนทุกเวลาที่คุณสามารถเพิ่มการมอบหมายให้ รูปแบบจะแตกต่างกันเล็กน้อย: แค่KEY=VALแยกบรรทัดโดยไม่จำเป็นต้องมีข้อความและไม่มีสิ่งอื่นใด

_JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=on

นี่คือการแยกวิเคราะห์โดยpam_envโมดูล มี~/.pam_environmentไฟล์ต่อผู้ใช้เช่นกันซึ่งมีผลเหมือนกันสำหรับผู้ใช้เพียงคนเดียว ทั้งสองนี้ต้องออกจากระบบและกลับเข้ามาใหม่เพื่อให้การเปลี่ยนแปลงมีผล ตัวแปรจะถูกตั้งค่าสำหรับทุกเซสชันการล็อกอินในอนาคตทั้งที่คอนโซลและใน X

ในทำนองเดียวกันคุณสามารถสร้างไฟล์/etc/profile.dโดยมีexportคำสั่งอยู่ในนั้นและจะถูกโหลดลงในทุกเซสชันในอนาคตโดยผู้ใช้ใด ๆ อาจเป็นไปได้ว่ามีไฟล์ที่มีอยู่แล้วเพื่อสร้างโมเดล แต่เพียงexportบรรทัดด้านบนจะใช้ได้


หรือคุณสามารถเพิ่มexportคำสั่งใน~/.xinitrc(ถ้าคุณใช้startx) หรือ~/.xsession KDE ยังรองรับไดเรกทอรีที่สามารถเก็บไฟล์เชลล์ได้มากเท่าที่คุณต้องการซึ่งมีข้อความดังกล่าวข้างต้น ฉันอาจต้องการหนึ่งในวิธีการอื่น~/.xprofile~/.kde/envexport


1
คำตอบที่ดี ชัดเจนและทั่วถึง FWIW ฉันใช้/etc/environmentตัวเลือกซึ่งดูสมเหตุสมผลที่สุดสำหรับฉัน
Sparhawk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.