Pimp your GNOME! How to upgrade desktop environment


Compared any Linux-distro with Windows or OS X, it was counted that Linux is worse by desktop part. End-users said Linux DE`s can’t provide opportunity to make your desktop interesting and beautiful. DE is an acronym of “Desktop Environment” term. Of course, that’s not true. Now almost any Linux environment seems like a huge canvas where you can design a desktop of your dreams. You can make your own environment – just pick some applets you paid attention. Or play a developer role – create new applications for DE improvement.

There is a huge selection of desktop environment to choose. There might be GNOME, KDE, Xcfe, Unity, Cinnamon and so on. You can look up at DE`s comparison in this article. I’ve chosen GNOME, so I’d like to share with you my little tutorial.

Disclaimer. I don’t pretend on impeccable award of the best desktop in whole world history. Mostly this post can be useful for those who just started to exploit Linux (or explore GNOME). If you have any other idea about desktop arrangement – welcome to the comments. Commands that I set have been tested at Fedora 23 distro with DNF package system. If you have Arch, Ubuntu or any other system with GNOME, modify it for you. Change commands depending on your package system and shell interpreter features.

Let’`s go!

1. Grab a “gnome-tweak-tool” utility.

It’s necessary for any way of DE modification. “Gnome-tweak-tool” is a settings application where you can configure any component of your desktop. It could be GTK theme, extensions, backround wallpapers and some kinds of other. Where can you find tweak tool? Just install it from the box.

dnf install gnome-tweak-tool

You can find it in your launcher as a “Tweak tool” app. Repeatedly, there is a plenty of GUI configuration parameters.

2. Clean up your launcher.

After first month of GNOME usage you can notice your apps launcher is a stuffy. You can fix it through 2 ways:

  • delete useless icons from launcher

Basically your launcher has many apps you never use. There might be native unremoved applications (“Contacts”, “Video”, any system utility). There might be icons referred to one multifunctional application (“Wine”). In a nutshell: we face with situation when we don’t want to remove app, but want to  get rid of app icon in launcher too. The most popular solution – just remove icons.

The icons storage usually keeps a track at /usr/share/applications directory. With special access rights we can come there and remove desktop files we don’t use. You can do it manually through simple “rm” command. I’d suggest you to make a shell-script. Cause after system updates icons could be recovered in launcher and we need to remove it again. By script running it’s going to be easier. Here is an instance of icons refreshing.

array=(empathy lash-panel org.gnome.clocks org.gnome.Contacts wine)
cd /usr/share/applications
for item in ${array[*]}; do
	sudo rm $item*.desktop
  • make apps folder

Eventually you want to collect your apps into one group for pleasant consistency. And GNOME got it! You can sort your apps with two options. At first – make a folder in “Software Center” and put there every necessary app.



At second – do the same thing through terminal. Here is an example.

gsettings set org.gnome.desktop.app-folders folder-children "[..., 'Media']" //add new folder
gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Media/ name 'Media' //name new folder
gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Media/ apps "['audacious.desktop', 'brasero.desktop', 'vlc.desktop']" //put desktop files in folder

Be careful and don’t set your folder with one app. When you put apps to folder, GNOME automatically kicks out each app you didn’t set by command. If you refresh existed folder this way

org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Media/ apps "['totem.desktop']"

GNOME leaves in folder only Totem app you pointed.

If this kind of applications sort is complicated or meaningless for you – use dconf-editor. dconf is a flexible utility for GNOME structuring, and dconf-editor is a GUI tool.You can modify the same options on graphical window carelessly and view changes in real time. Also you have to find out directory with folders metadata. It should be org/gnome/desktop/a1ly/app-folders/folders.57nojt0hu_0

3. Add your own icons in launcher

Sometimes we install software by complicated way without package system using. It could be “make”, could be an execution of installation source code. And most likely it doesn’t include icon installation in your launcher. But anyway that’s would be perfect to see installed app in launcher.

At first go to the /usr/share/applications directory. What’s forth? Just make a new file with .desktop extension by “touch” command and type there settings that you want.

cd /usr/share/applications
touch anyapp.desktop

Open “touched” file and make some configuration. For example, this is a manual configuration of MATLAB desktop file.

[Desktop Entry]
Version=1.0 #version of software
Name=MATLAB 2014b #name in your launcher
GenericName=Matlab R2014b #name in Software Center
Comment=Matlab R2014b: The Language of Technical Computing #app description
Exec=sh /usr/local/MATLAB/R2014b/bin/matlab -desktop #command that starts an app from shell
Icon=/usr/share/icons/Numix-Circle/scalable/apps/matlab.svg #path to icon picture
Terminal=false #do we need to run an app by terminal or not
Type=Application #kind of desktop file (also could be Link or Directory)
Categories=Application;Office; #app category

If configuration was done without syntax mistakes, app will be shown from the next DE session. Warning: don’t type comments in .desktop file as I did. It’s just a detailed description about any key of configuration.



You can add in .desktop file much more parameters that I’ve done. For this goal redirect you to the GNOME documentation[1][2].

4. Setup GTK theme

GTK theme is a GUI theme for GNOME which specifies your graphical windows, format of some apps and so on. GNOME users have a myriad number of good-looking themes [1][2].

At first, find a package of your favorite theme. I usually do it in rpm-packs storage. For deb-based distros the good source is here. Download package you chose and install it directly from package location. If everything is accomplished, you can pick this theme at “Tweak tool”. Check the “Appearance” option.


That’s what I got, when I installed Numix theme.


Also you can download archive with theme sources and unpack it in /usr/share/themes directory. “Tweak tool” should recognize new directory as a GTK theme.

5. Setup icons theme.

Icons theme setup is analogical with GTK theme. Icons theme is the default icons format. If standard GNOME icons isn’t favourable – you’re on your choice! Again I’d like to meet you with reasonable rating of themes.

Keep going the same operations as you did with GTK theme. Find a theme package/archive, download and install it and take a pick in “Tweak tool”. You can find cons theme parameter closely with GTK theme. I`ve been in a cloud nine, when I tried Numix-circle theme.


6. Apply “Dash to Dock” extension.

GNOME extension “Dash to Dock” provides you to place favorites panel on the desktop directly.  You can set the panel on any side of screen. There is nothing special to do it. Just make this extension enable from official page. After that come back to “Tweak tool”, find option “Extensions” and switch “Dash to Dock” open! Of course, you can modify any parameter of panel, from size to corners. You can add application to favorite panel with right mouse button.

Here is a simple example of “Dash to Dock” panel.


Later you can bring new stuff from GNOME Extensions web-site. They have plethora of useful applets.

6. Setup conky.

Conky is a software for the X Window System imagined as a simple dynamic window embedded to desktop. Conky is able to follow many system components (CPU, memory, swap, disk space etc.) and provide any other dynamic information (weather forecast, for example). It is extremely configurable.

You can download Conky packages from any source. I’d suggest to choose this collection. After downloading you can configure eat easily with few steps.

a) install Conky + Conky Manager

Conky is a central utility to launch your desktop widgets. Conky Manager used to keep Conky in bootloader and simple conky’s switching and modifying. If you will install Manager at first, Conky package will be set too as a dependency.

dnf install conky-manager

b) unpack Conky’s archive to folders.

Usually it’s going to be put in user home directory with name like “.conky”.

c) configure Conky Manager.

Declare your new folder in Conky Manager for further scanning. After that run a Manager rescan. If everything is correct, some conky’s should be shown in general list.

d) add favorite conky’s to desktop

Take your pick and put conky to any place you want. You can move it through conky-file modification. There also might be color replacing, text and data correcting. In short, you can do with conky whatever you want. If you wish to go forth, you can develop your own conky with special configuration language. It allows to include output stream of scripts to the conky screen. That`s a great opportunity to design dynamic monitoring of anything.

I configured 2 conky’s. The first one: system resources monitoring. The second one: schedule of my favorite sport events that’s changing dynamically. So, here is a total result!

Снимок экрана от 2016-01-31 18-59-15.png

7. Pick marvellous wallpapers.

It’s not so important. But I guess you would be better with jaw-dropping desktop background. I prefer to take pictures from this resource.

8. Get a “screenfetch” utility.

It’s optional too. But it’s a good manner to keep “screenfetch” output open when you’re making a screenshot. Also this program checks many useful information about your hardware components and DE configuration. It’s easy to get it now and run it.

dnf install screenfetch

And you will see an output like this. Don’t pay attention about my ugly number of packages. It’s just a Fedora feature.


Bonus: “preload” utility

Hopefully it’s not a component of desktop environment. But it can force your system (and DE software in particular) to work faster. “Preload” has idea to accelerate your program launch by simple RAM usage. It’s monitoring frequently used programs and caching them in memory. And it works great! It’s obviously: reading process from RAM is absolutely faster than reading process from disk. All you need by software is a definitely big amount of memory for caching possibility. In my opinion, RAM >4GB should be enough.

By software all you need is type some commands.

dnf install preload
systemctl enable preload
systemctl start preload

If you have deb-based distro – use apt-get instead of dnf. If you want to control preload processes – change its configuration in /etc/preload.conf file. To check the list of useful programs and libraries – cat the /var/lib/preload/preload.state file.

Here is a stolen diagram of “before/after” comparison.


Also there was a “prelink” utility which linked binary of program and necessary libraries. But now it’s thought as an app more corrupting your system then upgrading.

Hope you realized the way to get some stuff and combine it into one pretty desktop. Try it and tell your “proprietary-using” friends “Your OS is ugly!”. Develop something new for your DE and share it with others. Enjoy the Linux, enjoy the Open-source!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s