首先,本文的开发环境为无网络的VMware CentOS7。建议可联网的开发者,直接使用yum命令安装相关RPM包。
本文目标:
1、在VMware虚拟机Linux CentOS7系统上(无网络连接),配置VNC(可视化工具)的运行环境,用于Swing界面的展示。
2、将IDEA中编写的Swing程序,打为Jar包,上传到虚拟机上,并运行。
VNC的环境需要下载以下两个包:
由于虚拟机无网络,所以首先要解决获取安装包的问题。本文使用的是repotrack下载命令,该命令的详细使用和安装可以参考这篇文章:linux在非联网、无网络环境下,使用yumdownload、reportrack方法安装rpm包。本文在此直接使用。
repotrack --download_path=/opt/temp/tigerVNC tigervnc-server
repotrack --download_path=/opt/temp/xorg-x11-xauth xorg-x11-xauth
将两个包上传到无网络的虚拟机上,本人放在同样的/opt/temp/目录路径下。
mkdir /opt/temp/tigerVNC
mkdir /opt/temp/xorg-x11-xauth
cd /opt/temp/trigerVNC
rpm -Uvh *.rpm --force --nodeps
执行同样的命令:
cd /opt/temp/xorg-x11-xauth
rpm -Uvh *.rpm --force --nodeps
第一次输入vncserver需要创建密码:
vncserver
成功后显示的 “localhost:1(root)” 是一个标识符,包含两部分:主机名和显示编号。
补充: 每次虚拟机重启,上一次会话号无法继续使用,需要重新执行vncserver请求新的会话号。此时可以使用端口删除命令(每输入一次vncserver就会创建一个端口,可以删除多余的),以下操作可以保证端口始终保持在1。
vncserver -kill :1
vncserver
service firewalld stop
到此在虚拟机上的vnc环境已经配置成功了。
软件在百度就可以下到,版本不限。本人是在:
ultravnc下载-2023最新版-远程监控工具 (yesky.com)
下载(可能会失效,直接百度关键词:UltraVNC下载。)
安装很简单,一直下一步到最后即可。
1、安装完成后点击vncviewer.exe应用程序,出现如下界面,需要输入:
首先要保证虚拟机上拥有Java运行环境。然后运行Jar
生成Jar包的方式可以参考以下两种:
生成带依赖Jar 包的两种常用方式:IDEA打包工具:Artifacts 和 maven-shade-plugin
java -jar -Djava.awt.headless=false 运行jar包的全路径
java程序报错:“main” java.awt.AWTError: Can’t connect to X11 window server using “:0.0” as the value of the DISPLAY variable.
出现该报错信息的解决方案可以参考以下链接:
出现:Can‘t connect to X11 window server using “:0.0“ as the value of the DISPLAY variable的解决方案
配置完认证令牌后,再次运行jar文件,程序虽然可以运行成功,但是又产生了中文无法识别的乱码问题。
由于本机是新安装的操作做系统,系统中可能本身任何的中文字体,所以需要将Windows上的中文字体上传到虚拟机中。具体过程可以参考这篇博文:
在Centos7中,启动基于Swing的Jar文件时,出现中文变成小方块、无法识别的解决方案
首先,需要配置VNC的环境,下载以下两个包:
其次,需要安装并配置UltraVNC;
最后,将打包的jar文件上传虚拟机并执行。