I'm new to Ubuntu (14.04 LTS) and while I understand a bit about Linux I'm still confused about the entire concept because when I read terms like IRC, GTK, Gnome, Qt and so on, I get confused as to what they mean. To put things into a clearer perspective, I do use the command line and I understand some of the commands when I use them. It's basically just Googling around for related Questions on Forums till I get the correct code and then copying and pasting it (I know it requires a fair bit of knowledge about shell scripting, i'm guessing, to really understand the commands properly).

So I read about KDE and I've been using Ubuntu for a relatively short while. While I'm currently using Unity, I'm wondering whether it is necessary to switch to KDE to make it easier to develop and contribute to software being developed for it.

This is particularly with respect to Google Summer of Code that recommends you contribute to the KDE community, on any project of your liking, as a start to familiarize yourself with the environment. I know it's a long way to go for an utter noob but I've got to set a goal and start somewhere.

My question is whether I should download and install KDE and Plasma Desktop, as I believe it is called, or continue to use Unity, and if I do, what is the difference between the two?

1 Answer 1


Warning: Wall of text incoming.

Because the GNU/Linux operating system is not built by a single project, it needs to be modular. For example, it needs to combine and orchestrate a network driver with the input driver, GUI, browser, etc. Broadly speaking, a GNU/Linux distribution does this combination (of the various modules).

Ubuntu is a GNU/Linux distribution. A distribution essentially is a collection of software and how they are “glued together”. There are various distributions because there are different needs/taste. As analogy consider McDonalds. There are several types of burgers (distributions), with different number of breads, meat, cheese, etc, such as Big Mac and Chesseburguer. Each person usually prefer a different type of sandwitch (distribution) based on their needs.

Moving on, GTK+ and Qt are graphic toolkits (think of them as primitives). A graphical software 'module' that talks with the "screen" software module of the operating system (ex: X11). Graphic applications, such as Nautilus or Dolphin, respectively GNOME and KDE file managers, are built using these primitives (GTK+ and Qt). For example, they (the applications) say: hey give me and draw a window. Ok, now draw a menu, draw a button, etc.

Further, we can generalize and say that KDE essentially is a collection, itself, of softwares that are built on top of the Qt framework (graphical 'module'). Not only KDE provide applications, such as Dolphin, K3B, Amarok, they also provide higher level libraries/modules (usually built on top of Qt or other 'module') for these applications. For example libraries that make it easier to handle and work with files, or send/receive data.

Further, they (KDE) also provide their own graphic environment, called Plasma. Plasma is an application (also on top of Qt) that controls the main GUI (the taskbar, tray area, desktop, etc).

Having said that, if you want to help KDE with applications all you need is the Qt toolkit (qt, pyQT, etc) and possibly KDE libraries (kio, kparts, etc).

If you want to develop KDE libraries, such as an existing library, you will need Qt and preferred an updated KDE collection of software to test the applications that use the library.

Finally, if you intend to develop plasma itself (“the main GUI”), then you will need the latest Qt and KDE collection of software.

  • Thanks for your time and effort in typing it all out, man. Really appreciate it! Oct 9, 2015 at 17:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .