Linux中的Java – root和non-root的不同外观类

Linux中的Java – root和non-root的不同外观类,第1张

概述我注意到 Java为root用户和非root用户提出了不同的外观和感觉类.我试图了解如何使LAF保持一致.而且,即使在用户/ root中也不一致:取决于用户/ root登录的方式: 示例代码(在laf.jar中编译和打包): import javax.swing.UIManager;public class laf { public static void main(java.lang 我注意到 Java为root用户和非root用户提出了不同的外观和感觉类.我试图了解如何使LAF保持一致.而且,即使在用户/ root中也不一致:取决于用户/ root登录的方式:

示例代码(在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以普通用户身份登录到计算机(在GUI模式下)

样本输出(以用户身份)

[xxx@yyy Downloads]$java -classpath laf.jar lafcom.sun.java.swing.plaf.gtk.GTKLookAndFeel

样本输出(通过su切换到root)

[root@yyy Downloads]# java -classpath ./laf.jar lafjavax.swing.plaf.Metal.MetalLookAndFeel

方案2以root身份登录到计算机(在GUI模式下)

示例输出(以root身份)

[root@yyy Downloads]# java -classpath ./laf.jar lafcom.sun.java.swing.plaf.gtk.GTKLookAndFeel

场景3作为普通用户通过SSH登录到计算机(类似于上面的场景#1,但在这种情况下 – 相同的LAF)

样本输出(以用户身份)

[xxx@yyy Downloads]$java -classpath laf.jar lafjavax.swing.plaf.Metal.MetalLookAndFeel

示例输出(切换到root)

[root@yyy Downloads]# java -classpath ./laf.jar lafjavax.swing.plaf.Metal.MetalLookAndFeel

软件版本:

[root@yyy Downloads]# java -versionjava 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_B255667JIT  - tr.r11_20150626_95120.01GC   - R26_Java726_SR9_20150701_0050_B255667_CMPRSSJ9CL - 20150701_255667)JCL - 20150628_01 based on Oracle jdk7u85-b15[root@yyy Downloads]# cat /etc/redhat-release Red Hat Enterprise linux Workstation release 6.7 (Santiago)
解决方法 getSystemLookAndFeelClassname的第一行是:

public static String getSystemLookAndFeelClassname() {    String systemLAF = AccessController.doPrivileged(                         new GetPropertyAction("swing.systemlaf"));

因此您可以使用用户的JAVA_OPTS进行设置

-Dswing.systemlaf = javax.swing.plaf.Metal.MetalLookAndFeel中

默认情况下.

将其添加到用户的.rc-file:

set JAVA_OPTS=-Dswing.systemlaf=javax.swing.plaf.Metal.MetalLookAndFeelexport JAVA_OPTS

问候

总结

以上是内存溢出为你收集整理的Linux中的Java – root和non-root的不同外观类全部内容,希望文章能够帮你解决Linux中的Java – root和non-root的不同外观类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1029662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存