跳转至

远程桌面

由于远程桌面的配置繁琐以及体验一般,如果您不是强需求,推荐您对代码做相应调整(比如opencv的imshow改为imsave保存图片后浏览)

VNC(Virtual Network Computing )是一种图形化的桌面共享协议,它使用远程帧缓冲协议 (RFB) 来远程控制另一台计算机,它将键盘和鼠标事件从一台计算机传输到另一台计算机,通过网络向另一个方向转发图形屏幕更新。 对于一般性的GUI程序运行需求,我们其实可以借助VNC在不安装完整桌面环境的情况下方便快捷的实现,下面我们介绍如何借助turbovnc工具,在实例中运行一个GUI程序并在本地电脑进行显示:

Step.1

安装VNC和必要的一些图形显式库:

apt update && apt install -y libglu1-mesa-dev mesa-utils xterm xauth x11-xkb-utils xfonts-base xkb-data libxtst6 libxv1

# 安装libjpeg-turbo和turbovnc
export TURBOVNC_VERSION=2.2.5
export LIBJPEG_VERSION=2.0.90
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/libjpeg-turbo/libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/turbovnc_${TURBOVNC_VERSION}_amd64.deb
dpkg -i libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
dpkg -i turbovnc_${TURBOVNC_VERSION}_amd64.deb
rm -rf *.deb

# 启动VNC服务端,这一步可能涉及vnc密码配置(注意不是实例的账户密码)。另外如果出现报错xauth未找到,那么使用apt install xauth再安装一次
USER=root vncserver :1 -desktop X -auth /root/.Xauthority -geometry 1920x1080 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -fp /usr/share/fonts/X11/misc/,/usr/share/fonts -rfbport 6006

# 启动您想启动且已经安装成功的GUI程序,例如glxgears、firefox等
firefox
Step.2

以上启动Server时,手动设置了rfbport=6006端口,那么可以通过实例提供的「自定义服务」的地址来访问,「自定义服务」会将实例中的6006端口暴露到公网中,公网的访问地址查看方法为:

image-20220829123824778

点击该自定义服务,会在浏览器中获取例如http://region-4.autodl.com:66666的地址,那么下面使用客户端连接时,地址请填写:region-4.autodl.com:66666

在您的local电脑使用turbovnc客户端进行连接,地址为上述获取的地址,一切顺利的话,输入密码就能看到VNC连接成功后的图形化界面,以及正在运行在实例中的GUI程序;另外这里提供不同系统turbovnc客户端的下载链接(也可以到turbovnc官网下载)

Ubuntu: http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/turbovnc_2.2.5_amd64.deb
MacOS: http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/TurboVNC-2.2.5.dmg
Windows: http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/TurboVNC-2.2.5-x64.exe

img