How can I know if my an application on my desktop environment is loading other DE's modules, libraries, etc?

In general way , you can actually lookup in Synaptic manager by selecting the SECTIONS menu, having GNOME Desktop , KDE desktop , amd XFCE desktop environment sub-sections, stating the default applications either QT or GTK based.

And ,there is Library section , a shared section showing Libraries of Gnome and Kde desktop . If you can take a look in description of some of them ,you will find similarity in some of QT's with GTK's , etc.

Gnome and KDE don't have shared Libraries but some common modules like KERNEL and drivers , but different frontends like network managers , sound menu ,etc for them based on DE's .

Dependencies of DE based applications are explained nicely in the above reverendj1's answer. Apart from that you can use utilities like apt-cache ,dpkg ,dpkg-query to get detailed package information and its dependencies and runtime libraries.

And pointing to multiple Desktops modules or library's usage , in simple words if you have KDE and GNOME installed , on running KDE application in Gnome environment will initialize KDE library and vice-versa to polish its interface , integration ,etc . So you will be having two different Core Library functions running. If you have considerable memory for both of them , then its quite a fun to try.


There are commands like

ldd -->>

which prints the shared libraries required by each program or shared library specified on the command line.

For example

ldd -u /usr/bin/nautilus
Unused direct dependencies:
    linux-vdso.so.1
    /usr/lib/libzeitgeist-1.0.so.1
    /usr/lib/x86_64-linux-gnu/libgailutil-3.so.0
    /usr/lib/libgnome-desktop-3.so.2
    /usr/lib/x86_64-linux-gnu/libX11.so.6
    /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0
    /usr/lib/x86_64-linux-gnu/libnotify.so.4
......

ltrace -->>

ltrace  is  a  program  that simply runs the specified command until it
       exits.  It intercepts and records the dynamic library calls  which  are
       called  by  the  executed process and the signals which are received by
       that process.  It  can  also  intercept  and  print  the  system  calls
       executed by the program.

For example

ltrace  ping
__libc_start_main(0x4014a0, 1, 0x7fffdbad54a8, 0x405b00, 0x405b90 <unfinished ...>
socket(2, 3, 1)                                                                                        = 3
__errno_location()                                                                                     = 0x7f0ed1c7a6a0
getuid()                                                                                               = 0
setuid(0)                                                                                              = 0
getopt(1, 0x7fffdbad54a8, "h?VQ:I:M:aUc:dfi:w:l:S:np:qrs:vL"...)                                       = -1
fwrite("Usage: ping [-LRUbdfnqrvVaAD] [-"..., 1, 251, 0x7f0ed1a6d180Usage: ping [-LRUbdfnqrvVaAD] [-c count] [-i interval] [-w deadline]
            [-p pattern] [-s packetsize] [-t ttl] [-I interface]
            [-M pmtudisc-hint] [-m mark] [-S sndbuf]
            [-T tstamp-options] [-Q tos] [hop1 ...] destination
)                                  = 251
exit(2 <unfinished ...>
+++ exited (status 2) +++

When installing programs, you can look at their requirements. I don't think you can show this in Ubuntu Software Center, but when you install programs with the terminal, using apt-get, it will show you the requirements it is installing and ask if it is ok. If they include another DE, don't install them.

Most KDE applications either start with K, or have an emphasized K in their name (i.e. Amarok, Koffice, etc). I don't THINK the other DEs are really necessary to steer away from, as I THINK they mostly use GTK, which is what Gnome uses.

To see if anything has installed KDE, simply open a terminal, and use the following command:

sudo apt-get remove kde-runtime

If it errors out and says Package kde-runtime-data is not installed, so not removed, you're good. Nothing to worry about. If instead, it shows a bunch of programs that are installed and no longer required, then look at the part where it says The following packages will be REMOVED. These are the programs you will have to replace (if you know what they are and you installed them). Jot those down, and proceed with the uninstall.

If you do need to uninstall kde-runtime, make sure to run sudo apt-get autoremove afterwords, which will clean up all the other unnecessary cruft installed alongside KDE.

After saying all of this, the performance hit when running programs from different DE's is blown out of proportion on modern computers. I always use Gnome, but I install KDE programs with reckless abandon when they are better than their Gnome counterparts, and have never really noticed much of a difference.