Enable Enhanced Session Mode on Parrot OS Guest within Hyper-V

This shouldn’t take long, I’m posting it mainly because I didn’t see the answer available when I went searching earlier, at least not an answer specifically referencing Parrot OS.

This week I’ve been doing a bit of tinkering with Microsoft’s hypervisor offering, Hyper-V. I installed Kali Linux first, but there was not full-screen option, what gives? Luckily, there was a very good answer to the problem in Kali’s own documentation. Like magic it worked. I turned on the VM started browsing a few sites and it quickly became a bad browsing experience. I don’t know which part of the system was letting me down but tabs were crashing left, right and centre (not a misspelling by the way, no matter what WordPress thinks).

My next step was to try a different version of Linux, so I went with a similar distro to Kali, Parrot OS. Guess what? No full screen yet again. And I couldn’t find a single reference online that had reported a solution. However, both Parrot OS and Kali Linux are Debian derived, I wonder???

The quick answer is that yes, the Kali Linux instructions will work with Parrot OS. Now I found instructions that said you should run the script, then reboot, then run it again. I followed that instruction and it worked, I did not try it without the reboot process, however it worked on Kali without a reboot so you could give it a try. Now if you’re using Parrot OS you will either have Mate or KDE as your Desktop Environment (I recommend Mate for a VM) so be sure to edit the end of the install.sh script appropriately. The section I mean by “the end” is:

Figure 1: Part of install.sh file to be modified.

If you’re using the Mate version of Parrot OS you should insert this line at the end of the install.sh file: echo "exec mate-session" > ~/.xinitrc exec mate-session

If you go for KDE it’s a bit more complex but this should do you: printf "export DESKTOP_SESSION=plasma\nexec startplasma-x11" > ~/.xinitrc

I was using and tested Mate, so that one definitely works.

At the end of the install.sh script run I got a load of runlevel warnings and messages, I ignored these and it still worked, but your mileage may vary. Ensure to create a snapshot or checkpoint or whatever terminology you want to use before undertaking this work so that at least you can roll back if necessary.

Do not forget to run the following command in an Administrator Powershell terminal after you’ve run the install.sh script and shut down your VM and before you start it again: Set-VM "(YOUR VM NAME HERE)" -EnhancedSessionTransportType HVSocket

This will now enable an RDP connection to the VM and gives you the option for full screen (or different resolutions) before connecting.

Let me know below if this helped.

One thought on “Enable Enhanced Session Mode on Parrot OS Guest within Hyper-V

Leave a Reply

Your email address will not be published. Required fields are marked *