I want to remotely connect to my home desktop while I'm at work, because my home desktop is faster than my work desktop. But I think I need some extra hardware, so I'd like some help figuring out what I need.
First, since I have a dynamic IP at home, I need some dynamic DNS software installed on the home desktop, that will constantly update a static domain name with the dynamic IP. That way, I can remotely connect to the static domain name, and it will direct me to the dynamic IP.
Second, if I put my desktop to sleep, I need a way to wake it up. Wake-on-LAN isn't enough, because while the computer is asleep, it cannot update its dynamic DNS. Therefore, I could have an always-on Raspberry Pi that serves as a WOL device. I remotely connect to the Raspberry Pi (which would have some dynamic DNS software installed) and instruct to the Pi to send a WOL magic packet to the desktop. Then the desktop is awake, and I can connect to it.
But then there's a third problem I haven't figured out how to solve. When I remotely reboot my home desktop, there are pre-boot authentic mechanisms to enter, like a BIOS password and a BitLocker password. So how do I remotely enter those passwords before the operating system has loaded? Moreover, since it's the OS that has the dynamic DNS software installed, I won't know if the IP address has changed until the OS has loaded, but I need to enter the passwords before that.
So it seems like what I need is remote pre-boot management. So do I need a server motherboard with a server management processor? (E.g., the new ASRock X470D4U
Is a server motherboard with an ARM processor for out of band management what I need? And if so, what else do I need to research before I go spend money on the wrong things? And where can I learn how to set this all up?
(And presumably, the server management processor can perform the WOL, obviating the need for the Raspberry Pi.)
Or is there a way to output the video from my desktop to the Raspberry Pi, and set up the Raspberry Pi as the keyboard for the desktop? So I'd remotely connect to the Raspberry Pi, and within my video (showing the Raspberry Pi's desktop), I'd see a video-within-a-video of my desktop's screen, showing the request for a boot password. Then, I'd remotely type a password, and the Raspberry Pi would then represent itself as a keyboard and type that password into the desktop. Then, when the desktop was finished booting, I'd close the remote session with the Raspberry Pi and switch over to a session with the desktop. That sounds a bit convoluted, of course.
So what should I do, and what do I need to do that?