在企业级项目的开发中,尤其是分布式项目,经常直接在服务器上进行开发工作,操作系统环境一般是Centos 7。普遍状况是,在服务器上安装IDE 开发工具,通过
Xshell等工具远程启动,本地通过虚拟桌面打开IDE,使用体验是非常差的,IDE 卡顿严重,及其影响开发体验。
解决方案:在Centos服务器上安装VNC(virtual network computing) Server。参考书可见:鸟哥的linux私房菜-服务器架设篇
VNC Server会在服务端启动一个监听用户要求的端口,端口号一般在5901-5910之间。(大概就是说,最多开10个虚拟桌面)
# CentOS安装VNC # 可参考https://linux.cn/article-5335-1.html yum -y install @x11 @gnome tigervnc-server yum -y remove gnome-initial-setup #取消GNOME引导设置程序 yum -y remove PackageKit #取消YUM源后台自动更新 systemctl set-default graphical # 设置默认启动runlevel 5 systemctl isolate graphical.target # 启动runlevel5 systemctl enable vncserver@:1 # 对应端口号5901,注意避免与虚拟机端口号冲突 # 修改service文件,以root用户为例 vim /etc/systemd/system/multi-user.target.wants/vncserver@:1.service ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid systemctl daemon-reload #重新加载systemd服务配置文件 vncpasswd #设置当前用户密码 systemctl start vncserver@:1 # 防火墙放行TCP 5901端口或直接禁用防火墙 systemctl stop firewalld systemctl disable firewalldsystemctl
enable
vncserver@:1
# 对应端口号5901, 注意避免与虚拟机端口号冲突
systemctl
enable
vncserver@:2
# 对应端口号5902(如果要创建两个虚拟桌面的话)
# 修改service文件,以root用户为例
vim
/etc/systemd/system/multi-user
.target.wants
/vncserver
@:1.service
# 添加下面两行
ExecStart=
/usr/sbin/runuser
-l root -c
"/usr/bin/vncserver %i"
PIDFile=
/root/
.vnc/%H%i.pid
systemctl daemon-reload
#重新加载systemd服务配置文件
vncpasswd
#设置当前用户密码
systemctl start vncserver@:1
# 防火墙放行TCP 5901端口或直接禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
# 在本地电脑上下载并安装vnc viewer(client),下载地址如下
https:
//www
.tightvnc.com
/download
.html
# 输入ip:port 连接服务器
例:192.168.122.128:5901
例:192.168.122.128:5902
# 调整分辨率 Applications>System Tools>Settings>Devices>Displays>Desolution
# 禁用黑屏 Applications>System Tools>Settings>Power>Blank screen