目录
1、手机远程开关虚拟机、远程管理pve、远程关闭pve(不含启动)
3、使用sunshine+moonlight远程连接到Windows11虚拟机
1、手机远程开关虚拟机、远程管理pve、远程关闭pve(不含启动)
下载pve手机端
输入你的域名进行登录。比如你在浏览器打开 pve 的链接是 https://www.baidu.com:8006 那这里就输入 www.baidu.com
如果浏览器里面是 https://baidu.com:8006 没有 www,那这里也输入 baidu.com 不带 www
如果浏览器里面是 https://www.baidu.com:8007 不是默认的 8006 端口,那就输入 www.baidu.com:8007
注意,这里拿 baidu 来举例子,应该输入的是你自己购买的域名,不是真的叫你把百度的网址输进去!
点击 continue,输入 root 账号和密码进行登录
这个客户端还是很好用的,可以远程遥控虚拟机开机重启关机,以及遥控 pve 关机,查看实时性能等等。可惜不能查看功耗,可以买个支持查看实时功率的米家智能插座(买之前看清楚,不是所有小米插座都能看功率!)
2、远程开机PVE(WOL)
开启PVE的wake on lan
首先要在bios里面设置开启网络唤醒
查看一下网络设备的名字
检查是否支持wol
ethtool enp2s0
#查看最后三行输出
# Supports Wake-on: pumbg #pumbg表示支持wol
# Wake-on: d #d表示关闭了wol功能
# Link detected: yes
启用wol
ethtool -s enp2s0 wol g
#这样就可以把d改成g,启用wol了
#再检查一下
ethtool enp2s0
# Supports Wake-on: pumbg
# Wake-on: g
# Link detected: yes
#修改成功
每次重启都会自动关闭wol。所以需要把开启wol的命令添加到开机自动执行
vim /etc/rc.local
#按i输入以下内容
#!/bin/bash
/usr/sbin/ethtool -s enp2s0 wol g
exit 0
#按Esc :wq回车保存
#如果你的rc.local里面已经有东西了
#就把 /usr/sbin/ethtool -s enp2s0 wol g 这一行添加到 exit 0 上面就好了
#赋予可执行权限
chmod +x /etc/rc.local
然后重启pve,再次检查wol是否已开启。
reboot #重启
cat /etc/rc.local
# ……………
# Supports Wake-on: pumbg
# Wake-on: g 检查是不是g已经开启了wol
# Link detected: yes
使用ssh隧道远程访问路由器的管理页面,发送wol
如何发送wol,这个在网上有各种教程各种方法,我这里只介绍一种我自己使用的方法,仅仅适用于我自己的网络环境
我的主路由是openwrt所以可以这么操作。如果你的不是,那就搜索一下别的办法
直接把wol的端口转发到公网,这样不太安全。如果你把pve关机了,别的不怀好意的人恰好扫描到你的公网ip的wol端口是开启的,就可以往你的pve机器发送唤醒信号,不需要身份验证。因此我不建议把wol端口进行转发。
那我想到两个办法。第一个办法是在路由器上面部署OpenVPN,配置好用户名和密码,在外时远程连接到自己家的VPN,这样就可以访问内网设备了。然后再给pve的内网ip发送wol
第二个办法是远程连接到路由器的ssh,然后使用路由器发送wol。感觉第二种方法比较简单,所以这里就用第二种方法了。
先配置openwrt的ssh
如果你觉得使用密码登录不安全的话,也可以关闭密码登录,然后在下面添加ssh公钥
打开手机/平板的termux
推荐使用zerotermux,可以一键换源
先点击一键换源
然后
pkg install openssh vim
#安装ssh和vim
新建remoteop.sh
vim ./remoteop.sh
#按i输入以下内容
#!/bin/bash
ssh -L 8080:localhost:80 root@你的.域名
#示例:ssh -L 8080:localhost:80 root@www.baidu.com
#按Esc :wq回车保存退出
#添加可执行权限
chmod +x ./remoteop.sh
这是什么意思呢?我们通过ssh隧道将路由器的80端口映射到了手机/平板的8080端口。路由器的80端口,也就是它的管理页面端口
运行remoteop,输入root密码(路由器的管理密码,不是你家WiFi的密码!)
./remoteop.sh
termux放在后台不要关掉,然后打开手机/平板的浏览器访问http://localhost:8080,就打开了路由器管理页面
使用op的网络唤醒插件,选择pve的内网ip,点击唤醒主机。
配置从手机/平板桌面一键连接到路由器(可选)
#先退出ssh
exit
#创建快捷方式文件夹
mkdir ./.shortcuts
#把remoteop.sh复制到快捷方式文件夹
cp ./remoteop.sh ./.shortcuts/
ls ./.shortcuts
安装termux widget
添加桌面小部件
点击右上角刷新,这时候我们的remoteop.sh应该就显示出来了
点击remoteop.sh,成功连接(可能要开启termux的后台弹出权限)
3、使用sunshine+moonlight远程连接到Windows11虚拟机
配置sunshine
下载sunshine基地版
qiin2333/Sunshine-Foundation: Sunshine is a Gamestream host for Moonlight.
一路点下一步安装好,期间会弹一个虚拟显示器驱动也安装一下
安装完之后右键任务栏sunshine图标open sunshine
先把语言改成简中
拉到最下面点保存
然后再点应用
sunshine会自动重启。之后关闭窗口并重新打开,就显示中文了
这里报错说没有安装vigembus,那现在安装一下
nefarius/ViGEmBus: Windows kernel-mode driver emulating well-known USB game controllers.
一路点下一步进行安装
任务栏restart一下sunshine
这样就没有报错了
配置串流时自动黑屏,先选择一下显卡
选择就是要用虚拟显示器
在下面找到 串流时显示器组合状态设定 禁用其它显示器
添加一个你手机/平板的屏幕分辨率
输入分辨率并点击加号
拉到最下面,保存,应用
开启upnp
开启公网访问,保存并应用
到路由器上面看一眼upnp添加成功了没有,如果没有的话也可以手动添加端口转发
建议先把网络改成静态ip
按照sunshine要求的tcp或者udp协议,像这样进行添加转发
添加好之后
配置一下ssl证书。还记得我们之前下载的pem文件吗?
玩机日记 1 前期准备工作:申请公网ipv4、购买域名、申请SSL证书-CSDN博客
保存并应用
配置好之后就可以在浏览器中访问:https://你的.域名:47990来打开webui了。左上角也是带锁的,意思是我们添加的ssl证书匹配了域名
不过这样登录不需要账号密码,比较危险
设置一下账号密码。第一次设置,两侧输入相同的用户名,密码左边不用输,只输右边就行了
然后用数据流量再次访问https://你的.域名:47990试试看
这样就必须要登录才能访问了
开启多内容编码器以提高性能
保存并应用
然后我们需要记忆一下屏幕组合
设备管理器启用虚拟显示器
修改系统设置,仅在大的屏幕(也就是物理屏幕)上显示
然后再禁用它
至此,sunshine设置完毕
安装配置moonlight
Release v12威力加强版 · qiin2333/moonlight-android
直接切换另一个网络或者开数据流量测试一下公网连接
点左边的加号
输入你的域名,前面不需要加https//,比如www.baidu.com
这里会要求输入pin码。我们模拟一下出门在外的情况,不要退出moonlight,不要切后台,moonlight切小窗或者小窗打开浏览器,打开webui(就是https://你的.域名:47990),点击顶上的pin码,输入pin码,点击发送。
这样就配对成功了。先不要连接,返回,点击左上角齿轮进入设置
调整分辨率
调整帧率
调整编解码器为hevc
勾选hdr
调整完设置重新连接电脑,选择desktop
连接成功,电脑屏幕熄灭。
返回选择退出并断开串流,电脑屏幕重新亮起
串流游戏测试
最后,玩个地平线5看看实力
我家有两个宽带,一个移动一个电信。pve Windows11在电信局域网下,我的平板使用移动宽带“远程”串流Windows11
原以为延迟会蛮高的,所以把ai难度降到了老手。跑了三圈环道,延迟居然还不错
串流编解码可能会稍微消耗一点gpu性能,不过画面帧率仍然在60以上。目前还是4k游戏分辨率,如果降低到平板分辨率的话,相信帧率还能更高。
2025/02/16更新:
如果出现打开hdr后,提示端口失效的问题。这种情况请更换原版moonlight或者别的第三方moonlight解决
基地版sunshine推荐到其他版本moonlight: