VNC连接服务器实现远程桌面 --以AutoDL云服务器为例
针对本地机为Windows
地址:autodl官网
云服务器租显卡跑些小模型很方便,但是当你想做可视化的时候,可能会遇到麻烦,云服务器没有显示输出界面,无法可视化一些检测任务的结果,或者可以下载结果到本地搭建环境跑可视化推理,但是,有些项目的可视化在win下不好安装依赖包
所以使用远程桌面连接云服务器,相当于本地以可视化界面直接操作云服务器
进入实例,打开终端,安装桌面环境
官方文档:远程桌面
Step.1
依次执行下列语句
更新工具:
apt-get update && apt-get upgrade -y
安装桌面:
apt-get install xorg xdm xfce4
安装依赖:
# 安装基本的依赖包 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再安装一次 #在6006端口启动VNC服务端 USER=root /opt/TurboVNC/bin/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 # 检查是否启动,如果有vncserver的进程,证明已经启动 ps -ef | grep vnc
# 如果再次启动,删除上一次的临时文件,否则无法正常启动,jupyter无法正常开启 #务必记得 rm -rf /tmp/.X1*
下面是第一次启动时候会出现的提示:You will require a password to access your desktops.
第一次输密码要6位,短了则重启动重输入一个,
然后符合要求则会跳出第二个提示:Would you like to enter a view-only password (y/n)?
第二次的密码别输入,直接选择 n,然后回车
Step.2
以上启动Server时,手动设置了rfbport=6006端口,下面通过SSH隧道将实例中的6006端口代理到本地
实例中启动服务,上面已完成
在本地电脑的终端(cmd / powershell / terminal等)中执行代理命令:
ssh -CNg -L 6006:127.0.0.1:6006 root@123.456.789.666 -p 56789
需要改格式,根据自己的实例访问地址和端口改,相应替换
这个地方复制查询
SSH指令复制出来为形如该格式的命令:ssh -p 48332 root@region-3.autodl.com
在ssh -p 98765 root@region-3.autodl.com命令中, 各个参数的含义为: 用户名:root 主机host: region-3.autodl.com 端口号:98765
按照格式改成比如:sh -CNg -L 6006:127.0.0.1:6006 root@connect.beijinga.seetacloud.com -p 88888
关闭后重启也是这条指令
执行完这条ssh命令,输入密码,密码是不会显示的,输完回车。没有任何日志是正常的,只要没有要求重新输入密码或错误退出
输入该命令后保持Terminal的开启状态,关闭后会杀掉进程,导致VNC Viewer登陆失败
VNCviewer使用
下载地址
完成上述步骤后使用vnc客户端连接,地址请填写:127.0.0.1:6006
可以直接本地以图形界面操控云服务器
可能的问题解决方案:
1、黑屏:可能没有自动启动桌面,start xfce4
启动桌面,另外需要先执行export DISPLAY=:1
,在启动桌面,遇到黑屏,先重启服务器,重启基本能解决
2、关服务器前最好关闭服务,ps -ef | grep vnc
,查看vnc进程,通过指令kill -9 xxxxx
来强制杀死该进程,再执行ps -ef | grep vnc
确认vncserver的进程已经关闭,xxxxx为进程号,替换