Install GUI with VNC – CentOS 7.4

Running a headless (terminal only) server is great and all but sometimes a GUI helps. We’ll be installing GNOME 3.28 on CentOS 7.4.

Start off by issuing the following at shell:

Note: On a minimal installation of CentOS this will add close to a thousand packages

Moving forward, we’ll be installing TigetVNC so we would be able to access the GUI remotely. With TigerVNC you get a high performance, platform independent, server applications which enables you to access GUI’s on remote machines.

Start by installing TigerVNC

You need perform the following tasks by a user. If you don’t have any user then issue the following while logged in as root to create a new user and set a password for it:

You may or may not give this user sudo privileges.

Login to the new user and issue the following:

Set the password and copy the following file into place, you will need to log back into the root user if you haven’t given the new user sudo privileges for the following commands:

Note: For every subsequent VNC entry for a user you will increment the name of the file by 1 (e.g. a different user would get vncserver@:2.service and so on)

Edit the new file:

Replace the user with the new user you created:

Issue the following at shell

Verify that vncserver started for your user:

You should see something like the following in the message that is returned:

Next step is to connect to the VNC server but first you need to download a VNC client, download VNCViewer from here

Install it, launch it, then enter your IP address followed by the integer you placed in the VNC config file:

VNCViewer add client IP and Port

The first time you connect to a new client / host you’ll get an error about an insecure connection, proceed:

VNCViewer password screen

After successfully authenticating you should be logged in and be greeted by a screen similar to the one below:

GNOME logged in from VNCViewer

That’s it, you’re done!