珂珂的个人博客 - 一个程序猿的个人网站

通过Web访问windows远程桌面

Windows 远程桌面有多种方式了,可以用自带的mstsc 也可以用teamviewer等,但需要客户端。我们用esxi和pve的时候是可以web访问的,其中pev就是用的noVNC

下面说下实现方法,之前就研究过vnc但没成功,现在又来试下,顺便记录下遇到的问题

一、安装VNC Server

vnc server有多种,这里我们使用UltraVNC  ,一路下一步就可以,然后运行UltraVNC Server,在右下角的图标中可以注册为服务然后启动服务,在Admin Properties下可以设置一些参数,最重要的是密码,如果输入同样的密码会有提示

这里有个巨大的坑,如果用远程桌面mstsc 进入到服务器中安装UltraVNC 那么上面的服务无法启动?试过另外的VNC-Server-6.7.4 也不行,hyper-v的虚拟机中也不行,不知有解决方法没

二、安装Nodejs

nodejs就没什么好说的了,一路下一步就ok

然后cd到一个目录中运行

npm install ws

npm install optimist

npm install mime-types

我以D盘新建的vnc文件夹为例,会在这个目录下生成node_modules

三、安装noVNC

可以在 https://github.com/novnc 下载到noVNC和websockify-js,我这里下载的是noVNC 1.4.0 ,不过websockify-js很久没更新了,websockify不带js倒是在更新,但是python的,咱不知咋用

将novnc解压后连同noVNC-1.4.0 目录放在上面的node_modules下,然后将解压的websockify-js-master 连同目录放在noVNC-1.4.0下

目录结构如下


noVNC-1.4.0下

然后cd到websockify.js所在目录

我的是D:\vnc\node_modules\noVNC-1.4.0\websockify-js-master\websockify

运行node websockify.js --web D:\vnc\node_modules\noVNC-1.4.0 9000 localhost:5900

其中端口9000是web访问地址,5900是vnc的端口

然后在浏览器访问localhost:9000 能打开但提示找不到index.html页面,直接在后面加/vnc.html 也就是localhost:9000/vnc.html就可以打开,另外的方法是把websockify.js中的filename += ‘/index.html'改成filename += ‘/vnc.html';,但惊奇的发现无法连接vnc

经排查这个坑是由于上面的localhost:5000 将localhost改成本机的路由器IP 就可以,我这里用hyper-v交换机的172.23.160.1:5900 ,然后在hyper-v的虚拟机浏览器打开http://172.23.160.1:9000就没问题了


上一篇:个人代码全部开源

下一篇:j1900 局域网络速度之谜


0 评论

查看所有评论

给个评论吧