vnc xstartup File

Hello everyone I'm new to linux scripting, but I do have experience with Java programming and batch file scripting in Windows. I'm trying to setup the xstartup file for a machine that I have on my network that is running Lubuntu. On Ubuntu's VNC HowTo page they have a script that will configure a VNC session for Gnome and KDE, but they don't have one for Lubuntu's LXDE desktop envirment. I would write the script myself, but I don't understand what this script is doing.

# Try a GNOME session, or fall back to KDE
if [ "GNOME" = "$MODE" ]
then
if which gnome-session >/dev/null
then
gnome-session --session=ubuntu-2d &
else
MODE="KDE"
fi
fi

I have three questions?

  1. Is the gnome-session a file or a service?

  2. What is this script doing when it's telling the gnome session to empty itself into the null device?

  3. What does the "&" symbol mean in Linux scripting?

  1. gnome-session is command starting the gnome desktop. In LXDE, lxsession should be the equivalent.
  2. It's redirecting its stdout to nirwana as that obviously is not needed. It's communicating to e.g. the X server via other channels (e.g. UNIX sockets, shared memory, ...)
  3. That puts a process into backgroud. man bash :