How to turn CentOS 8 into a perfect desktop

How to turn CentOS 8 into a perfect desktop

Updated: November 9, 2019

Traditions are there so they can be maintained, nourished, upkept, repeated. Most notably, any time
there’s a new
major CentOS release, I happily jump on the opportunity to test the distro
and also provide you with a tutorial that shows all the steps you need to undertake to turn a fairly
boring server distro into a fully productive, fun desktop setup.

We’ve done this with
CentOS 6 and
CentOS 7 (and there are
sequels, too), and it’s time we do the same with
CentOS 8. So let me show you all the bits and pieces you require to enjoy stability with the latest and
greatest software. Over the years, this effort has become easier, so it will be interesting to see
whether CentOS 8 makes it even simpler than the previous versions. Let’s begin.

Teaser

1. Additional repositories

CentOS does not have lots of the cool, modern desktop stuff that people expect in its standard
repos. So you will need to manually configure these extra channels. The two recommended sources are the
EPEL and RPM Fusion ones (both free and non-free).

sudo dnf install
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

sudo dnf install
https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm

sudo dnf install
https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

2. Additional software

Once you have the repos configured, you may want the extra stuff. Some of the stuff is available in
standard channels, some comes from EPEL and RPM Fusion. My list includes GIMP, LibreOffice, Steam, VLC.
Please note the last item needs separate treatment.

sudo dnf install gimp libreoffice-writer steam

LibreOffice does not (at the moment of writing) come as a meta package, so you will need to
install components separately. You can’t just specify dnf install libreoffice, you need lines like dnf
install libreoffice-writer or dnf install libreoffice-impress.

Extra apps

3. VLC fix

If you try to install VLC, you might see this error:

sudo dnf install vlc

Last metadata expiration check: 0:13:06 ago on Mon 30 Sep 2019 03:29:48 PM.

Error:

Problem: conflicting requests

– nothing provides libjack.so.0()(64bit) needed by vlc-1:3.0.8-20.el8.x86_64

– nothing provides libfluidsynth.so.1()(64bit) needed by vlc-1:3.0.8-20.el8.x86_64

(try to add ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best
candidate packages)

The fix is to enable the EPEL testing and RPM Fusion testing repos. This error should go away on its
own as packages are promoted from the testing repo to the standard one. Indeed, by the time you read
the article, this may no longer be relevant.

Go to
/etc/yum.repos.d/, and then open
epel-testing.repo and
rpmfusion-free-updates-testing.repo files in a text editor, with sudo or
root privileges, of course. Then, for each, edit the line that reads enabled=0 to enabled=1. Something
like this:

[epel-testing]

name=Extra Packages for Enterprise Linux $releasever – Testing – $basearch

#baseurl=https://download.fedoraproject.org/pub/epel/testing/$releasever/

Everything/$basearch

metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel$

releasever&arch=$basearch&infra=$infra&content=$contentdir

failovermethod=priority

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever

Then, you can install VLC normally:

sudo dnf install vlc

4. Chrome and Skype

These two applications are not available in the repositories. Go to the official website and
download the RPM files. Then, you can install them manually using dnf. This will also configure the
necessary repositories for future updates in the background.

sudo dnf install “downloaded chrome or skype rpm”

Chrome & Skype

5. Gnome Shell extension fix

By the time you read this article, you might be super-lucky, and everything works perfectly. But
then, you just might encounter difficulties getting extensions enabled. I did face this issue when
testing CentOS 8, and I had to first update Firefox, because it thought the Gnome Shell extension was
corrupt. Then I had to manually install the chrome-gnome-shell RPM package
from the CentOS 7 repo before I could interact with extensions using the
browser. An essential part in the Gnome desktop transformation. All of this is explained in rich detail
in my
dedicated tutorial on this subject.

Native host connector not found

6. Gnome Tweaks & customization

Once this step is done, you can now prettify your CentOS box. The first step would be to install
Gnome Tweak Tool, also known as Gnome Tweaks, which lets you make essential changes like fonts, window
buttons, and yes, extensions. Once you have it running, you can adjust the look & feel of your
distro.

sudo dnf install gnome-tweaks

Gnome Tweak Tool

7. GSConnect

This neat extension lets you interface your Android phone with your laptop. I’ve
reviewed it, and I found it quite useful, and it feels kind of cool
to have this sort of connectivity on a would-be spartan server distro. In general, it is based on
KDE Connect. Just grab it
from extensions.gnome.org.

GSConnect

8. Some additional Gnome extensions

However, you don’t need to settle with just
Dash to Panel and GSConnect, albeit they are awesome. There
are quite a few really cool, practical extensions available for the Gnome desktop, and I’ve
reviewed some of them in a
dedicated article, so you might as well take a look.

Various other extensions

9. Python fix

As part of the chrome-gnome-shell experiment, I noticed that there’s no default /usr/bin/python
path, which means that applications that explicitly rely on it to be present in the system will not
work, e.g.:

./chrome-gnome-shell

bash: ./chrome-gnome-shell: /usr/bin/python: bad interpreter: No such file or directory

The solution is to create a symbolic link to either python2 or python3:

sudo ln -s /usr/bin/python3 /usr/bin/python

Conclusion

There we go. I decided to keep this relatively short and sweet. Of course, we can diverge and talk
about all and every piece of software, but I believe the set above is pretty representative. It gives
the ordinary users access to modern, practical stuff, improved aesthetics and ergonomics, and there are
some practical tweaks, too.

If you like this, and you’d like to read more, feel free to ping me with your specific woes and
issues, and I’ll see if I can get them fixed or working, and then I will follow up with additional
CentOS guides. Meanwhile, you have a recipe for a solid, robust, stable desktop, with great programs
that address all them modern needs. Don’t forget that CentOS 8 will be supported for about a decade, so
if you need the peace of mind, this is a good starting point.

Source