के लिए कक्षाओं को अलग दिखने और महसूस करने के लिए मैंने देखा कि जावा अलग-अलग रूपों का प्रस्ताव करता है और रूट और गैर-रूट उपयोगकर्ताओं के लिए कक्षाएं महसूस करता है। मैं यह समझने की कोशिश कर रहा हूं कि एलएएफ को कैसे सुसंगत बनाना है। इसके अलावा, यह भी एक उपयोगकर्ता/जड़ के भीतर असंगत है: निर्भर करता है कि उपयोगकर्ता/जड़ में लॉग इन पर:लिनक्स में जावा - रूट और गैर-रूट
नमूना कोड (संकलित और laf.jar
में पैक):
import javax.swing.UIManager;
public class laf {
public static void main(java.lang.String[] args) {
try {
System.out.print(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
}
}
परिदृश्य में 1 लॉग्स नियमित उपयोगकर्ता के रूप (जीयूआई मोड में) मशीन
नमूना निर्गम (के रूप में उपयोगकर्ता)
[[email protected] Downloads]$ java -classpath laf.jar laf
com.sun.java.swing.plaf.gtk.GTKLookAndFeel
नमूना उत्पादन
नमूना निर्गम (के रूप में जड़ (स्विच जड़su
के माध्यम से करने के लिए)
[[email protected] Downloads]# java -classpath ./laf.jar laf
javax.swing.plaf.metal.MetalLookAndFeel
मशीन में परिदृश्य 2 लॉग्स (जीयूआई मोड में) रूट के रूप में)
[[email protected] Downloads]# java -classpath ./laf.jar laf
com.sun.java.swing.plaf.gtk.GTKLookAndFeel
परिदृश्य 3 नियमित उपयोगकर्ता के रूप मशीन में लॉग SSH के माध्यम से (ऊपर # 1 परिदृश्य के रूप में समान है, लेकिन इस मामले में - एक ही एलएएफ)
नमूना निर्गम (के रूप में उपयोगकर्ता)
[[email protected] Downloads]$ java -classpath laf.jar laf
javax.swing.plaf.metal.MetalLookAndFeel
नमूना उत्पादन
[[email protected] Downloads]# java -classpath ./laf.jar laf
javax.swing.plaf.metal.MetalLookAndFeel
सॉफ्टवेयर ver (जड़ करने के लिए स्विच) वजहें:
[[email protected] Downloads]# java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr9fp10-20150708_01(SR9 FP10))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20150701_255667 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR9_20150701_0050_B255667
JIT - tr.r11_20150626_95120.01
GC - R26_Java726_SR9_20150701_0050_B255667_CMPRSS
J9CL - 20150701_255667)
JCL - 20150628_01 based on Oracle jdk7u85-b15
[[email protected] Downloads]# cat /etc/redhat-release
Red Hat Enterprise Linux Workstation release 6.7 (Santiago)
यह उपयोगकर्ता के पर्यावरण में एक अंतर से आ सकता है; विभिन्न परिदृश्यों के लिए 'env' के परिणाम को देखें और देखें, या जावा में,' System.getenv() 'के परिणाम का उपयोग करें। – fge
क्या आप अपनी विभिन्न सेटिंग्स में जांच सकते हैं, भले ही आपके पास अपने पर्यावरण में 'GNOME_DESKTOP_SESSION_ID' चर हो? – RealSkeptic
1) उपयोगकर्ता के रूप में यह कहा कि "इस-है-depricated" 2) के बाद "सु -" रूट के रूप में यह खाली उत्पादन –