Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
作者 | [原创]使用java和shell脚本支持GUI模式/CLI模式切换 |
aegirsun
发贴: 4 积分: 0 |
于 2005-04-20 23:46
在Unix / Linux系统中,使用Java开发GUI程序,最常见的问题就是图形界面的可用性问题。编程人员通常希望将GUI界面显示给用户。但是,在Unix世界,并不是总能获得GUI (尤其是X-Windows)的支持,具体原因可能包括以下几点: 1. DISPLAY变量未设置或设置错误 2. 客户端不支持X-Windows (例如Windows的Telnet) 3. 未能有足够的权限 (xhost未给予足够权限) 为了解决这个问题,可以通过Unix的一些工具(Shell及xdpyinfo),自由切换GUI界面及CLI界面,达到尽量使用GUI界面,在不能显示GUI界面的情况下,显示CLI界面的目的。更多文章,请访问www.javashelf.com.cn。 以下的bash代码显示了xdpyinfo的使用方法。 echo $* | egrep -e "\-nodisplay" > /dev/null if [ $? -eq 0 ]; then unset DISPLAY extra_jvm_options="-Djava.awt.headless=true $extra_jvm_options" export extra_jvm_options else xdpyinfo > /dev/null 2>&1 if [ $? -ne 0 ]; then unset DISPLAY extra_jvm_options="-Djava.awt.headless=true $extra_jvm_options" export extra_jvm_options save_args=$* set -- "$save_args -nodisplay" fi fi java MY_CLASS $save_args 上面的例子中,xdpyinfo用来检测当前环境是否支持X-Windows。如果当前环境支持X-Windows,xdpyinfo将返回当前的X- Windows的配置情况。如果当前环境不支持X-Windows,xdpyinfo将报错。通过检测xdpyinfo的结果即可得知当前的环境是否支持 X-Windows. 如果不支持X-Windows,则可以向传入java的参数列表中加入-nodisplay参数。这样,只要再在java程序中,检测java传入参数是否有-nodisplay参数,即可切换是否使用GUI界面或CLI界面。 JAVA学习日子分享 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
3079 | [原创]使用java和shell脚本支持GUI模式/CLI模式切换 | aegirsun | 1100 | 2005-04-20 23:46 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |