Linux Headless mode

1.什么是Headless mode?Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。2.何时使用和headless mode?Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。3.如何使用和Headless mode?一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来:

System.setProperty("java.awt.headless","true");

在Web开发中使用验证码时可能遇到的问题:

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

解决方法:

给Tomcat的“CATALINA_OPTS”这个环境变量添加的一个JVM虚拟机参数:-Djava.awt.headless=true

在Tomcat7的catalina.sh文件中我们可以看到如下建议:

推荐我们在bin目录下重新建立一个setenv.sh 脚本文件,将环境变量的自定义设置保存在其中。

>touch setenv.sh

>vi setenv.sh

编写如下内容并保存:

#!/bin/sh

#filename:setenv.sh

CATALINA_OPTS="$CATALINA_OPTS -Djava.awt.headless=true"

重新启动

./startup.sh

如何判断这个脚本文件setenv.sh是否被执行:

这段shell脚本保证如果脚本文件可读那么将执行之

如何判断-Djava.awt.headless=true是否生效

查看所有的JVM进程信息

>jps -l

5530就是tomcat运行的JVM进程ID

查看这个进程的参数信息,并从信息中筛选headless字符串

>jinfo 5530 |grep headless

走自己的路,让别人说去吧

Linux Headless mode

相关文章:

你感兴趣的文章:

标签云: