alexanderzeitler.com - Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2









Search Preview

Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2 | Alexander Zeitler

alexanderzeitler.com

.com > alexanderzeitler.com

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2 | Alexander Zeitler
Text / HTML ratio 58 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud sudo Ubuntu install Mate awsgui restart AWS environment EC2 aptget xrdp Desktop RDP environments desktop make Server Docker mnt AMI
Keywords consistency
Keyword Content Title Description Headings
sudo 28
Ubuntu 16
install 14
Mate 10
awsgui 9
restart 9
Headings
H1 H2 H3 H4 H5 H6
1 1 6 0 0 0
Images We found 10 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
sudo 28 1.40 %
Ubuntu 16 0.80 %
install 14 0.70 %
Mate 10 0.50 %
awsgui 9 0.45 %
restart 9 0.45 %
AWS 9 0.45 %
environment 8 0.40 %
EC2 8 0.40 %
aptget 8 0.40 %
xrdp 7 0.35 %
Desktop 7 0.35 %
RDP 6 0.30 %
environments 6 0.30 %
desktop 6 0.30 %
make 5 0.25 %
Server 5 0.25 %
Docker 5 0.25 %
mnt 5 0.25 %
AMI 5 0.25 %

SEO Keywords (Two Word)

Keyword Occurrence Density
sudo aptget 8 0.40 %
in the 6 0.30 %
AWS EC2 6 0.30 %
If you 5 0.25 %
install the 4 0.20 %
Ubuntu Mate 4 0.20 %
EC2 instance 4 0.20 %
an Ubuntu 4 0.20 %
Ubuntu Desktop 4 0.20 %
want to 4 0.20 %
you have 3 0.15 %
aptget install 3 0.15 %
create a 3 0.15 %
and install 3 0.15 %
to install 3 0.15 %
the Mate 3 0.15 %
sudo vim 3 0.15 %
Mate desktop 3 0.15 %
you should 3 0.15 %
into it 3 0.15 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
sudo aptget install 3 0.15 % No
Ubuntu Mate desktop 3 0.15 % No
you want to 2 0.10 % No
an Ubuntu or 2 0.10 % No
it then connect 2 0.10 % No
onto it then 2 0.10 % No
environment onto it 2 0.10 % No
Desktop environment onto 2 0.10 % No
an Ubuntu Desktop 2 0.10 % No
install an Ubuntu 2 0.10 % No
and install an 2 0.10 % No
Server and install 2 0.10 % No
Debian Server and 2 0.10 % No
or Debian Server 2 0.10 % No
Ubuntu or Debian 2 0.10 % No
Install an Ubuntu 2 0.10 % No
the Ubuntu Mate 2 0.10 % No
AWS EC2 instance 2 0.10 % No
Ubuntu Software Center 2 0.10 % No
sudo usermod aG 2 0.10 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
Debian Server and install 2 0.10 % No
awsgui sudo usermod aG 2 0.10 % No
Install an Ubuntu or 2 0.10 % No
an Ubuntu or Debian 2 0.10 % No
Ubuntu or Debian Server 2 0.10 % No
or Debian Server and 2 0.10 % No
Server and install an 2 0.10 % No
and install an Ubuntu 2 0.10 % No
install an Ubuntu Desktop 2 0.10 % No
an Ubuntu Desktop environment 2 0.10 % No
Ubuntu Desktop environment onto 2 0.10 % No
Desktop environment onto it 2 0.10 % No
environment onto it then 2 0.10 % No
onto it then connect 2 0.10 % No
it then connect via 2 0.10 % No
the Ubuntu Mate desktop 2 0.10 % No
in the Mate environment 2 0.10 % No
from the official AWS 2 0.10 % No
sudo aptget upgrade sudo 2 0.10 % No
aptget upgrade sudo aptget 2 0.10 % No

Internal links in - alexanderzeitler.com

Fixing Chrome 58+ [missing_subjectAltName] with openssl when using self signed certificates
Fixing Chrome 58+ [missing_subjectAltName] with openssl when using self signed certificates | Alexander Zeitler
Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq
Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq | Alexander Zeitler
Deploying Ubuntu Mate Desktop as a developer environment in a Azure VM
Deploying Ubuntu Mate Desktop as a developer environment in a Azure VM | Alexander Zeitler
Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2
Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2 | Alexander Zeitler
Debugging mocha tests in a Docker container using Visual Studio Code
Debugging mocha tests in a Docker container using Visual Studio Code | Alexander Zeitler
Debugging mocha tests with Visual Studio Code when Node.js is installed using nvm
Debugging mocha tests with Visual Studio Code when Node.js is installed using nvm | Alexander Zeitler
Debugging a ES6 Node.js application in a Docker container using Visual Studio Code
Debugging a ES6 Node.js application in a Docker container using Visual Studio Code | Alexander Zeitler
Some thoughts on Open Source Software
Some thoughts on Open Source Software | Alexander Zeitler
Resizing a VMware Workstation VM partition using GParted - get the swap partition out of my way!
Resizing a VMware Workstation VM partition using GParted - get the swap partition out of my way! | Alexander Zeitler
Workflows: using Docker Machine and Docker Compose together in development
Workflows: using Docker Machine and Docker Compose together in development | Alexander Zeitler
Chrome crashes on Ubuntu in VMware Workstation
Chrome crashes on Ubuntu in VMware Workstation | Alexander Zeitler
Rename Visual Studio project including files, folders and namespaces
Rename Visual Studio project including files, folders and namespaces | Alexander Zeitler
A lap around AWS and docker-machine
A lap around AWS and docker-machine | Alexander Zeitler
Integration-testing ASP.NET 5 / MVC 6 Controllers on DNX Beta 4
Integration-testing ASP.NET 5 / MVC 6 Controllers on DNX Beta 4 | Alexander Zeitler
Deploying a ASP.NET MVC 6 API as Azure API App in Azure App Services
Deploying a ASP.NET MVC 6 API as Azure API App in Azure App Services | Alexander Zeitler
lowerCamelCase JSON with ASP.NET MVC 6
lowerCamelCase JSON with ASP.NET MVC 6 | Alexander Zeitler
Running ASP.NET 5 Beta 4 in Docker with DNX runtime #aspnet5 #docker
Running ASP.NET 5 Beta 4 in Docker with DNX runtime #aspnet5 #docker | Alexander Zeitler
Stop complaining or improve yourself
Stop complaining or improve yourself | Alexander Zeitler
#NodeJS / #ExpressJS: Adding routes dynamically at runtime
#NodeJS / #ExpressJS: Adding routes dynamically at runtime | Alexander Zeitler
mongoose: Referencing schema in properties or arrays
mongoose: Referencing schema in properties or arrays | Alexander Zeitler
MongoDB development environment journal size management using mongoctl
MongoDB development environment journal size management using mongoctl | Alexander Zeitler
Farewell...
Farewell... | Alexander Zeitler
Inspecting AngularJS $scope using Firebug and Chrome Developer Tools
Inspecting AngularJS $scope using Firebug and Chrome Developer Tools | Alexander Zeitler
Useful @Brackets extensions for Web Developers
Useful @Brackets extensions for Web Developers | Alexander Zeitler
.NET User Group Karlsruhe: StreamInsight: Complex Event Processing by Microsoft
.NET User Group Karlsruhe: StreamInsight: Complex Event Processing by Microsoft | Alexander Zeitler
“Commit all must be called when a managed buffer has focus” in Microsoft SQL Server Data Tools
“Commit all must be called when a managed buffer has focus” in Microsoft SQL Server Data Tools | Alexander Zeitler
.NET User Group Karlsruhe: Git
.NET User Group Karlsruhe: Git | Alexander Zeitler
Open Source Windows 8 App: Sprudelsuche
Open Source Windows 8 App: Sprudelsuche | Alexander Zeitler
Open Source– Scheissegal?
Open Source– Scheissegal? | Alexander Zeitler
Lowercase JSON with ASP.NET Web API
Lowercase JSON with ASP.NET Web API | Alexander Zeitler
.NET Usergroup Karlsruhe: Think Big – Entwicklung skalierbarer Anwendungen mit Windows Azure
.NET Usergroup Karlsruhe: Think Big – Entwicklung skalierbarer Anwendungen mit Windows Azure | Alexander Zeitler
ASP.NET Web API and RavenDb
ASP.NET Web API and RavenDb | Alexander Zeitler
ASP.NET Web API Round-Up Slides
ASP.NET Web API Round-Up Slides | Alexander Zeitler
ASP.NET MVC 4 public beta including ASP.NET Web API
ASP.NET MVC 4 public beta including ASP.NET Web API | Alexander Zeitler
Hash Bang Urls in Single Page Applications mit ASP.NET MVC
Hash Bang Urls in Single Page Applications mit ASP.NET MVC | Alexander Zeitler
.NET User Group Karlsruhe: Know your Tools
.NET User Group Karlsruhe: Know your Tools | Alexander Zeitler
Git flow init liefert: flags: FATAL unable to determine getopt version unter Cygwin
Git flow init liefert: flags: FATAL unable to determine getopt version unter Cygwin | Alexander Zeitler
Using JsonValue and JsonArray in WCF Web API
Using JsonValue and JsonArray in WCF Web API | Alexander Zeitler
.NET User Group Karlsruhe: PowerShell 3.. 2.. 1..
.NET User Group Karlsruhe: PowerShell 3.. 2.. 1.. | Alexander Zeitler
What’s new in WCF Web API Preview 5 – introducing the test client
What’s new in WCF Web API Preview 5 – introducing the test client | Alexander Zeitler
Externe Templates in KnockoutJS laden
Externe Templates in KnockoutJS laden | Alexander Zeitler
WCF Web API: Role based access control with basic authentication
WCF Web API: Role based access control with basic authentication | Alexander Zeitler
.NET User Group Karlsruhe: Produce Cleaner Code with Aspect-Oriented Programming (AOP)
.NET User Group Karlsruhe: Produce Cleaner Code with Aspect-Oriented Programming (AOP) | Alexander Zeitler
REST using the WCF Web API – POST it!
REST using the WCF Web API – POST it! | Alexander Zeitler
REST using the WCF Web API – getting more RESTful responses (Part 5)
REST using the WCF Web API – getting more RESTful responses (Part 5) | Alexander Zeitler
TypeLoadException when mocking COM objects - Could not load type … from assembly. The type is marked…
TypeLoadException when mocking COM objects - Could not load type … from assembly. The type is marked… | Alexander Zeitler
REST using the WCF Web API – getting RESTful the BDD way (Part 4)
REST using the WCF Web API – getting RESTful the BDD way (Part 4) | Alexander Zeitler
REST using the WCF Web API – refactoring to IoC style (Part 3)
REST using the WCF Web API – refactoring to IoC style (Part 3) | Alexander Zeitler
REST using the WCF Web API – Basics (Part2)
REST using the WCF Web API – Basics (Part2) | Alexander Zeitler
Microsoft Web API – the REST is done by WCF (Part 1)
Microsoft Web API – the REST is done by WCF (Part 1) | Alexander Zeitler
Microsoft Web API – den REST macht WCF (Teil 1)
Microsoft Web API – den REST macht WCF (Teil 1) | Alexander Zeitler
.NET User Group Karlsruhe: Flexible Softwarearchitekturen mit Inversion of Control (IoC)
.NET User Group Karlsruhe: Flexible Softwarearchitekturen mit Inversion of Control (IoC) | Alexander Zeitler
machine.fakes ReSharper Templates
machine.fakes ReSharper Templates | Alexander Zeitler
CreateCert.cmd aus dem Windows Azure Platform Training Kit funktioniert nicht
CreateCert.cmd aus dem Windows Azure Platform Training Kit funktioniert nicht | Alexander Zeitler
JSON via jQuery direkt an einen ASP.NET MVC 3 Controller senden
JSON via jQuery direkt an einen ASP.NET MVC 3 Controller senden | Alexander Zeitler
POSTing Json data using the HttpClient from WCF Web API
POSTing Json data using the HttpClient from WCF Web API | Alexander Zeitler
Using the new WCF Web APIs HttpClient with ASP.NET Forms Authentication
Using the new WCF Web APIs HttpClient with ASP.NET Forms Authentication | Alexander Zeitler
Keyboard Jedi unter x64
Keyboard Jedi unter x64 | Alexander Zeitler
Using WCF Web APIs / WCF Http with ASP.NET Forms Authentication
Using WCF Web APIs / WCF Http with ASP.NET Forms Authentication | Alexander Zeitler
WCF Web APIs / WCF Http mit ASP.NET Forms Authentication verwenden
WCF Web APIs / WCF Http mit ASP.NET Forms Authentication verwenden | Alexander Zeitler
ILSpy – Open Source .NET Assembly Browser und Decompiler
ILSpy – Open Source .NET Assembly Browser und Decompiler | Alexander Zeitler

Alexanderzeitler.com Spined HTML


Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2 | Alexander Zeitler Toggle navigation Home Feed Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2 Written on April 29, 2016 TL;DR: If you don't want to find out the solution by running over 40 Ubuntu installations with several desktop environments on AWS, read on. On a current project the idea came up to put Ubuntu Desktop developer environments into AWS EC2 instead of local installations (VMs) and RDP into it. If you have a Windows background, you would expect to just spin up a server and have a UI... But with Ubuntu things get a little *cough* bit increasingly complicated. In general, there are several options: Install an Ubuntu or Debian Server and install an Ubuntu Desktop environment onto it, then connect via VNC to it Install an Ubuntu or Debian Server and install an Ubuntu Desktop environment onto it, then connect via RDP to it Create an AMI based on an existing AMI Create an AMI from scratch Another option that sounds well-flavored won't work: Create a Windows Server VM, vivify Hyper-V, install VMware Workstation or VirtualBox and just run your Ubuntu Desktop inside it.The first two options won't work considering you can't have nested Hypervisors in AWS EC2 and VirtualBox would only indulge 32bit OS installations considering of this constraint. So, when to the viable options: First, I tried to install Ubuntu Server 14.04 from the official AWS AMI, install the XFCE or GNOME-Desktop on it as well as vncserver. While it works in general, the VNC performance and quality is not winning in 2016 (I expect true verisimilitude and reasonable screen resolutions) - expressly with GNOME or increasingly ramified desktop environments. Besides that, XFCE feels like late 90th: So, lets throne over to the next option - the one I ended up with: Install Ubuntu Server from the official AWS EC2 AMI, put Ubuntu Mate desktop on it and RDP into it.What sounds like a straight forward plan, ended up as a *interesting* journey. I've chosen (read: learned to choose) Mate, considering it is one of the environments that looks pretty nice but doesn't require 3D velocity enabled which you just don't have in deject environments (at least not in the unstipulated compute instances). If you're ok with XCFE, the folks at AWS have created a transmission for that (on which this post partially is based on). First, create a AWS EC2 instance of your choice, enable inbound Port 3389 (RDP) in its security group settings and SSH into it. Enabling Port 3389: After that, install the latest updates: sudo apt-get udpate sudo apt-get upgrade sudo apt-get dist-ugprade Next, enable password hallmark for sshd: sudo vim /etc/ssh/sshd_config Find the line PasswordAuthentication no and transpiration it to PasswordAuthentication yes Save the sshd_config and restart sshd: sudo /etc/init.d/ssh restart Next, create a password for your default ubuntu user: sudo -i passwd ubuntu Then, create a user which you want to be your Desktop user, I'll use awsgui here: sudo useradd -m awsgui sudo passwd awsgui sudo usermod -aG admin awsgui sudo usermod -aG sudo awsgui su - awsgui After that, install the Ubuntu Mate desktop and xrdp: export DEBIAN_FRONTEND=noninteractive sudo apt-add-repository ppa:ubuntu-mate-dev/ppa sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate sudo apt-get update && sudo apt-get upgrade sudo apt-get install --no-install-recommends ubuntu-mate-core ubuntu-mate-desktop sudo apt-get install mate-core mate-desktop-environment mate-notification-daemon sudo apt-get install xrdp Now, make Mate the default desktop environment for xrdp sessions (also for new users stuff created afterwards): reverberate mate-session> ~/.xsession sudo cp /home/awsgui/.xsession /etc/skel Finally, we'll indulge waffly the host post port we can connect to (this allows reconnecting to an x-rated session): sudo vim /etc/xrdp/xrdp.iniTranspirationport=-1 in the [xrdp1] section to port=ask-1. With the changes done, restart xrdp: sudo service xrdp restart Now we're worldly-wise to RDP into our AWS EC2 instance from Windows: First, enter the public DNS entry (later on you'll assign an Elastic IP, of course) into the Windows Remote Desktop Client: Next you should get the xrdp login screen were you enter your awsgui credentials and make sure sesman-Xvnc module is selected: If everything went well, you should get this connection log: After a second or two, you should moreover get the Ubuntu Mate desktop screen: If you think we're washed-up now: no. Lets consider, we installed an EC2 instance with an SSD, that volume is mount to /mnt. To make use of it, we need to chown it for the awsgui user - unshut a Terminal window by hitting <Ctrl><Alt><T> in the Mate environment. Then run: sudo chown awsgui /mnt Now, we can make use of /mnt. Running software in the Mate environment Here are some tips for running software in that environment. Ubuntu Software Center First of all, Ubuntu Software Center doesn't work due to some configuration errors I didn't get behind.So if you have some nice .deb packages like Dropbox, just install them via Terminal: sudo dpkg -i <package>.debWafflythe timezone If you want to transpiration the timezone of your instance, you can't unlock and edit the setting in the UI. Thus, you have to run sudo dpkg-reconfigure tzdata in Terminal and select the towardly setting. Dropbox If you plan to install Dropbox, just download the .deb file and install it as described before.You can start Dropbox using start dropbox -i to install the daemon. After the installation you might see a weird or plane no notification icon.Just restart your EC2 instance and everything should be ok. Restart / Shutdown via Mate Speaking of restarting: You might notice that using the Mate logout / shutdown / restart full-length won't end your RDP session. Just use sudo reboot or sudo shutdown now -h in Terminal. Docker on /mnt If you're running Docker and want to use the same volume /mnt (because otherwise it might eat up your small marching volume) for the images and volumes, just transpiration your Docker config: sudo vim /etc/default/docker Add this line or transpiration / proffer your DOCKER_OPTS entry as follows: DOCKER_OPTS="-g /mnt/.docker"Surpassingyou restart your Docker service, make sure to create the folder: mkdir /mnt/.docker Now restart Docker by running sudo service docker restart. docker pull node:4.2.3 should pull Node 4.2.3 and put it to /mnt/.docker: Visual Studio Code It just doesn't work in xrdp environments as of now - plane with the latest Insider build installed. I guess working with the environment will show some increasingly caveats and if I get them solved, I'll alimony the solutions posted. I moreover would be happy if you share remoter tips in the comments. Please enable JavaScript to view the comments powered by Disqus. Copyright © Alexander Zeitler 2003 - 2016 | Impressum