How To Setup GUI For Amazon EC2 Linux Instance

Amazon ec2 Linux instances do not come with a GUI. By default, you need terminal access for all application configuration. Most of the developers/sysadmins working with Linux would prefer  the command line over Graphical User Interface. But developers who are new to Linux would require a GUI for installing and managing the applications. In this post, we will teach you how to configure a graphical user interface (GUI) for an Amazon ec2 Linux instance.

Setting up GUI for Amazon ec2 Linux (RHEL)

Note: Please follow this tutorial for RHEL7.  Configure GUI on RHEL 7 

Follow the steps given below for setting up a desktop environment for ec2 RHEL6  instance.

1. Login to the instance using any ssh client like putty and update the server.

2. Install the Desktop environment.

3. Install few dependencies using the following command.

Recommended: Learn Linux in 5 Days and Level Up Your Career Udemy Course

4. Install tiger VNC server.

5. Set a password for the default user “ec2-user”

READ  Linux VI Editor Shortcuts, Tips and Productivity Hacks For Beginners

6. Set a password for VNC server by executing the following command.

7. Edit the sshd_config file and set the password authentication parameter to “yes”

8. Restart the sshd service.

9.  Open the vncserver config file.

10. Update the parameters of vncserver config file as shown below.

Note: You can add more than one user to access vnc server. In the above snippet, we have user2 apart from ec2-user and subsequently make entry for screen resolution for the particular user, as shown above.

11. Start the vnc server

12. Add  vnc service to the system startup so that vnc server will automatically start after a system restart.

READ  List of Linux Commands Every Developer Should Know

13. VNC server uses ports starting from 5901. For the second user, the port will be 5902 and so on. In our case, we have only one user (ec2-user). So we will be connecting to the instance on port 5901. Add a firewall rule to your instance to open 5901 using the following command.

Note: Open TCP port 5901 in ec2 security group you have assigned to your instance.

14. Now we have an instance with GUI configured. To access it you need a VNC  client. Go to this link to get a VNC viewer client. Install the software and open it.

15. Enter the public IP of you instance followed by the port number 5901 (assuming you the first vnc server user) and click connect. When asked for a password, supply the password you created for vnc server in step 6.

16. Now you will get the access to the GUI. If it asks for ec2-user password, supply the password you created in step 5.

Setting up GUI for ec2 Ubuntu Instance

Check this article for setting up GUI for ec2 Ubuntu instance.

Let us know in the comment section if you face any errors.

Free DevOps Resources

Get DevOps news, tutorials and resources in your inbox. A perfect way If you want to get started with devops. Like you, we dont like spam.


  1. siv Reply

    i am getting following warning..

    Warning: group Desktop does not exist.
    Maybe run: yum groups mark install (see man yum)
    Error: No packages in any requested group available to install or update
    [[email protected] ~]$
    [[email protected] ~]$

    • Shree Reply

      I had the same problem. I used $ sudo yum groups mark install -y “Desktop” instead of $ sudo yum groupinstall -y “Desktop” and it went through.

  2. Ravi Chandran Reply

    I followed the above steps exactly. But while connecting the server from windows box with VNC viewer it says “The connection was refused by the host computer”. I have opened the 5901 port in security group as well.

  3. vin Reply

    $ sudo yum groupinstall -y “Desktop”
    Loaded plugins: amazon-id, rhui-lb
    There is no installed groups file.
    Maybe run: yum groups mark convert (see man yum)
    rhui-REGION-client-config-server-7 | 2.9 kB 00:00
    rhui-REGION-rhel-server-releases | 3.7 kB 00:00
    rhui-REGION-rhel-server-rh-common | 3.8 kB 00:00
    Warning: group Desktop does not exist.
    Maybe run: yum groups mark install (see man yum)
    No packages in any requested group available to install or update

    Do i have to buy this package from the aws console?

  4. Daniel Quintos López Reply

    I have been installed and configured VNC in my EC2 instance, but when I try to connect it with VNC Viewer, it says => “You have exceeded the timeout response”.

    • Daniel Quintos López Reply

      I also enabled the correct port in my security group and ran the vnc service in the instance.

      • alkjgl Reply

        have you figure out the cause and find out the resolution? I have met the same problem.

  5. Alex Millan Reply

    Por qué es muy lenta la GUI?, en ocasiones me pasa que hasta se tosca linux y debo reiniciar la instancia. Que otro sistema de vnc recomiendan?, vi la opción de control remoto del sistema, será que mostrará una mejor interfaz?

  6. Anoop Singh Reply

    This is really very nice. Thanks For sharing Knowledge.

  7. zach Reply

    How can I set this up to work with a private DNS? My company requires that all EC2 Instances have only private DNSs. Because of this I see “No such host is known” within my VNC.

    What would you recommend?

  8. Shahriar701 Reply

    Hi i am facing a very annoying problem, whenever i stop my instance and then start it or reboot it my vnc can not connect to it any more. For example: tight vnc says “The connection has been gracefully closed”. but it works fine when i set up the gui for the first time. I need some advise regarding this problem .

Leave a Reply

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