Alternatively, rather than working ON the Raspberry Pi itself, consider using a different computer (like the one you’re sitting at now, to post questions on the forum) to remotely SSH into the Raspberry Pi. Then you don’t have to worry about needing to get back to the desktop on the rPi to do anything. You can trigger everything remotely.
My rPi is setup so that MagicMirror will come up automatically when it reboots (please read the installation instructions on how to do this.) It does not have neither a keyboard nor mouse that are active on it (with that I mean, the wireless dongle is plugged in, but the keyboard and mouse are turned off, I don’t need them.) If I need to restart the process, or update files, from my windows machine, I use a program called SecureCRT to remotely log into the rPi with SSH. You can use something else, like PuTTY. Note that this is text-only, not a graphical interface. Once logged in, I can do anything/everything from the command line that I would do if I was logged onto the rPi itself with its keyboard and mouse.
If you really want a desktop environment (I really don’t know why), you can setup VNC on the rPi, and use that to connect. On the Windows side, you can use a free version of RealVNC client to connect to the rPi and you have a desktop.
Side note: having the rPi on the same network means that together with the display that’s connected on the rPi, I can also launch another instance of MagicMirror on my Windows machine simply by going to 'http://myrpi_address:MM_port'
, for example, 'http://10.0.0.1:8080'
(assuming the rPi is at that address.) This allows me to write code and hit refresh on my browser which instantly refreshes, as opposed to constantly restarting the actual process on the rPi. It also allows me to compare. The instance running on the rPi is completely unaffected by the refreshes done on the local browser. So I can make a change, refresh locally, and compare the two, one local, and the other on the rPi’s display. Works great.