云计算百科
云计算领域专业知识百科平台

AutoDL服务器远程桌面

文章目录

  • 1.安装VNC和必要的一些图形显式库:
  • 2.SSH隧道
    • 2.1.本地安装openssh服务器
    • 2.2.服务开启
    • 2.3.显示当前安装的 SSH 版本信息
    • 2.3.设置一个 SSH 隧道
  • ==注意
  • 3.VNC Viewer客户端登录
  • 4.测试
  • 5.参考

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


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

# 安装基本的依赖包
apt update && apt install y libglu1mesadev mesautils xterm xauth x11xkbutils xfontsbase xkbdata libxtst6 libxv1

# 安装libjpegturbo和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 libjpegturboofficial_${LIBJPEG_VERSION}_amd64.deb
dpkg i turbovnc_${TURBOVNC_VERSION}_amd64.deb
rm rf *.deb

# 启动VNC服务端,这一步可能涉及vnc密码配置(注意不是实例的账户密码)。另外如果出现报错xauth未找到,那么使用apt install xauth再安装一次
rm rf /tmp/.X1* # 如果再次启动,删除上一次的临时文件,否则无法正常启动
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

注意:启动VNC服务

root@autodlcontainer011d409f643952354b:~# ps ef | grep vnc
root 1191 1129 0 19:49 pts/0 00:00:00 grep color=auto vnc
root@autodlcontainer011d409f643952354b:~# rm rf /tmp/.X1*
root@autodlcontainer011d409f643952354b:~# ps ef | grep vnc
root 1197 1129 0 19:49 pts/0 00:00:00 grep color=auto vnc
root@autodlcontainer011d409f643952354b:~# 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

Desktop 'TurboVNC: autodlcontainer011d409f643952354b:1 (root)' started on display autodlcontainer011d409f643952354b:1

Starting applications specified in /root/.vnc/xstartup.turbovnc
Log file is /root/.vnc/autodlcontainer011d409f643952354b:1.log

root@autodlcontainer011d409f643952354b:~# ps ef | grep vnc
root 1209 1 3 19:49 pts/0 00:00:00 /opt/TurboVNC/bin/Xvnc :1 desktop TurboVNC: autodlcontainer011d409f643952354b:1 (root) httpd /opt/TurboVNC/bin//../java -auth /root/.Xauthority -geometry 1920×1080 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -x509cert /root/.vnc/x509_cert.pem -x509key /root/.vnc/x509_private.pem -rfbport 5901 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts -deferupdate 1 -dridir /usr/lib/x86_64-linux-gnu/dri -registrydir /usr/lib/xorg -desktop X -auth /root/.Xauthority -rfbwait 120000 -rfbport 6006
root 1400 1129 0 19:49 pts/0 00:00:00 grep color=auto vnc
root@autodlcontainer011d409f643952354b:~#


2.SSH隧道

2.1.本地安装openssh服务器

右键此电脑→属性→应用→可选功能→添加可选功能

在这里插入图片描述

找到OpenSSH服务器(注意是服务器不是OpenSSH客户端) 在这里插入图片描述

2.2.服务开启

Win+S,键入服务,打开本地服务界面,找到OpenSSH SSH Server,启动方式改为自动

在这里插入图片描述

cmd或Windows PowerShell里键入net stop sshd,net start sshd 重启本地的 ssh 服务即可。

如提示下图可管理员权限运行 在这里插入图片描述

2.3.显示当前安装的 SSH 版本信息

在这里插入图片描述 ssh -V 命令在 SSH(Secure Shell)客户端中用来显示当前安装的 SSH 版本信息。这个命令提供了关于 SSH 客户端版本的详细信息,包括版本号和使用的加密库等。

OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2 表示:

  • OpenSSH_for_Windows_8.1p1:这是你在 Windows 系统上使用的 OpenSSH 版本号。OpenSSH 是一种广泛使用的开源 SSH 工具,用于远程管理和安全通讯。
  • LibreSSL 3.0.2:这是与 OpenSSH 配合使用的加密库版本号。LibreSSL 是一个从 OpenSSL 发展来的开源加密库,用于提供加密功能和安全通讯。

2.3.设置一个 SSH 隧道

在本地的Terminal中执行命令

ssh CNgv L 6006:127.0.0.1:6006 root@region1.autodl.com p 37881

其中6006:127.0.0.1:6006指代理AutoDL主机vncserver的6006端口到本地的6006端口,root@region-1.autodl.com -p 37881为登陆指令的访问地址与端口。

执行上述指令后需要输入登陆密码登陆AutoDL主机,保持该输入该命令后Terminal的开启状态,关闭后会杀掉进程,导致VNC Viewer登陆失败。

在这里插入图片描述

C: 启用压缩选项。这有助于减少通过 SSH 隧道传输的数据量,可能会提升速度,特别是在带宽有限的情况下。
N: 表示 SSH 客户端不执行远程命令,只用于转发端口。这在只需要端口转发而不需要执行其他命令的场景中非常有用。
g: 允许远程主机连接到本地转发的端口。这通常在你希望其他机器能访问通过你机器转发的服务时使用。
v: 启用详细模式,可以显示更多的调试信息。这对于诊断连接问题非常有帮助。
L 6006:127.0.0.1:6006: 这是本地端口转发的设置。它意味着将本地计算机上的 6006 端口转发到远程机器(region1.autodl.com)上的 127.0.0.1 地址的 6006 端口。
这样做的结果是,如果你在本地计算机上访问 6006 端口,流量将通过 SSH 隧道发送到远程机器的 6006 端口。
root@region1.autodl.com p 37881: 这部分是 SSH 连接的目标地址和端口。使用用户 root 连接到 region1.autodl.com,通过端口 37881

==注意

输入密码时最好手动输入密码

在这里插入图片描述


3.VNC Viewer客户端登录

在本地下载VNC Viewer客户端,在VNC Server栏输入127.0.0.1:6006,点击OK即可登陆远程桌面,这里还需要输入前面在AutoDL主机Terminal中启动VNC服务器时设置的密码。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述


4.测试

在终端中添加环境变量:export DISPLAY=:1,然后再执行您的命令(注意在同一终端执行) 在这里插入图片描述 可以使用以下python代码进行简单验证:

import numpy as np
import cv2

h = 500
w = 500
img = 255 * np.ones((h ,w , 3), dtype=np.uint8)
cv2.imshow("", img)
cv2.waitKey(0)

如果在本地的vnc client显示图片,证明安装和启动过程无误


5.参考

AutoDL帮助文档-远程桌面 关于如何实现autodl服务器的可视化桌面 AutoDL远程桌面改进(显示桌面环境)


赞(0)
未经允许不得转载:网硕互联帮助中心 » AutoDL服务器远程桌面
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!