Skip to content

Create a Linux based remote desktop environment in the Cloud (Azure)

License

Notifications You must be signed in to change notification settings

gregorriegler/remdev-azure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remdev on Azure

Spawns a remote desktop environment in the cloud in one go. The setup takes approximately 10 minutes before your remdev is ready to use.

Screenshot

How to start

You need an Azure account and have the azure cli installed. To start the remote desktop environment run:

./start.sh

Once the script is finished it will print the IP address of the spawned machine. You should be able to connect to it via ssh right away, as the azure cli automatically adds your ssh key. But it will take a couple more minutes and reboots for everything to install. In the end it will also print the Anydesk Id.

You can follow the process in this log

tail -f /var/log/cloud-init-output.log

After it is finished you can use the X2Go Client to connect to it.

To destroy the machine again run:

./stop.sh

Use for mob programming

Once connected you could start Anydesk on the remdev to allow more people join your session. Another possibility would be to use X2Go Desktop Sharing to have other people connect. In the bottom panel find the Mob Timer for facilitation.

Installed Software

Based on Ubuntu Server 20.04 LTS

  • xubuntu-core (Lightweight, minimal xfce4)
  • Docker

Python

  • Python 2
  • Python 3.8
  • pip
  • PyCharm

Java

  • sdkman
  • AdoptOpenJDK 17
  • Maven
  • Gradle

CSharp

  • dotnet 6

JavaScript

  • nvm
  • latest node+npm
  • yarn

Development Tools

  • git
  • lazygit
  • IntelliJ Ultimate
  • Rider
  • VS Code
  • Vim
  • Typora
  • Meld
  • Mob Timer

Browsers

  • Firefox
  • Google Chrome

Remote Desktop Servers

  • X2Go
  • Anydesk

Motivation

The goal is to take away the impediments of setting up a development environment for remote collaborative practice or work. To have everybody connect to the same computer with minimal friction or latency and a great experience. While there are similar setups available for Windows I wanted to do the same for Linux.

Inspirations

This work is inspired by @jaybazuzi and @LlewellynFalco who do a similar thing but Windows based. And Harald Reingruber, a friend of mine who also worked on this Idea for his mob programming meetup.

About

Create a Linux based remote desktop environment in the Cloud (Azure)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages