Search code examples
ubuntuamazon-web-servicesamazon-ec2vnc

How To Set Up GUI On Amazon EC2 Ubuntu server


I'm using an amazon Ubuntu EC2 instance which is only has a command line interface. I want to setup UI for that server to access using remote desktop tools. Is there any way to apply GUI to the EC2 instance?


Solution

  • This can be done. Following are the steps to setup the GUI

    Create new user with password login

    sudo useradd -m awsgui
    sudo passwd awsgui
    sudo usermod -aG admin awsgui
    
    sudo vim /etc/ssh/sshd_config # edit line "PasswordAuthentication" to yes
    
    sudo /etc/init.d/ssh restart
    

    Setting up ui based ubuntu machine on AWS.

    In security group open port 5901. Then ssh to the server instance. Run following commands to install ui and vnc server:

    sudo apt-get update
    sudo apt-get install ubuntu-desktop
    sudo apt-get install vnc4server
    

    Then run following commands and enter the login password for vnc connection:

    su - awsgui
    
    vncserver
    
    vncserver -kill :1
    
    vim /home/awsgui/.vnc/xstartup
    

    Then hit the Insert key, scroll around the text file with the keyboard arrows, and delete the pound (#) sign from the beginning of the two lines under the line that says "Uncomment the following two lines for normal desktop." And on the second line add "sh" so the line reads

    exec sh /etc/X11/xinit/xinitrc. 
    

    When you're done, hit Ctrl + C on the keyboard, type :wq and hit Enter.

    Then start vnc server again.

    vncserver
    

    You can download xtightvncviewer to view desktop(for Ubutnu) from here https://help.ubuntu.com/community/VNC/Clients

    In the vnc client, give public DNS plus ":1" (e.g. www.example.com:1). Enter the vnc login password. Make sure to use a normal connection. Don't use the key files.

    Additional guide available here: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-Page-3.html

    Mac VNC client can be downloaded from here: https://www.realvnc.com/en/connect/download/viewer/

    Port opening on console

    sudo iptables -A INPUT -p tcp --dport 5901 -j ACCEPT

    If the grey window issue comes. Mostly because of ".vnc/xstartup" file on different user. So run the vnc server also on same user instead of "awsgui" user.

    vncserver