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 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再安装一次
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@autodl-container-011d409f64-3952354b:~# ps -ef | grep vnc
root       1191   1129  0 19:49 pts/0    00:00:00 grep --color=auto vnc
root@autodl-container-011d409f64-3952354b:~# rm -rf /tmp/.X1*
root@autodl-container-011d409f64-3952354b:~# ps -ef | grep vnc
root       1197   1129  0 19:49 pts/0    00:00:00 grep --color=auto vnc
root@autodl-container-011d409f64-3952354b:~# 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 6006Desktop 'TurboVNC: autodl-container-011d409f64-3952354b:1 (root)' started on display autodl-container-011d409f64-3952354b:1Starting applications specified in /root/.vnc/xstartup.turbovnc
Log file is /root/.vnc/autodl-container-011d409f64-3952354b:1.logroot@autodl-container-011d409f64-3952354b:~# ps -ef | grep vnc
root       1209      1  3 19:49 pts/0    00:00:00 /opt/TurboVNC/bin/Xvnc :1 -desktop TurboVNC: autodl-container-011d409f64-3952354b:1 (root) -httpd /opt/TurboVNC/bin//../java -auth /root/.Xauthority -geometry 1920x1080 -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@autodl-container-011d409f64-3952354b:~# 

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@region-1.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 端口转发到远程机器(region-1.autodl.com)上的 127.0.0.1 地址的 6006 端口。这样做的结果是,如果你在本地计算机上访问 6006 端口,流量将通过 SSH 隧道发送到远程机器的 6006 端口。
root@region-1.autodl.com -p 37881: 这部分是 SSH 连接的目标地址和端口。使用用户 root 连接到 region-1.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 cv2h = 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远程桌面改进(显示桌面环境)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/9358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python实现背单词程序

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 背单词是学习英语的一个重要环节,它有很多好处,以下是其中一些主要的好处: 提高词汇量

机器学习各个算法的优缺点!(下篇) 建议收藏。

上篇地址:机器学习各个算法的优缺点!(上篇) 建议收藏。-CSDN博客 直接进入主题。 目录 6.降维算法 7.聚类算法 8.贝叶斯算法 9.人工神经网络 10.深度学习 谢谢观看。 6.降维算法 降维算法是一类用于减少数据维度的技术。 …

C++容器——stack

stack容器 C的std::stack容器是一个基于适配器模板类实现的容器适配器,它提供了一种后进先出的数据结构,即栈。 特点: 1.后进先出:元素在栈容器中按照后进先出的顺序管理,最后放入的元素将会最先被取出。 2.只能从栈…

盲盒一番赏小程序:探索未知,开启神秘宝藏之旅

开启神秘之门,探索未知的乐趣 在繁忙的生活中,我们渴望一丝丝未知带来的惊喜与乐趣。盲盒一番赏小程序,正是为了满足您这种探索未知的欲望而诞生。它不仅仅是一个购物平台,更是一个充满神秘与惊喜的宝藏世界。 精选好物&#xf…

诊所医院超常规运营管理思维课程

本课程旨在引领医疗机构管理者超越传统思维,探索创新运营管理策略。学员将学习领先的医疗管理理念、创新的运营模式,以及如何应对挑战和变革。课程内容涵盖战略规划、资源优化、服务创新等,帮助管理者提升运营效率,提供更优质的医…

【SpringBoot整合系列】SpringBoot整合RabbitMQ-基本使用

目录 SpringtBoot整合RabbitMQ1.依赖2.配置RabbitMQ的7种模式1.简单模式(Hello World)应用场景代码示例 2.工作队列模式(Work queues)应用场景代码示例手动 ack代码示例 3.订阅模式(Publish/Subscribe)应用…

远程开机与远程唤醒BIOS设置

远程开机与远程唤醒BIOS设置 在现代计算机应用中,远程管理和控制已成为许多企业和个人的基本需求。其中,远程开机和远程唤醒是两项非常实用的功能。要实现这些功能,通常需要在计算机的BIOS中进行一些特定的设置。以下是对远程开机和远程唤醒…

VS2019下使用MFC完成科技项目管理系统

背景: (一)实验目的 通过该实验,使学生掌握windows程序设计的基本方法。了解科技项目组织管理的主要内容和管理方面的基本常识,熟练应用数据库知识,通过处理过程对计算机软件系统工作原理的进一步理解&…

Python批量备份华为设备配置到FTP服务器

Excel表格存放交换机信息: 备份文件夹效果图: Windows系统配置计划任务定时执行python脚本: Program/script:C:\Python\python.exe Add arguments (optional): D:\Python_PycharmProjects\JunLan_pythonProje…

verilog中输入序列不连续的序列检测

编写一个序列检测模块,输入信号端口为data,表示数据有效的指示信号端口为data_valid。当data_valid信号为高时,表示此刻的输入信号data有效,参与序列检测;当data_valid为低时,data无效,抛弃该时…

如何通过wifi网络将串口数据发送到多个设备

摘要:当lora电台的速率无法满足高速传输时,可以考虑用“串口服务器”。本文介绍一下如何使用TP-LINK的TL-CPE300D实现一对多的数据发送。 当前也有使用lora电台的,但是lora电台支持的速率有限,可能最大支持到9600,甚至…

TC3xx MTU概述(1)

目录 1.MTU基本功能 2.MBIST 3.小结 1.MTU基本功能 在TC3xx中,MTU(Memory Unit Test)被用来管理控制芯片内部各种RAM的测试、初始化和数据完整性检查。 既然MTU主要是管理和控制,那干活的想必另有他人。所以在该平台中,我们可以看到SRAM…

Electron-Vue 脚手架避坑实录,兼容Win11,升级electron22,清理控制台错误

去年的还是有用的,大家继续看,今年再补充一些Electron-Vue 异常处理方案 M1 和 Window10_electron异常处理-CSDN博客 代码gitee.com地址 electron-demo: electron 22 初始代码开发和讲解 升级electron为22版本(这个版本承上启下&#xff0c…

怎么用git在暂存区(stage)中移除不需要提交(commit)的文件?

2024年5月9日&#xff0c;周四上午 非常简单&#xff0c;用下面这条命令就可以了 git rm --cached <file>注&#xff1a;这条命令不会把文件从文件夹中删除&#xff0c;只会把文件从暂存区中移除出去 实战

《Python编程从入门到实践》day23

# 昨日知识点回顾 操控飞船移动发射子弹&#xff0c;删除屏幕之外的子弹 #今日知识点学习 第13章 外星人 13.1 项目回顾 项目添加新功能前审核既有代码&#xff0c;对混乱或低效的代码进行清理 13.2 创建第一个外星人 13.2.1 创建Alien类 # alien.py imp…

影响视频视觉质量的因素——各类视觉伪影

模糊效应&#xff08;Blurring Artifact&#xff09; 图像模糊&#xff08;blurring&#xff09;&#xff1a;平滑图像的细节和边缘产生的现象&#xff0c;模糊对于图像来说&#xff0c;是一个低通滤波器&#xff08;low-pass filter&#xff09;。一般而言&#xff0c;用户更…

商品上新业务状态机接入实践

一、商品上新业务介绍 商品上新即为在得物平台上架一个新的商品&#xff0c;一个完整的商品上新流程从各种不同的来源渠道提交新品申请开始&#xff0c;需要历经多轮不同角色的审核&#xff0c;主要包括&#xff1a; 选品审核&#xff1a;根据新品申请提交的资料信息判定是否符…

Docker 怎么将映射出的路径设置为非root用户权限

在Docker中&#xff0c;容器的根文件系统默认是由root用户拥有的。如果想要在映射到宿主机的路径时设置为非root用户权限&#xff0c;可以通过以下几种方式来实现&#xff1a; 1. 使用具有特定UID和GID的非root用户运行容器&#xff1a; 在运行容器时&#xff0c;你可以使用-u…

17 空闲空间管理

目录 假设 底层机制 分割与合并 追踪已分配空间的大小 嵌入空闲列表 让堆增长 基本策略 最优匹配 首次匹配 下次匹配 其他方式 分离空闲列表 伙伴系统 小结 分页是将内存成大小相等的内存块&#xff0c;这样的机制下面&#xff0c;很容易去管理这些内存&#xff0c…

Word表格标题间距大修改环绕为无仍无法解决

1.选中表格&#xff0c;右键选择【表格属性】 2.选择【环绕】&#xff0c;此时【定位】可以被启用&#xff08;如下&#xff09;&#xff0c;点击进入窗口 3.修改参数和下面一模一样 注意&#xff1a;【垂直】那里的修改方式是先选段落&#xff0c;后在位置输入0