web远程访问Windows桌面

本文介绍了如何使用开源代码通过Web浏览器实现远程桌面连接Windows的方法,包括利用node-rdp的mstsc.js和noVnc。详细步骤涉及配置Windows服务器的远程桌面服务、安装node.js、设置防火墙规则以及运行websockify。还提到在执行vncserver时可能遇到的UAC权限问题,并推荐使用Windows服务方式解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、远程桌面的方法

Windows远程桌面连接可以使用微软自带的mstsc,还有比较常用的teamviewer、toDesk、向日葵和vnc等。其中teamviewer是商用软件,现在需注册登录,个人感觉不是很好用。

这些都是客户端桌面软件,这边要说的是,采用web浏览器的方式连接远程桌面。

二、web远程方案

这边要说的是,使用开源代码的方式实现:

mstsc,用的是node框架,其使用的是node-rdp。github地址:GitHub - citronneur/mstsc.js: A pure Node.js Microsoft Remote Desktop Protocol (RDP) Client 该方案在Windows server下会出现各种问题,远程桌面连接时会被中断,node-rdpjs里面的lay.js也问题,需要替换到特定的commit(9d4058d600aa3b6159fc5a1e2de20a0511d9c412)下。

使用vnc,需要使用noVnc做代理转发,然后在Canvas标签中显示出画面。

noVnc也是使用node。所以,必须在转发服务器安装node,对noVnc的调用是使用Websockify。vnc server可以使用除RealVNC意外的所有版本。

三、步骤

使用noVnc实现的步骤如下:

1. 在Windows server系统下,首先得配置支持远程桌面服务,可以在“服务管理器--添加角色--远程桌面服务”添加。这点很重要,因为如果要同时远程多个账号,没有添加远程桌面角色,即使在组策略管理中设置了可同时连接的用户数,也是无效的(默认2个用户)

2. 安装node。安装node,要带上npm模块。

3. 将noVnc和websockify放到指定目录,如D:\noVnc,cmd  将当前目录定到D:\noVnc下,使用npm下载安装ws、optimist和mime-types模块(这步安装其实可以省略)

4. cmd当前目录分别移到noVnc代码模块和websockify下,安装ws、optimist和mime-types模块

5. 添加防火墙入站规则,添加协议和端口(tcp:8084),这一步应该也可以不用的,只要设置允许node通过防火墙就行。

6. 执行 node .\websockify.js --web ..\..\noVNC 8084 http://192.168.1.10:5900(192.168.1.10是vnc server所在的IP)

7. 在任意电脑的浏览器上访问:http://192.168.1.10:8084/vnc.html  ----->  输入vnc访问密码

 四、问题

若使用普通app权限执行vnc server,在远程时必须登录要远程登录的账户,否则会提示没有UAC权限。可以使用Windows service方式执行vnc server。

noVNC:GitHub - novnc/noVNC: VNC client web application

websockify:GitHub - novnc/websockify-js: JavaScript WebSocket to TCP bridge

五、方案补充

计划在web远程访问Windows桌面(二)中做些方案补充,及另一种web远程Windows桌面的方案介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值