开机不进去桌面执行gui_记一次实现远程控制电脑开机过程

一.缘起

先说说为什么有这个想法,比如在游戏首发的时候,想远程控制电脑开始下载;向远程电脑查询电脑 上的资料等等。作为一名IT行业的从业者,在生活和工作中需要电脑的地方很多,我们不能无时无刻把电脑带在身边,但是现在我们身边无时无刻伴随着两样东西:蜂窝网络和手机。因为我的习惯不喜欢电脑长时间的开着,我不用我就关掉,而且我的电脑散热风扇风比较大,我觉得长时间开着影响室内空气质量,所以我就有了远程控制电脑开机的需求,使用蜂窝网络和手机来实现此需求便可以随时随地的控制。

2dee2ba0b8b991e913c9983d112c46ae.png

这里需要说明的是,本文讲的是远程控制电脑开机,而非电脑的远程桌面,远程桌面已经有非常多的方案 teamviewer、向日葵、anydesk等等,不过我不喜欢用这些方式(其实比较喜欢 teamviewer,但是经常被提示商用),我的远程桌面方式是搭建内网穿透(frp 内网穿透远程桌面(Windows 10)配置),然后直接使用自带的远程(PC),APP 的话使用的是微软开发的 “Microsoft 远程桌面”。回到正题,下面我分享我的远程控制电脑开机的实现过程。

二.解决方案一:Wake on LAN

Wake on LAN 简称 WOL,简而言之就是可以通过网卡来唤醒电脑,现在的网卡基本上都是支持的。其原理为向网卡发送一个数据包,英文名:Magic Packet,中文:魔术包或幻包,网卡接收到以后便可以启动电脑。

需要以下步骤来进行设置:

  1. 进入主板 BIOS 开启 Wake on LAN 功能,这里需要去查询自己的主板如何设置,一般在电源管理功能里面。
  2. 关闭主板节电设置,关闭后最明显的特征是 USB 口关机后也带电,主板灯关机后也常亮。因为需要网卡带电,才能接受魔术包。
  3. 路由器DHCP静态IP分配
e7a6c8bf1deddb146b815189f3f6b339.png
  1. 进入 Windows 设备管理,设置网卡

电源管理:

15e739e2082206c39c3a2e937c3f1a29.png

网卡属性:

ee5e8be43a8a15afac7ef90ff7ab15df.png

设置好以后,重启电脑,下载一个 WOL APP,填写电脑 IP 和 MAC 便可测试,我是 IOS 在 App Store 搜索 WOL 便可以搜到很多 APP

6a2c5680c53f3eaab985e6db65ea5434.png

正常情况下,会测试成功,向电脑发送魔术包以后,电脑会立即开启。

注意:如遇到电脑关机长时间以后 WOL 无法唤醒电脑,那么需要进入路由器设置 ARP 绑定,若路由器没有相关功能,则需要 SSH 进入路由器,执行命令 arp -s ip地址 mac地址,需要注意的是此命令执行后,重启路由器就失效了,有解决办法,就是加入路由器开启执行的脚本,这里不做详细讲述,因为不同的路由器ROM是有区别的。执行ARP绑定后就会解决这个问题(PS:这个问题困扰我很久了,还是同事给了这个解决办法)。

1.关于 广域网唤醒

若有公网 ip,那么直接设置端口转发,转发到电脑的 9 端口(一般都是)。没有公网 ip 可以在局域网的某一持续运行的设备设置内网穿透,建议在路由器上设置,若是梅林等固件可以安装现成的插件,我是小米路由器,进入SSH 装了一个 frp 内网穿透,配置如下若有公网 ip,那么直接设置端口转发,转发到电脑的 9 端口(一般都是)。没有公网 ip 可以在局域网的某一持续运行的设备设置内网穿透,建议在路由器上设置,若是梅林等固件可以安装现成的插件,我是小米路由器,进入SSH 装了一个 frp 内网穿透,配置如下

[common]
server_addr =
server_port =
authentication_method = token
token =
[远程桌面] type = tcp
local_ip =
local_port = 3389
remote_port =
[WOL广域网]
type = udp
local_ip =
local_port = 9
remote_port =

2.魔术包

魔术包有一个标准的算法,网上有很多解释算法的文章以及各种语言的代码实现。

C#: https://github.com/nikeee/wake-on-lan

java:https://www.cnblogs.com/heidsoft/p/4011800.html

三.解决方案二:AC Recovery

AC Recovery 又名 来电自动启动(回复),指电脑一通电便可以自动启动。此方法是最简单的,不需要WOL各种设置,不需要主板支持 WOL,但是需要具备两个条件:

1.主板具有来电启动功能

2.智能插座(小米智能插座等等各种智能插座)

我这里使用的是小米智能插座,设置的步骤如下:

1.进入主板BIOS设置来电自动启动功能

2.进入主板BIOS 关闭节电设置(经过我的实验,主板若开启节电无法正常来电启动)

3.正确设置智能插座,接入米家APP,并连上主机插头。

此时控制智能插座 断电->通电 便可以实现来电自启动,若发现断电->通电无法启动,则可以在中间加一个延时,等待主板完全断电,我的设置如下:

cb7a1035852b82863cf75fb332ec3d79.png

四.解决方案三:开机卡

前两种方案都是我亲自实践并且成功了的,这里第三种方案,我只是在某宝看到,并未实验,此方法略微复杂一点。此方法是将独立的开机卡接入主板 PCI-E 插槽,在转接条线到齐上,在通过商家提供的APP来进行控制。这个需要一定的动手能力,想了解的同学可以去某宝搜一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值