Man kann immer KDE-Programme unter Gnome und auch umgekehrt starten weil Linux wie Unix modular aufgebaut ist. Man kann also den Desktop und auch den XServer (Grafiktreiber) austauschen.
Die meisten Programme sind dynamisch gelinkt. Das bedeutet, das ein Teil des Programmes in solchen Bibliotheken lib???.so ist.
KDE und Gnome sind nur Desktops, die für die komfortabel Konfiguration des Arbeitsplatzes zuständig sind.
Wenn man die passenden Bibliotheken für das jeweilge Programm mitinstalliert, kann man auch ein KDE Programm unter Gnome starten und auch ausführen.
Die Abhängigkeiten werden von solchen Paketmanager wie apt unter Debian und auch Ubuntu automatisch nachinstalliert. Bei SUSE ist das meist ein Problem wenn man fremde Programme installiert, weil es bei SUSE momentan noch keinen Paketmanager gibt, der auch bei der Installation fremder Programme, die erforderlichen Bibliotheken von SUSE nachinstalliert. Ich wüßte jeweils kein solchen Paketmanager.
Die programme werden mit rpm unter SUSE installiert (dpkg unter Debian und Ubuntu).
Du mußt mal hinterher mit dem befehl "ldd programm" überprüfen , ob alle benötigen Biblitheken bei SUSE schon installiert sind. apt und synaptic machen das automatisch.
Beispiel Brennprogramm nero:
/usr/bin# ldd nero
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40021000)
libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x40030000)
libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x40179000)
libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x401b1000)
libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x401b4000)
libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x401b7000)
libdl.so.2 => /lib/tls/libdl.so.2 (0x401d8000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401db000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401e4000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401f2000)
libm.so.6 => /lib/tls/libm.so.6 (0x402b9000)
libNeroAPI.so => /usr/lib/libNeroAPI.so (0x402db000)
libNeroSCSI.so => /usr/lib/libNeroSCSI.so (0x407df000)
libNeroErr.so => /usr/lib/libNeroErr.so (0x40816000)
libNeroCDR.so => /usr/lib/libNeroCDR.so (0x40900000)
libNewTrf.so => /usr/lib/libNewTrf.so (0x40a37000)
libc.so.6 => /lib/tls/libc.so.6 (0x40b8e000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libCDCopy.so => /usr/lib/libCDCopy.so (0x40cc3000)
Links stehen die Bibliotheken die das jeweilige Programm benötigt und rechts vom Pfeil wo sie gefunden werden (oder auch nicht).,
Wenn da ein paar Bibliotheken fehlen, mußt du sie von SUSE manuell nachinstallieren.
Wichtig ist auch, das die jeweilige Distribution möglichst kompatibel ist zur Linux Standard-Base. Dadurch wird garantiert, das der Programmcode der Bibliotheken gleich ist (Die Programme werden meist unter einer anderen Distribution programmiert und laufen hinterher auf einer anderen Distribution. Das ist auch der größte Vorteil von Linux gegenüber Unixvarianten wie FreeBSD oder Solaris).