Все определения есть в приватных классах Qt. Снаружи к ним не добраться.
Вот как сами тролли их определяют:
C++ (Qt)
if( !qgetenv( "KDE_FULL_SESSION" ).isEmpty() )
; // kde
else if( qgetenv( "DESKTOP_SESSION" ) == "gnome" ||
!qgetenv( "GNOME_DESKTOP_SESSION_ID" ).isEmpty() )
; // gnome
Насчёт Unity ничего не скажу.