Unlock the Power of Azure Virtual Desktop (AVD) on Linux


Table of contents

  1. Introduction
  2. Option I
  3. Option II
  4. Conclusion

Introduction

Azure Virtual Desktop (AVD) is not supporting Linux virtual machines at the moment. Nevertheless, some developers, engineers and other user groups and customers rely on a Linux desktop and they want to benefit from all the security features like MFA, Conditional Access, etc.

But it is absolutely possible to provide a Linux Desktop via AVD.

Option I

One way could be through WSL2. The installation on a Windows 10/11 session host is documented here: Install WSL on Windows 10 | Microsoft Docs
If you are using Cloud PC, Nested Virtualization is currently in preview.

Option II

Another option is to simply publish a Linux Desktop via a remote application.

To do this, spin up a Linux virtual machine with the OS distribution of choice, in my case I choose Ubuntu.

  1. Connect to your new VM an install updates and xfce. E.g.
  2. Install updates:
sudo apt update
  1. Install the desktop shell:
sudo apt install xubuntu-desktop
  1. Install xrdp:
sudo apt install xrdp
  1. Check the service status
sudo systemctl status xrdp
  1. Add the current user account to the ssl-cert group to get access via RDP:
sudo adduser xrdp ssl-cert
  1. Restart the service:
sudo systemctl restart xrdp
  1. Configure the firewall to allow connection on 3389:
sudo ufw allow from <YOUR-IP-CIDR > to any port 3389

sudo ufw reload

sudo ufw status
  1. Lets jump back to you session host and the Azure Portal.

Create a .rdp file with the hostname or IP-Address, download an icon of choice and store it on the session host(s).

Lastly configure your remote application in the Azure Portal.

Conclusion

An optimal solution would be to have native Linux support in AVD 😏 but as long as this is not given you can enjoy your Linux desktop delivered through this workaround.

Resources

WSL | Microsoft Docs
W365 | Nested Virtualization


Posted

in

,

by

Tags:

Comments

Leave a Reply

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