Community,

I spent a lot of time building a custom BT4beta featuring the GNOME Desktop Environment and I finally succeeded. As I've seen several requests of yours regarding this topic, I'd like to share my experiences with you. I'll try to make this as straightforward as possible, so here we go...

For this tutorial, I assume you have a virgin BT4beta LiveUSB installation running. Just boot into persistent mode and do the following step-by-step. We'll completely remove KDE3.5, install a very basic GNOME from the Intrepid repositories and replace qtparted, knetworkmanager and KPDF with gparted, wicd and evince.

Step 1: subscribe to the wicd Intrepid repository, import its OpenPGP key and resynchronize the package index files from their sources
Code:
# sh -c 'echo "deb http://apt.wicd.net intrepid extras" >> /etc/apt/sources.list'
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B8C0755A
# apt-get update
Step 2: Completely remove KDE3.5 & related packages
Code:
# apt-get remove --purge kamera-kde3 kappfinder-kde3 kate-kde3 kcontrol-kde3 kdebase-data-kde3 kdebase-kde3 kdebase-kde3-bin kdebase-kio-plugins-kde3 kdebase-runtime-data-common-kde3 kdemultimedia-kio-plugins-kde3 kdepasswd-kde3 kdeprint-kde3 kdesktop-kde3 kfind-kde3 kghostview-kde3 khelpcenter-kde3 kicker-kde3 klaptopdaemon-kde3 klipper-kde3 kmenuedit-kde3 konqueror-kde3 konqueror-nsplugins-kde3 konsole-kde3 kpager-kde3 kpdf-kde3 kpersonalizer-kde3 kregexpeditor-kde3 ksmserver-kde3 ksnapshot-kde3 ksplash-kde3 ksysguard-kde3 ksysguardd-kde3 ktip-kde3 kwin-kde3 kwin-style-crystal-kde3 libkcddb1-kde3 libkonq4-kde3 cryptsetup enscript ghostscript-x gs kdebase-runtime-data kdebase-runtime-data-common libavahi-compat-libdnssd1 libcdparanoia0 libdbus-qt-1-1c2 libtag1c2a libvorbisenc2 pmount poster psutils qtparted ntfsprogs jfsutils libntfs10 xfsprogs knetworkmanager network-manager network-manager-kde libdbus-1-qt3 update-notifier-common kdelibs-data-kde3 kdelibs4c2a kdelibs4c2a-kde3 libarts1c2a-kde3 libartsc0-kde3 libavahi-qt3-1 liblua50 liblualib50 libmng1 libqt3-mt
Step 3: Install GNOME (utilizing gnome-core) & related packages
Code:
# apt-get install alacarte avahi-utils bc capplets-data cdrdao cups cups-client cups-common cupsys deskbar-applet desktop-file-utils doc-base dvd+rw-tools eog evolution-data-server evolution-data-server-common foomatic-db foomatic-db-engine foomatic-filters gedit gedit-common gnome-about gnome-app-install gnome-applets gnome-applets-data gnome-control-center gnome-core gnome-desktop-data gnome-doc-utils gnome-icon-theme gnome-media gnome-media-common gnome-menus gnome-netstatus-applet gnome-panel gnome-panel-data gnome-session gnome-settings-daemon gnome-system-monitor gnome-terminal gnome-terminal-data gnome-user-guide gnome-utils gstreamer0.10-alsa gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-x gvfs gvfs-backends libaa1 libao2 libapm1 libarchive1 libatspi1.0-0 libavahi-compat-libdnssd1 libbeagle1 libcaca0 libcairomm-1.0-1 libcamel1.2-14 libcanberra-gtk-module libcanberra-gtk0 libcanberra0 libcdio-cdda0 libcdio-paranoia0 libcdio7 libcdparanoia0 libcucul0 libdv4 libebackend1.2-0 libebook1.2-9 libecal1.2-7 libedata-book1.2-2 libedata-cal1.2-6 libedataserver1.2-11 libedataserverui1.2-8 libeel2-2 libeel2-data libegroupwise1.2-13 libexempi3 libfreezethaw-perl libgdata-google1.2-1 libgdata1.2-1 libglibmm-2.4-1c2a libgnome-desktop-2-7 libgnome-media0 libgnome-menu2 libgnome-window-settings1 libgnomecups1.0-1 libgnomekbd-common libgnomekbd3 libgnomekbdui3 libgnomeprint2.2-0 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common libgtkmm-2.4-1c2a libgtksourceview-common libgtksourceview1.0-0 libgtksourceview2.0-0 libgtksourceview2.0-common libgucharmap7 libgvfscommon0 libgweather-common libgweather1 libijs-0.35 libmetacity0 libmldbm-perl libnautilus-burn4 libnautilus-extension1 libnet-dbus-perl liboil0.3 liboobs-1-4 libpanel-applet2-0 libpangomm-1.4-1 libpoppler3 librarian0 libshout3 libslp1 libsoup2.4-1 libtag1c2a libtie-ixhash-perl libtotem-plparser12 libuuid-perl libv4l-0 libvisual-0.4-0 libvisual-0.4-plugins libvorbisenc2 libwavpack1 libxklavier12 libxml-twig-perl libxml-xpath-perl libxml2-utils metacity metacity-common mousetweaks nautilus nautilus-cd-burner nautilus-data obex-data-server poppler-utils python-beagle python-gmenu python-gnome2 python-gnome2-desktop python-gnomecanvas python-gtksourceview2 python-xkit screen-resolution-extra system-tools-backends ubuntu-system-service wodim xsltproc yelp wicd evince file-roller libkpathsea4 libpoppler-glib3 libspectre1 zip gparted
There are two major problems with a BT4beta GNOME edition...
#1 almost 99% of the Desktop entries (Backtrack Menu Items) are not usable in a GNOME Desktop Environment
#2 the Backtrack Menu is not even accessible by default in a GNOME Desktop Environment

I won't bother you with the particular reasons at this point, but I'd like to share a method with the Community that's both simple and efficient to work around it. So, let's move on...

Step 4: Solving Problem #1
Create a shell script "convert.sh" with the following content
Code:
#!/bin/sh
for i in /usr/local/share/applications/*.desktop; do
./convert.awk "$i" > "$i.tmp"; mv "$i.tmp" "$i"; 
done
Create an awk script "convert.awk" with the following content
Code:
#!/usr/bin/awk -f
BEGIN{FS="="}
$1=="Exec" {exec = $2;en=NR}
{array[NR]=$0}
END{
gsub(/\"/,"\\\"",exec)
split(exec, esplit, ";")
if(esplit[2] > ""){
	exec="sh -c ""\""exec"\""
}
array[en]="Exec=" exec
for(i=1;i<=NR;i++){
  print array[i]
}
}
Once this is done, make both scripts executable and finally execute the shell script "convert.sh"
Code:
# chmod 755 convert.awk
# chmod 755 convert.sh
# ./convert.sh
Step 5: Solving Problem #2
Download my custom Backtrack Menu for the GNOME Desktop Environment at http://piranha.klashed.net/private/applications.menu (no attachments in these forums?) and save it to (...) within your BT4beta GNOME edition
Code:
/root/.config/menus/applications.menu
That's it - just run "startx" and have fun! For my very personal copy of the BT4beta GNOME edition, I also put a lot of effort into the visual appearance (GTK, Metacity, Icons) but this is not scope of this Tutorial as it's dependent on personal preferences and thus is up to you. I'm certainly willing to share the rest of it per request though. Some very minor changes need to be done in addition to this - just let me know if you ran into particular problems.

EDIT 06-11-2009
Here is a screenshot of my very personal copy of the BT4beta GNOME Edition showcasing the Backtrack Menu http://img7.imageshack.us/img7/7719/screenshotokx.png

best,
orange