WebFaction
Community site: login faq

Has anyone been able to install an X server with VNC, along with a real Window Manager (like Xfce), so that I can VNC into a windowed environment on my server?

asked 21 Apr '12, 04:17

ryans ♦♦
5.0k103960
accept rate: 43%


Introduction

Here is an installation guide for Xfce 4.8 with a fill GTK+ 2.24.10 and X11 Release 7.6-2 backend.

You can run these commands individually, or you can paste them into a shell script and run it as

bash -e build_xfce-4.8.sh | tee build_xfce-4.8.log

Either way, you will want to run it in a screen session.

There are quite a lot of packages, but the actual install time is only around 90 minutes and only uses about 300 MB of disk space. You can remove the $HOME/src directory after installation if you don't need it.

This build has been tested on our 64-bit CentOS 6 machines (web300+), but may work with minor modification on older machines. When running, the VNC server and window manager uses approximately 150MB of memory (not including applications you launch within the session).

Start the VNC server using the command start_vnc_server and keep it in the foreground. You can connect to the server using vncviewer (TightVNC) on Linux (Ubuntu package xtightvncviewer) or RealVNC on Windows. The connection password is in your ~/.vnc_passwd file.

When you first log in, you initially won't have any icons. I suggest the following themes selected within Xfce's Appearance and Window Manager settings which should fix everything:

     Xfce Main Theme:  Xfce-cadmium
     Xfce Icon Theme:  Tango
Window Manager theme:  Therapy

The default port starts at 5900 and goes up for each DISPLAY_NUM value, so for example display 2 would be port 5902, display 3 would be 5903, and so on up to port 5999. This guide chooses a default display of 2, but you should choose a random value between 2 and 99 and update this in $HOME/bin/start_vnc_server script. You can also set the EXTERNAL_IP here as well.

To connect, you can connect either with the IP and display number with a single colon (123.123.123.123:2) or else the IP and port with a double colon (123.123.123.123::5902). This works in both TightVNC and RealVNC.

The default password authentication is not very secure and sends the password in plain text over the internet. This is a good default because it doesn't require any special configuration. For improved security, you should consider binding the application to EXTERNAL_IP=127.0.0.1 and using an SSH Tunnel (advanced guide).

Installation Procedure

# (1) Got an "open ports" IP and opened 5900-5999.
#     Really, any port will do.

EXTERNAL_IP=123.123.123.123

# fix lib64
if [ ! -L "$HOME/lib64" ]; then ln -s $HOME/lib $HOME/lib64; fi

# set up env vars
mkdir -p $HOME/src $HOME/tmp
export TMPDIR="$HOME/tmp"
export PATH="$HOME/bin:$PATH"
export C_INCLUDE_PATH="$HOME/include:$C_INCLUDE_PATH"
export LIBRARY_PATH="$HOME/lib:$LIBRARY_PATH"
export LD_LIBRARY_PATH="$HOME/lib:$LD_LIBRARY_PATH"

export CPPFLAGS="-I$HOME/include $CPPFLAGS"
export LDFLAGS="-L$HOME/lib $LDFLAGS"

export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"

export PYTHON=python2.7
mkdir -p $HOME/lib/${PYTHON}

mkdir -p $HOME/lib/perl5
export PERL5LIB="$HOME/lib/perl5"

export CFLAGS="-O2 -pipe"

################
##################
#    X11R7.6-2
##################
################
mkdir -p $HOME/etc/profile.d
cat > $HOME/etc/profile.d/xorg.sh << "EOF" &&
export XORG_PREFIX="$HOME"
export XORG_CONFIG="--prefix=$XORG_PREFIX \
                    --sysconfdir=$HOME/etc \
                    --mandir=$XORG_PREFIX/share/man \
                    --localstatedir=$HOME/var"
export PATH="$XORG_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="$XORG_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="$XORG_PREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
EOF
chmod 644 $HOME/etc/profile.d/xorg.sh

# important!
source $HOME/etc/profile.d/xorg.sh

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/util-macros-1.15.0.tar.bz2'
tar -xjf util-macros-1.15.0.tar.bz2
cd util-macros-1.15.0
./configure $XORG_CONFIG
make install

# protocol headers

# for some reason, LIBRARY_PATH (the compile-time static link path) breaks these.
unset LIBRARY_PATH

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/bigreqsproto-1.1.1.tar.bz2'
tar -xjf bigreqsproto-1.1.1.tar.bz2
cd bigreqsproto-1.1.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/compositeproto-0.4.2.tar.bz2'
tar -xjf compositeproto-0.4.2.tar.bz2
cd compositeproto-0.4.2
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/damageproto-1.2.1.tar.bz2'
tar -xjf damageproto-1.2.1.tar.bz2
cd damageproto-1.2.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/dmxproto-2.3.1.tar.bz2'
tar -xjf dmxproto-2.3.1.tar.bz2
cd dmxproto-2.3.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/dri2proto-2.6.tar.bz2'
tar -xjf dri2proto-2.6.tar.bz2
cd dri2proto-2.6
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/fixesproto-5.0.tar.bz2'
tar -xjf fixesproto-5.0.tar.bz2
cd fixesproto-5.0
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/fontsproto-2.1.1.tar.bz2'
tar -xjf fontsproto-2.1.1.tar.bz2
cd fontsproto-2.1.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/glproto-1.4.14.tar.bz2'
tar -xjf glproto-1.4.14.tar.bz2
cd glproto-1.4.14
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/inputproto-2.0.2.tar.bz2'
tar -xjf inputproto-2.0.2.tar.bz2
cd inputproto-2.0.2
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/kbproto-1.0.5.tar.bz2'
tar -xjf kbproto-1.0.5.tar.bz2
cd kbproto-1.0.5
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/printproto-1.0.5.tar.bz2'
tar -xjf printproto-1.0.5.tar.bz2
cd printproto-1.0.5
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/randrproto-1.3.2.tar.bz2'
tar -xjf randrproto-1.3.2.tar.bz2
cd randrproto-1.3.2
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/recordproto-1.14.1.tar.bz2'
tar -xjf recordproto-1.14.1.tar.bz2
cd recordproto-1.14.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/renderproto-0.11.1.tar.bz2'
tar -xjf renderproto-0.11.1.tar.bz2
cd renderproto-0.11.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/resourceproto-1.2.0.tar.bz2'
tar -xjf resourceproto-1.2.0.tar.bz2
cd resourceproto-1.2.0
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/scrnsaverproto-1.2.1.tar.bz2'
tar -xjf scrnsaverproto-1.2.1.tar.bz2
cd scrnsaverproto-1.2.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/videoproto-2.3.1.tar.bz2'
tar -xjf videoproto-2.3.1.tar.bz2
cd videoproto-2.3.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xcmiscproto-1.2.1.tar.bz2'
tar -xjf xcmiscproto-1.2.1.tar.bz2
cd xcmiscproto-1.2.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xextproto-7.2.0.tar.bz2'
tar -xjf xextproto-7.2.0.tar.bz2
cd xextproto-7.2.0
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86bigfontproto-1.2.0.tar.bz2'
tar -xjf xf86bigfontproto-1.2.0.tar.bz2
cd xf86bigfontproto-1.2.0
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86dgaproto-2.1.tar.bz2'
tar -xjf xf86dgaproto-2.1.tar.bz2
cd xf86dgaproto-2.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86driproto-2.1.1.tar.bz2'
tar -xjf xf86driproto-2.1.1.tar.bz2
cd xf86driproto-2.1.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86vidmodeproto-2.3.1.tar.bz2'
tar -xjf xf86vidmodeproto-2.3.1.tar.bz2
cd xf86vidmodeproto-2.3.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xineramaproto-1.2.1.tar.bz2'
tar -xjf xineramaproto-1.2.1.tar.bz2
cd xineramaproto-1.2.1
./configure $XORG_CONFIG
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xproto-7.0.23.tar.bz2'
tar -xjf xproto-7.0.23.tar.bz2
cd xproto-7.0.23
./configure $XORG_CONFIG
make install

# set LIBRARY_PATH back to what it should be
export LIBRARY_PATH="$HOME/lib:$LIBRARY_PATH"

# makedepend
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/makedepend-1.0.3.tar.bz2'
tar -xjf makedepend-1.0.3.tar.bz2
cd makedepend-1.0.3
./configure $XORG_CONFIG
make
make install

# libXau
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXau-1.0.6.tar.bz2'
tar -xjf libXau-1.0.6.tar.bz2
cd libXau-1.0.6
./configure $XORG_CONFIG
make
make install

# libXdmcp
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXdmcp-1.1.0.tar.bz2'
tar -xjf libXdmcp-1.1.0.tar.bz2
cd libXdmcp-1.1.0
./configure $XORG_CONFIG
make
make install

# libpthread-stubs
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libpthread-stubs-0.3.tar.bz2'
tar -xjf libpthread-stubs-0.3.tar.bz2
cd libpthread-stubs-0.3
./configure --prefix=$HOME
make
make install

# xcb-proto
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xcb-proto-1.6.tar.bz2'
tar -xjf xcb-proto-1.6.tar.bz2
cd xcb-proto-1.6
./configure $XORG_CONFIG
make install
install -dv -m755 ${XORG_PREFIX}/share/doc/xcb-proto-1.6
install -v -m644 doc/* ${XORG_PREFIX}/share/doc/xcb-proto-1.6

# libxcb
wget 'http://mirror.ryansanden.com/xfce-4.8/libxcb-1.7.tar.bz2'
tar -xjf libxcb-1.7.tar.bz2
cd libxcb-1.7
./configure $XORG_CONFIG
make
make install

# =========================================
# Xorg Libs
# =========================================

# for some reason, LIBRARY_PATH (the compile-time static link path) breaks these.
unset LIBRARY_PATH

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xtrans-1.2.6.tar.bz2'
tar -xjf xtrans-1.2.6.tar.bz2
cd xtrans-1.2.6
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libX11-1.4.4.tar.bz2'
tar -xjf libX11-1.4.4.tar.bz2
cd libX11-1.4.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXext-1.3.0.tar.bz2'
tar -xjf libXext-1.3.0.tar.bz2
cd libXext-1.3.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libFS-1.0.3.tar.bz2'
tar -xjf libFS-1.0.3.tar.bz2
cd libFS-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libICE-1.0.7.tar.bz2'
tar -xjf libICE-1.0.7.tar.bz2
cd libICE-1.0.7
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libSM-1.2.0.tar.bz2'
tar -xjf libSM-1.2.0.tar.bz2
cd libSM-1.2.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXScrnSaver-1.2.1.tar.bz2'
tar -xjf libXScrnSaver-1.2.1.tar.bz2
cd libXScrnSaver-1.2.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXt-1.1.1.tar.bz2'
tar -xjf libXt-1.1.1.tar.bz2
cd libXt-1.1.1
./configure $XORG_CONFIG --with-appdefaultdir=$HOME/etc/X11/app-defaults
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXmu-1.1.0.tar.bz2'
tar -xjf libXmu-1.1.0.tar.bz2
cd libXmu-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXp-1.0.1.tar.bz2'
tar -xjf libXp-1.0.1.tar.bz2
cd libXp-1.0.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXpm-3.5.9.tar.bz2'
tar -xjf libXpm-3.5.9.tar.bz2
cd libXpm-3.5.9
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXaw-1.0.9.tar.bz2'
tar -xjf libXaw-1.0.9.tar.bz2
cd libXaw-1.0.9
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXfixes-5.0.tar.bz2'
tar -xjf libXfixes-5.0.tar.bz2
cd libXfixes-5.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXcomposite-0.4.3.tar.bz2'
tar -xjf libXcomposite-0.4.3.tar.bz2
cd libXcomposite-0.4.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXrender-0.9.6.tar.bz2'
tar -xjf libXrender-0.9.6.tar.bz2
cd libXrender-0.9.6
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXcursor-1.1.12.tar.bz2'
tar -xjf libXcursor-1.1.12.tar.bz2
cd libXcursor-1.1.12
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXdamage-1.1.3.tar.bz2'
tar -xjf libXdamage-1.1.3.tar.bz2
cd libXdamage-1.1.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libfontenc-1.1.0.tar.bz2'
tar -xjf libfontenc-1.1.0.tar.bz2
cd libfontenc-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXfont-1.4.4.tar.bz2'
tar -xjf libXfont-1.4.4.tar.bz2
cd libXfont-1.4.4
./configure $XORG_CONFIG --disable-devel-docs
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXft-2.2.0.tar.bz2'
tar -xjf libXft-2.2.0.tar.bz2
cd libXft-2.2.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXi-1.4.3.tar.bz2'
tar -xjf libXi-1.4.3.tar.bz2
cd libXi-1.4.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXinerama-1.1.1.tar.bz2'
tar -xjf libXinerama-1.1.1.tar.bz2
cd libXinerama-1.1.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXrandr-1.3.2.tar.bz2'
tar -xjf libXrandr-1.3.2.tar.bz2
cd libXrandr-1.3.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXres-1.0.5.tar.bz2'
tar -xjf libXres-1.0.5.tar.bz2
cd libXres-1.0.5
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXtst-1.2.0.tar.bz2'
tar -xjf libXtst-1.2.0.tar.bz2
cd libXtst-1.2.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXv-1.0.6.tar.bz2'
tar -xjf libXv-1.0.6.tar.bz2
cd libXv-1.0.6
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXvMC-1.0.6.tar.bz2'
tar -xjf libXvMC-1.0.6.tar.bz2
cd libXvMC-1.0.6
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXxf86dga-1.1.2.tar.bz2'
tar -xjf libXxf86dga-1.1.2.tar.bz2
cd libXxf86dga-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libXxf86vm-1.1.1.tar.bz2'
tar -xjf libXxf86vm-1.1.1.tar.bz2
cd libXxf86vm-1.1.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libdmx-1.1.1.tar.bz2'
tar -xjf libdmx-1.1.1.tar.bz2
cd libdmx-1.1.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libpciaccess-0.12.1.tar.bz2'
tar -xjf libpciaccess-0.12.1.tar.bz2
cd libpciaccess-0.12.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libxkbfile-1.0.7.tar.bz2'
tar -xjf libxkbfile-1.0.7.tar.bz2
cd libxkbfile-1.0.7
./configure $XORG_CONFIG
make
make install

# set LIBRARY_PATH back to what it should be
export LIBRARY_PATH="$HOME/lib:$LIBRARY_PATH"

# remove any stale bash cache
hash -r

# gperf
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/gperf-3.0.4.tar.gz'
tar -xzf gperf-3.0.4.tar.gz
cd gperf-3.0.4
./configure --prefix=$HOME
make
make install

# xcb-util
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xcb-util-0.3.8.tar.bz2'
tar -xjf xcb-util-0.3.8.tar.bz2
cd xcb-util-0.3.8
./configure $XORG_CONFIG
make
make install

# libdrm
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libdrm-2.4.33.tar.bz2'
tar -xjf libdrm-2.4.33.tar.bz2
cd libdrm-2.4.33
./configure --prefix=$XORG_PREFIX \
  --enable-udev \
  --enable-nouveau-experimental-api \
  --enable-vmwgfx-experimental-api
make
make install

# expat
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/expat-2.1.0.tar.gz'
tar -xzf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure --prefix=$HOME
make
make install

# libxml2 w/ python bindings
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libxml2-2.7.8.tar.gz'
tar -xzf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=$HOME
make
make install
cd python
$PYTHON setup.py build
$PYTHON setup.py install

# talloc
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/talloc-2.0.7.tar.gz'
tar -xzf talloc-2.0.7.tar.gz
cd talloc-2.0.7
./configure --prefix=$HOME
make
make install

# MesaLib
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/MesaLib-8.0.2.tar.bz2'
wget 'http://mirror.ryansanden.com/xfce-4.8/MesaLib-8.0.2-add_xdemos-2.patch'
tar -xjf MesaLib-8.0.2.tar.bz2
cd Mesa-8.0.2
sed -i 's@FLAGS=\"-g@FLAGS=\"@' configure
patch -Np1 -i ../MesaLib-8.0.2-add_xdemos-2.patch
./configure --prefix=$XORG_PREFIX --enable-shared-dricore --enable-xa \
            --with-gallium-drivers="" \
            --with-dri-driverdir=$HOME/lib/dri
make
make install

# libpng
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libpng-1.5.10.tar.xz'
tar -xJf libpng-1.5.10.tar.xz
cd libpng-1.5.10
./configure --prefix=$HOME
make
make install

# Xorg Applications

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xbitmaps-1.1.0.tar.bz2'
tar -xjf xbitmaps-1.1.0.tar.bz2
cd xbitmaps-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/bdftopcf-1.0.3.tar.bz2'
tar -xjf bdftopcf-1.0.3.tar.bz2
cd bdftopcf-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/iceauth-1.0.5.tar.bz2'
tar -xjf iceauth-1.0.5.tar.bz2
cd iceauth-1.0.5
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/luit-1.1.0.tar.bz2'
tar -xjf luit-1.1.0.tar.bz2
cd luit-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/mkfontdir-1.0.6.tar.bz2'
tar -xjf mkfontdir-1.0.6.tar.bz2
cd mkfontdir-1.0.6
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/mkfontscale-1.0.9.tar.bz2'
tar -xjf mkfontscale-1.0.9.tar.bz2
cd mkfontscale-1.0.9
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/sessreg-1.0.7.tar.bz2'
tar -xjf sessreg-1.0.7.tar.bz2
cd sessreg-1.0.7
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/setxkbmap-1.2.0.tar.bz2'
tar -xjf setxkbmap-1.2.0.tar.bz2
cd setxkbmap-1.2.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/smproxy-1.0.5.tar.bz2'
tar -xjf smproxy-1.0.5.tar.bz2
cd smproxy-1.0.5
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/twm-1.0.7.tar.bz2'
tar -xjf twm-1.0.7.tar.bz2
cd twm-1.0.7
sed -i -e "/^rcdir =/s,^\(rcdir = \).*,\1${HOME}/etc/X11/app-defaults," src/Makefile.in
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/x11perf-1.5.4.tar.bz2'
tar -xjf x11perf-1.5.4.tar.bz2
cd x11perf-1.5.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xauth-1.0.6.tar.bz2'
tar -xjf xauth-1.0.6.tar.bz2
cd xauth-1.0.6
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xbacklight-1.1.2.tar.bz2'
tar -xjf xbacklight-1.1.2.tar.bz2
cd xbacklight-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xclock-1.0.5.tar.bz2'
tar -xjf xclock-1.0.5.tar.bz2
cd xclock-1.0.5
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xcmsdb-1.0.3.tar.bz2'
tar -xjf xcmsdb-1.0.3.tar.bz2
cd xcmsdb-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xcursorgen-1.0.4.tar.bz2'
tar -xjf xcursorgen-1.0.4.tar.bz2
cd xcursorgen-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xdpyinfo-1.3.0.tar.bz2'
tar -xjf xdpyinfo-1.3.0.tar.bz2
cd xdpyinfo-1.3.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xdriinfo-1.0.4.tar.bz2'
tar -xjf xdriinfo-1.0.4.tar.bz2
cd xdriinfo-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xev-1.1.0.tar.bz2'
tar -xjf xev-1.1.0.tar.bz2
cd xev-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xgamma-1.0.4.tar.bz2'
tar -xjf xgamma-1.0.4.tar.bz2
cd xgamma-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xhost-1.0.4.tar.bz2'
tar -xjf xhost-1.0.4.tar.bz2
cd xhost-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xinit-1.3.1.tar.bz2'
tar -xjf xinit-1.3.1.tar.bz2
cd xinit-1.3.1
./configure $XORG_CONFIG --with-xinitdir=$HOME/etc/X11/app-defaults
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xinput-1.5.3.tar.bz2'
tar -xjf xinput-1.5.3.tar.bz2
cd xinput-1.5.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xkbcomp-1.2.3.tar.bz2'
tar -xjf xkbcomp-1.2.3.tar.bz2
cd xkbcomp-1.2.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xkbevd-1.1.2.tar.bz2'
tar -xjf xkbevd-1.1.2.tar.bz2
cd xkbevd-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xkbutils-1.0.3.tar.bz2'
tar -xjf xkbutils-1.0.3.tar.bz2
cd xkbutils-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xkill-1.0.3.tar.bz2'
tar -xjf xkill-1.0.3.tar.bz2
cd xkill-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xlsatoms-1.1.0.tar.bz2'
tar -xjf xlsatoms-1.1.0.tar.bz2
cd xlsatoms-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xlsclients-1.1.2.tar.bz2'
tar -xjf xlsclients-1.1.2.tar.bz2
cd xlsclients-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xmodmap-1.0.5.tar.bz2'
tar -xjf xmodmap-1.0.5.tar.bz2
cd xmodmap-1.0.5
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xpr-1.0.3.tar.bz2'
tar -xjf xpr-1.0.3.tar.bz2
cd xpr-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xprop-1.2.1.tar.bz2'
tar -xjf xprop-1.2.1.tar.bz2
cd xprop-1.2.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xrandr-1.3.5.tar.bz2'
tar -xjf xrandr-1.3.5.tar.bz2
cd xrandr-1.3.5
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xrdb-1.0.9.tar.bz2'
tar -xjf xrdb-1.0.9.tar.bz2
cd xrdb-1.0.9
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xrefresh-1.0.4.tar.bz2'
tar -xjf xrefresh-1.0.4.tar.bz2
cd xrefresh-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xset-1.2.2.tar.bz2'
tar -xjf xset-1.2.2.tar.bz2
cd xset-1.2.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xsetroot-1.1.0.tar.bz2'
tar -xjf xsetroot-1.1.0.tar.bz2
cd xsetroot-1.1.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xvinfo-1.1.1.tar.bz2'
tar -xjf xvinfo-1.1.1.tar.bz2
cd xvinfo-1.1.1
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xwd-1.0.4.tar.bz2'
tar -xjf xwd-1.0.4.tar.bz2
cd xwd-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xwininfo-1.1.2.tar.bz2'
tar -xjf xwininfo-1.1.2.tar.bz2
cd xwininfo-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xwud-1.0.3.tar.bz2'
tar -xjf xwud-1.0.3.tar.bz2
cd xwud-1.0.3
./configure $XORG_CONFIG
make
make install

# xcursor-themes

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xcursor-themes-1.0.3.tar.bz2'
tar -xjf xcursor-themes-1.0.3.tar.bz2
cd xcursor-themes-1.0.3
./configure $XORG_CONFIG
make
make install

# =========================================
# Xorg Fonts
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-util-1.2.0.tar.bz2'
tar -xjf font-util-1.2.0.tar.bz2
cd font-util-1.2.0
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/encodings-1.0.4.tar.bz2'
tar -xjf encodings-1.0.4.tar.bz2
cd encodings-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-adobe-75dpi-1.0.3.tar.bz2'
tar -xjf font-adobe-75dpi-1.0.3.tar.bz2
cd font-adobe-75dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-adobe-100dpi-1.0.3.tar.bz2'
tar -xjf font-adobe-100dpi-1.0.3.tar.bz2
cd font-adobe-100dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-adobe-utopia-75dpi-1.0.4.tar.bz2'
tar -xjf font-adobe-utopia-75dpi-1.0.4.tar.bz2
cd font-adobe-utopia-75dpi-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-adobe-utopia-100dpi-1.0.4.tar.bz2'
tar -xjf font-adobe-utopia-100dpi-1.0.4.tar.bz2
cd font-adobe-utopia-100dpi-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-adobe-utopia-type1-1.0.4.tar.bz2'
tar -xjf font-adobe-utopia-type1-1.0.4.tar.bz2
cd font-adobe-utopia-type1-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-alias-1.0.3.tar.bz2'
tar -xjf font-alias-1.0.3.tar.bz2
cd font-alias-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-arabic-misc-1.0.3.tar.bz2'
tar -xjf font-arabic-misc-1.0.3.tar.bz2
cd font-arabic-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bh-75dpi-1.0.3.tar.bz2'
tar -xjf font-bh-75dpi-1.0.3.tar.bz2
cd font-bh-75dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bh-100dpi-1.0.3.tar.bz2'
tar -xjf font-bh-100dpi-1.0.3.tar.bz2
cd font-bh-100dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2'
tar -xjf font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2
cd font-bh-lucidatypewriter-75dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2'
tar -xjf font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2
cd font-bh-lucidatypewriter-100dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bh-ttf-1.0.3.tar.bz2'
tar -xjf font-bh-ttf-1.0.3.tar.bz2
cd font-bh-ttf-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bh-type1-1.0.3.tar.bz2'
tar -xjf font-bh-type1-1.0.3.tar.bz2
cd font-bh-type1-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bitstream-75dpi-1.0.3.tar.bz2'
tar -xjf font-bitstream-75dpi-1.0.3.tar.bz2
cd font-bitstream-75dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bitstream-100dpi-1.0.3.tar.bz2'
tar -xjf font-bitstream-100dpi-1.0.3.tar.bz2
cd font-bitstream-100dpi-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-bitstream-type1-1.0.3.tar.bz2'
tar -xjf font-bitstream-type1-1.0.3.tar.bz2
cd font-bitstream-type1-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-cronyx-cyrillic-1.0.3.tar.bz2'
tar -xjf font-cronyx-cyrillic-1.0.3.tar.bz2
cd font-cronyx-cyrillic-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-cursor-misc-1.0.3.tar.bz2'
tar -xjf font-cursor-misc-1.0.3.tar.bz2
cd font-cursor-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-daewoo-misc-1.0.3.tar.bz2'
tar -xjf font-daewoo-misc-1.0.3.tar.bz2
cd font-daewoo-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-dec-misc-1.0.3.tar.bz2'
tar -xjf font-dec-misc-1.0.3.tar.bz2
cd font-dec-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-ibm-type1-1.0.3.tar.bz2'
tar -xjf font-ibm-type1-1.0.3.tar.bz2
cd font-ibm-type1-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-isas-misc-1.0.3.tar.bz2'
tar -xjf font-isas-misc-1.0.3.tar.bz2
cd font-isas-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-jis-misc-1.0.3.tar.bz2'
tar -xjf font-jis-misc-1.0.3.tar.bz2
cd font-jis-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-micro-misc-1.0.3.tar.bz2'
tar -xjf font-micro-misc-1.0.3.tar.bz2
cd font-micro-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-misc-cyrillic-1.0.3.tar.bz2'
tar -xjf font-misc-cyrillic-1.0.3.tar.bz2
cd font-misc-cyrillic-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-misc-ethiopic-1.0.3.tar.bz2'
tar -xjf font-misc-ethiopic-1.0.3.tar.bz2
cd font-misc-ethiopic-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-misc-meltho-1.0.3.tar.bz2'
tar -xjf font-misc-meltho-1.0.3.tar.bz2
cd font-misc-meltho-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-misc-misc-1.1.2.tar.bz2'
tar -xjf font-misc-misc-1.1.2.tar.bz2
cd font-misc-misc-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-mutt-misc-1.0.3.tar.bz2'
tar -xjf font-mutt-misc-1.0.3.tar.bz2
cd font-mutt-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-schumacher-misc-1.1.2.tar.bz2'
tar -xjf font-schumacher-misc-1.1.2.tar.bz2
cd font-schumacher-misc-1.1.2
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-screen-cyrillic-1.0.4.tar.bz2'
tar -xjf font-screen-cyrillic-1.0.4.tar.bz2
cd font-screen-cyrillic-1.0.4
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-sony-misc-1.0.3.tar.bz2'
tar -xjf font-sony-misc-1.0.3.tar.bz2
cd font-sony-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-sun-misc-1.0.3.tar.bz2'
tar -xjf font-sun-misc-1.0.3.tar.bz2
cd font-sun-misc-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-winitzki-cyrillic-1.0.3.tar.bz2'
tar -xjf font-winitzki-cyrillic-1.0.3.tar.bz2
cd font-winitzki-cyrillic-1.0.3
./configure $XORG_CONFIG
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/font-xfree86-type1-1.0.4.tar.bz2'
tar -xjf font-xfree86-type1-1.0.4.tar.bz2
cd font-xfree86-type1-1.0.4
./configure $XORG_CONFIG
make
make install

# =========================================
# Perl XML::Parser 2.34
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/XML-Parser-2.34.tar.gz'
tar -xzf XML-Parser-2.34.tar.gz
cd XML-Parser-2.34
perl Makefile.PL INSTALL_BASE=$HOME
make
make install

# =========================================
# intltool 0.40.6
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/intltool-0.40.6.tar.bz2'
tar -xjf intltool-0.40.6.tar.bz2
cd intltool-0.40.6
./configure --prefix=$HOME
make
make install

# =========================================
# xkeyboard-config 2.0
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xkeyboard-config-2.0.tar.bz2'
tar -xjf xkeyboard-config-2.0.tar.bz2
cd xkeyboard-config-2.0
./configure $XORG_CONFIG --with-xkb-rules-symlink=xorg
make
make install

# =========================================
# pixman 0.24.4
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/pixman-0.24.4.tar.gz'
tar -xzf pixman-0.24.4.tar.gz
cd pixman-0.24.4
./configure --prefix=$HOME
make
make install

# =========================================
# Xorg Server
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xorg-server-1.11.2.tar.bz2'
tar -xjf xorg-server-1.11.2.tar.bz2
cd xorg-server-1.11.2
./configure $XORG_CONFIG \
    --with-module-dir=$XORG_PREFIX/lib/X11/modules \
    --with-xkb-output=$HOME/var/lib/xkb \
    --with-sysroot=$HOME \
    --with-log-dir=$HOME/var/log \
    --with-fontrootdir=$HOME/share/fonts/X11 \
    --with-xkb-path=$HOME/share/X11/xkb \
    --with-xkb-bin-directory=$HOME/bin 
make
make install

mkdir -p $XORG_PREFIX/share/X11/xorg.conf.d
mkdir -p $HOME/etc/X11
if [ ! -L "$HOME/etc/X11/xorg.conf.d" ]; then ln -s $XORG_PREFIX/share/X11/xorg.conf.d $HOME/etc/X11; fi

mkdir -p $HOME/etc/sysconfig
cat << EOF >> $HOME/etc/sysconfig/createfiles
$HOME/tmp/.ICE-unix dir 1777 $USER $USER
EOF

# =========================================
# Xorg Drivers
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-input-acecad-1.5.0.tar.bz2'
tar -xjf xf86-input-acecad-1.5.0.tar.bz2
cd xf86-input-acecad-1.5.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-input-aiptek-1.4.1.tar.bz2'
tar -xjf xf86-input-aiptek-1.4.1.tar.bz2
cd xf86-input-aiptek-1.4.1
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-input-evdev-2.6.0.tar.bz2'
tar -xjf xf86-input-evdev-2.6.0.tar.bz2
cd xf86-input-evdev-2.6.0
sed -i -e "s/\xc3\xb8/\\\\[\/o]/" \
       -e "s/\xc3\xa4/\\\\[:a]/" \
       -e "s/\xc3\x9c/\\\\[:U]/" man/*.man
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-input-joystick-1.6.0.tar.bz2'
tar -xjf xf86-input-joystick-1.6.0.tar.bz2
cd xf86-input-joystick-1.6.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-input-void-1.4.0.tar.bz2'
tar -xjf xf86-input-void-1.4.0.tar.bz2
cd xf86-input-void-1.4.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-apm-1.2.3.tar.bz2'
tar -xjf xf86-video-apm-1.2.3.tar.bz2
cd xf86-video-apm-1.2.3
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-ark-0.7.3.tar.bz2'
tar -xjf xf86-video-ark-0.7.3.tar.bz2
cd xf86-video-ark-0.7.3
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-ast-0.93.9.tar.bz2'
tar -xjf xf86-video-ast-0.93.9.tar.bz2
cd xf86-video-ast-0.93.9
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-ati-6.14.3.tar.bz2'
tar -xjf xf86-video-ati-6.14.3.tar.bz2
cd xf86-video-ati-6.14.3
sed -i -e "s/\xc3\xb8/\\\\[\/o]/" \
       -e "s/\xc3\xa4/\\\\[:a]/" \
       -e "s/\xc3\x9c/\\\\[:U]/" man/*.man
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-cirrus-1.3.2.tar.bz2'
tar -xjf xf86-video-cirrus-1.3.2.tar.bz2
cd xf86-video-cirrus-1.3.2
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-dummy-0.3.4.tar.bz2'
tar -xjf xf86-video-dummy-0.3.4.tar.bz2
cd xf86-video-dummy-0.3.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-fbdev-0.4.2.tar.bz2'
tar -xjf xf86-video-fbdev-0.4.2.tar.bz2
cd xf86-video-fbdev-0.4.2
sed -i -e "s/\xc3\xb8/\\\\[\/o]/" \
       -e "s/\xc3\xa4/\\\\[:a]/" \
       -e "s/\xc3\x9c/\\\\[:U]/" man/*.man
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-glint-1.2.6.tar.bz2'
tar -xjf xf86-video-glint-1.2.6.tar.bz2
cd xf86-video-glint-1.2.6
sed -i -e "s/\xc3\xb8/\\\\[\/o]/" \
       -e "s/\xc3\xa4/\\\\[:a]/" \
       -e "s/\xc3\x9c/\\\\[:U]/" man/*.man
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-i128-1.3.4.tar.bz2'
tar -xjf xf86-video-i128-1.3.4.tar.bz2
cd xf86-video-i128-1.3.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-i740-1.3.2.tar.bz2'
tar -xjf xf86-video-i740-1.3.2.tar.bz2
cd xf86-video-i740-1.3.2
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-intel-2.17.0.tar.bz2'
tar -xjf xf86-video-intel-2.17.0.tar.bz2
cd xf86-video-intel-2.17.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-mach64-6.9.0.tar.bz2'
tar -xjf xf86-video-mach64-6.9.0.tar.bz2
cd xf86-video-mach64-6.9.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-mga-1.4.13.tar.bz2'
tar -xjf xf86-video-mga-1.4.13.tar.bz2
cd xf86-video-mga-1.4.13
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-neomagic-1.2.5.tar.bz2'
tar -xjf xf86-video-neomagic-1.2.5.tar.bz2
cd xf86-video-neomagic-1.2.5
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-nv-2.1.18.tar.bz2'
tar -xjf xf86-video-nv-2.1.18.tar.bz2
cd xf86-video-nv-2.1.18
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-r128-6.8.1.tar.bz2'
tar -xjf xf86-video-r128-6.8.1.tar.bz2
cd xf86-video-r128-6.8.1
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-rendition-4.2.4.tar.bz2'
tar -xjf xf86-video-rendition-4.2.4.tar.bz2
cd xf86-video-rendition-4.2.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-s3-0.6.3.tar.bz2'
tar -xjf xf86-video-s3-0.6.3.tar.bz2
cd xf86-video-s3-0.6.3
for file in `grep -Rl "xf86Version.h" *`
do
  sed 's@xf86Version.h@xorgVersion.h@g' -i "$file"
done
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-s3virge-1.10.4.tar.bz2'
tar -xjf xf86-video-s3virge-1.10.4.tar.bz2
cd xf86-video-s3virge-1.10.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-savage-2.3.3.tar.bz2'
tar -xjf xf86-video-savage-2.3.3.tar.bz2
cd xf86-video-savage-2.3.3
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-siliconmotion-1.7.5.tar.bz2'
tar -xjf xf86-video-siliconmotion-1.7.5.tar.bz2
cd xf86-video-siliconmotion-1.7.5
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-sis-0.10.3.tar.bz2'
tar -xjf xf86-video-sis-0.10.3.tar.bz2
cd xf86-video-sis-0.10.3
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-sisusb-0.9.4.tar.bz2'
tar -xjf xf86-video-sisusb-0.9.4.tar.bz2
cd xf86-video-sisusb-0.9.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-tdfx-1.4.3.tar.bz2'
tar -xjf xf86-video-tdfx-1.4.3.tar.bz2
cd xf86-video-tdfx-1.4.3
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-tga-1.2.1.tar.bz2'
tar -xjf xf86-video-tga-1.2.1.tar.bz2
cd xf86-video-tga-1.2.1
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-trident-1.3.4.tar.bz2'
tar -xjf xf86-video-trident-1.3.4.tar.bz2
cd xf86-video-trident-1.3.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-tseng-1.2.4.tar.bz2'
tar -xjf xf86-video-tseng-1.2.4.tar.bz2
cd xf86-video-tseng-1.2.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-v4l-0.2.0.tar.bz2'
tar -xjf xf86-video-v4l-0.2.0.tar.bz2
cd xf86-video-v4l-0.2.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-vesa-2.3.0.tar.bz2'
tar -xjf xf86-video-vesa-2.3.0.tar.bz2
cd xf86-video-vesa-2.3.0
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-voodoo-1.2.4.tar.bz2'
tar -xjf xf86-video-voodoo-1.2.4.tar.bz2
cd xf86-video-voodoo-1.2.4
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xf86-video-xgi-1.6.0.tar.bz2'
tar -xjf xf86-video-xgi-1.6.0.tar.bz2
cd xf86-video-xgi-1.6.0
for file in `grep -Rl "xf86Version.h" *`
do
  sed 's@xf86Version.h@xorgVersion.h@g' -i "$file"
done
./configure $XORG_CONFIG --with-xorg-module-dir=$XORG_PREFIX/lib/X11/modules
make
make install

# =========================================
# xterm 278
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xterm-278.tgz'
tar -xzf xterm-278.tgz
cd xterm-278
sed -i '/v0/,+1s/new:/new:kb=^?:/' termcap
echo -e '\tkbs=\\177,' >>terminfo &&
TERMINFO=$HOME/usr/share/terminfo ./configure $XORG_CONFIG \
    --enable-luit --enable-wide-chars \
    --with-app-defaults=$HOME/etc/X11/app-defaults
make
make install

cat >> $HOME/etc/X11/app-defaults/XTerm << "EOF"
*VT100*locale: true
*VT100*faceName: Monospace
*VT100*faceSize: 10
*backarrowKeyIsErase: true
*ptyInitialErase: true
EOF

hash -r

# =========================================
# x11vnc 0.9.13
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/x11vnc-0.9.13.tar.gz'
tar -xzf x11vnc-0.9.13.tar.gz
cd x11vnc-0.9.13
./configure --prefix=$HOME
make
make install

####### Qt ##########

# You could build Qt here.
# See http://community.webfaction.com/questions/6785/installing-qt4-pyqt-webkit2png-and-phantomjs

####### GTK ##########

# =========================================
# libffi 3.0.11
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libffi-3.0.11.tar.gz'
tar -xzf libffi-3.0.11.tar.gz
cd libffi-3.0.11
./configure --prefix=$HOME
make
make install

# =========================================
# Glib 2.31.22
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/glib-2.31.22.tar.xz'
tar -xJf glib-2.31.22.tar.xz
cd glib-2.31.22
PYTHON=${PYTHON} ./configure --prefix=$HOME
make    # 2.5m
make install

# =========================================
# cairo 1.12.0
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/cairo-1.12.0.tar.gz'
tar -xzf cairo-1.12.0.tar.gz
cd cairo-1.12.0
./configure --prefix=$HOME
make    # 2m
make install

# =========================================
# pango 1.30.0
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/pango-1.30.0.tar.xz'
tar -xJf pango-1.30.0.tar.xz
cd pango-1.30.0
./configure --prefix=$HOME --sysconfdir=$HOME/etc
make    # 22s
make install

# =========================================
# pygobject 2.28.6
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/pygobject-2.28.6.tar.bz2'
tar -xjf pygobject-2.28.6.tar.bz2
cd pygobject-2.28.6
PYTHON=${PYTHON} ./configure --prefix=$HOME --disable-introspection
make
make install

# =========================================
# ATK 2.4.0
# =========================================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/atk-2.4.0.tar.xz'
tar -xJf atk-2.4.0.tar.xz
cd atk-2.4.0
./configure --prefix=$HOME
make
make install

# =========================
# gdk-pixbuf 2.26.1
# =========================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/gdk-pixbuf-2.26.1.tar.xz'
tar -xJf gdk-pixbuf-2.26.1.tar.xz
cd gdk-pixbuf-2.26.1
./configure --prefix=$HOME --with-x11
make
make install

# =========================
# GTK+ 2.24.10
# =========================
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/gtk+-2.24.10.tar.xz'
tar -xJf gtk+-2.24.10.tar.xz
cd gtk+-2.24.10
./configure --prefix=$HOME --sysconfdir=$HOME/etc
make    # 5m
make install

######## Xfce #########

# get the xfce bundle
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/xfce-4.8.tar.bz2'
tar -xjf xfce-4.8.tar.bz2
cd src
# check all the files
md5sum -c *.md5  # should se lots of "OK"s

# libxfce4util
cd $HOME/src/src
tar -xjf libxfce4util-4.8.1.tar.bz2
cd libxfce4util-4.8.1
./configure --prefix=$HOME
make
make install

# dbus
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/dbus-1.5.12.tar.gz'
tar -xzf dbus-1.5.12.tar.gz
cd dbus-1.5.12
./configure --prefix=$HOME
make
make install

#dbus-glib
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/dbus-glib-0.98.tar.gz'
tar -xzf dbus-glib-0.98.tar.gz
cd dbus-glib-0.98
./configure --prefix=$HOME
make
make install

# Perl ExtUtils::Depends module
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/ExtUtils-Depends-0.304.tar.gz'
tar -xzf ExtUtils-Depends-0.304.tar.gz
cd ExtUtils-Depends-0.304
perl Makefile.PL INSTALL_BASE=$HOME
make
make install

# Perl ExtUtils::PkgConfig module
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/ExtUtils-PkgConfig-1.12.tar.gz'
tar -xzf ExtUtils-PkgConfig-1.12.tar.gz
cd ExtUtils-PkgConfig-1.12
perl Makefile.PL INSTALL_BASE=$HOME
make
make install
cd $HOME/src

# Perl Glib module
wget 'http://mirror.ryansanden.com/xfce-4.8/Glib-1.242.tar.gz'
tar -xzf Glib-1.242.tar.gz
cd Glib-1.242
perl Makefile.PL INSTALL_BASE=$HOME
make
make install

# xfconf
cd $HOME/src/src
tar -xjf xfconf-4.8.0.tar.bz2
cd xfconf-4.8.0
./configure --prefix=$HOME
make
make install

# libglade
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libglade-2.6.4.tar.gz'
tar -xzf libglade-2.6.4.tar.gz
cd libglade-2.6.4
./configure --prefix=$HOME
make
make install

#libxfce4ui
cd $HOME/src/src
tar -xjf libxfce4ui-4.8.0.tar.bz2
cd libxfce4ui-4.8.0
./configure --prefix=$HOME
make
make install

# garcon
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/garcon-0.1.12.tar.bz2'
tar -xjf garcon-0.1.12.tar.bz2
cd garcon-0.1.12
./configure --prefix=$HOME
make
make install

# libxfce4gui
cd $HOME/src/src
tar -xjf libxfcegui4-4.8.0.tar.bz2
cd libxfcegui4-4.8.0
./configure --prefix=$HOME
make
make install

# exo
cd $HOME/src/src
tar -xjf exo-0.6.0.tar.bz2
cd exo-0.6.0
./configure --prefix=$HOME
make
make install

# libwnck
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/libwnck-2.31.0.tar.xz'
tar -xJf libwnck-2.31.0.tar.xz
cd libwnck-2.31.0
./configure --prefix=$HOME
make
make install

# xfce4-panel
cd $HOME/src/src
tar -xjf xfce4-panel-4.8.0.tar.bz2
cd xfce4-panel-4.8.0
./configure --prefix=$HOME
make
make install

# thunar-vfs
cd $HOME/src/src
tar -xjf thunar-vfs-1.2.0.tar.bz2
cd thunar-vfs-1.2.0
./configure --prefix=$HOME
make
make install

# Thunar
cd $HOME/src/src
tar -xjf Thunar-1.2.0.tar.bz2
cd Thunar-1.2.0
./configure --prefix=$HOME
make
make install

# xfce4-settings
cd $HOME/src/src
tar -xjf xfce4-settings-4.8.0.tar.bz2
cd xfce4-settings-4.8.0
./configure --prefix=$HOME
make
make install

# xfce4-session
cd $HOME/src/src
tar -xjf xfce4-session-4.8.0.tar.bz2
cd xfce4-session-4.8.0
./configure --prefix=$HOME
make
make install

# xfwm4
cd $HOME/src/src
tar -xjf xfwm4-4.8.0.tar.bz2
cd xfwm4-4.8.0
./configure --prefix=$HOME
make
make install

# xfdesktop
cd $HOME/src/src
tar -xjf xfdesktop-4.8.0.tar.bz2
cd xfdesktop-4.8.0
./configure --prefix=$HOME
make
make install

# xfce4-appfinder
cd $HOME/src/src
tar -xjf xfce4-appfinder-4.8.0.tar.bz2
cd xfce4-appfinder-4.8.0
./configure --prefix=$HOME
make
make install

# xfce-utils
cd $HOME/src/src
tar -xjf xfce-utils-4.8.0.tar.bz2
cd xfce-utils-4.8.0
./configure --prefix=$HOME
make
make XSESSION_PREFIX=$HOME install

# gtk-xfce-engine
cd $HOME/src/src
tar -xjf gtk-xfce-engine-2.8.0.tar.bz2
cd gtk-xfce-engine-2.8.0
./configure --prefix=$HOME
make
make install

# tumbler
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/tumbler-0.1.6.tar.bz2'
tar -xjf tumbler-0.1.6.tar.bz2
cd tumbler-0.1.6
./configure --prefix=$HOME
make
make install

hash -r

# Perl Test::Simple module
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/Test-Simple-0.98.tar.gz'
tar -xzf Test-Simple-0.98.tar.gz
cd Test-Simple-0.98
perl Makefile.PL INSTALL_BASE=$HOME
make
make install

# Perl XML::Simple module
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/XML-Simple-2.18.tar.gz'
tar -xzf XML-Simple-2.18.tar.gz
cd XML-Simple-2.18
perl Makefile.PL INSTALL_BASE=$HOME
make
make install

# icon theme (Tango)
cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/icon-naming-utils-0.8.90.tar.gz'
tar -xzf icon-naming-utils-0.8.90.tar.gz
cd icon-naming-utils-0.8.90
./configure --prefix=$HOME
make
make install

cd $HOME/src
wget 'http://mirror.ryansanden.com/xfce-4.8/tango-icon-theme-0.8.90.tar.gz'
tar -xzf tango-icon-theme-0.8.90.tar.gz
cd tango-icon-theme-0.8.90
./configure --prefix=$HOME
make
make install

# echo 'gtk-icon-theme-name="Tango"' > $HOME/.gtkrc-2.0
gtk-update-icon-cache -f -t $HOME/share/icons/Tango

cat > $HOME/bin/start_vnc_server << 'EOF'
#!/bin/bash

DISPLAY_NUM=2
EXTERNAL_IP=XXX.XXX.XXX.XXX
export PATH="$HOME/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/lib:$LD_LIBRARY_PATH"
export DISPLAY=":${DISPLAY_NUM}"
rm -f "/tmp/.X${DISPLAY_NUM}-lock"
rm -f "/tmp/.X11-unix/X${DISPLAY_NUM}"
Xvfb "$DISPLAY" +extension 'RANDR' -screen 0 1024x768x24 2>/dev/null &
startxfce4 2>/dev/null &
x11vnc -display "$DISPLAY" -passwdfile $HOME/.vnc_passwd -N -bg -nopw -listen "$EXTERNAL_IP" -xkb -loop 2>/dev/null
EOF

sed -i "s/EXTERNAL_IP=XXX.XXX.XXX.XXX/EXTERNAL_IP=$EXTERNAL_IP/" $HOME/bin/start_vnc_server

# make some not-super-secure pass
randstr=$( echo "$$" | md5sum | sha1sum | md5sum )
echo "${randstr:3:8}" > $HOME/.vnc_passwd
chmod 600 $HOME/.vnc_passwd

chmod 755 $HOME/bin/start_vnc_server

# Start the X server by running:
# start_vnc_server                # Do not run this in the background; keep it in the forground!
                                  # Your password is in $HOME/.vnc_passwd

# Within Xfce, choose these settings:
# Xfce Main Theme: Xfce-cadmium
# Xfce Icon Theme: Tango
# Window Manager theme: Therapy

############################################################
# Original file download locations. For reference.         #
############################################################

# wget 'http://xorg.freedesktop.org/releases/individual/util/util-macros-1.15.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/bigreqsproto-1.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/compositeproto-0.4.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/damageproto-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/dmxproto-2.3.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/dri2proto-2.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/fixesproto-5.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/fontsproto-2.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/glproto-1.4.14.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/inputproto-2.0.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/kbproto-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/printproto-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/randrproto-1.3.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/recordproto-1.14.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/renderproto-0.11.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/resourceproto-1.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/scrnsaverproto-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/videoproto-2.3.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xcmiscproto-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xextproto-7.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xf86bigfontproto-1.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xf86dgaproto-2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xf86driproto-2.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xineramaproto-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/proto/xproto-7.0.23.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-1.1.0.tar.bz2'
# wget 'http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2'
# wget 'http://xcb.freedesktop.org/dist/xcb-proto-1.6.tar.bz2'
# wget 'http://xcb.freedesktop.org/dist/libxcb-1.7.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/xtrans-1.2.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libX11-1.4.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXext-1.3.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libFS-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libICE-1.0.7.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libSM-1.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXt-1.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXmu-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXp-1.0.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXpm-3.5.9.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.9.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXfixes-5.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXcomposite-0.4.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXrender-0.9.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXcursor-1.1.12.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXdamage-1.1.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libfontenc-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXfont-1.4.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXft-2.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXi-1.4.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXinerama-1.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXrandr-1.3.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXres-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXtst-1.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXv-1.0.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXvMC-1.0.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXxf86dga-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libXxf86vm-1.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libdmx-1.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libpciaccess-0.12.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/lib/libxkbfile-1.0.7.tar.bz2'
# wget 'http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz'
# wget 'http://xcb.freedesktop.org/dist/xcb-util-0.3.8.tar.bz2'
# wget 'http://dri.freedesktop.org/libdrm/libdrm-2.4.33.tar.bz2'
# wget 'http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz'
# wget 'http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz'
# wget 'http://samba.org/ftp/talloc/talloc-2.0.7.tar.gz'
# wget 'ftp://ftp.freedesktop.org/pub/mesa/8.0.2/MesaLib-8.0.2.tar.bz2'
# wget 'http://www.linuxfromscratch.org/patches/blfs/svn/MesaLib-8.0.2-add_xdemos-2.patch'
# wget 'http://downloads.sourceforge.net/project/libpng/libpng15/1.5.10/libpng-1.5.10.tar.xz'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xbitmaps-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/bdftopcf-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/iceauth-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/luit-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/mkfontdir-1.0.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/mkfontscale-1.0.9.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/sessreg-1.0.7.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/setxkbmap-1.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/smproxy-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/twm-1.0.7.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/x11perf-1.5.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xauth-1.0.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xbacklight-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xclock-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xcmsdb-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xcursorgen-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xdpyinfo-1.3.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xdriinfo-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xev-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xgamma-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xhost-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xinit-1.3.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xinput-1.5.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xkbcomp-1.2.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xkbevd-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xkbutils-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xkill-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xlsatoms-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xlsclients-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xmodmap-1.0.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xpr-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xprop-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xrandr-1.3.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xrdb-1.0.9.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xrefresh-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xset-1.2.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xsetroot-1.1.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xvinfo-1.1.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xwd-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xwininfo-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/app/xwud-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/data/xcursor-themes-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-util-1.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/encodings-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-adobe-75dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-adobe-100dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-75dpi-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-100dpi-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-type1-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-alias-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-arabic-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bh-75dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bh-100dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bh-ttf-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bh-type1-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bitstream-75dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bitstream-100dpi-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-bitstream-type1-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-cronyx-cyrillic-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-cursor-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-daewoo-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-dec-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-ibm-type1-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-isas-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-jis-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-micro-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-misc-cyrillic-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-misc-ethiopic-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-misc-meltho-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-misc-misc-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-mutt-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-schumacher-misc-1.1.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-screen-cyrillic-1.0.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-sony-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-sun-misc-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-winitzki-cyrillic-1.0.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/font/font-xfree86-type1-1.0.4.tar.bz2'
# wget 'http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-2.34.tar.gz'
# wget 'http://ftp.acc.umu.se/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.bz2'
# wget 'http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-2.0.tar.bz2'
# wget 'http://www.cairographics.org/releases/pixman-0.24.4.tar.gz'
# wget 'http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.11.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-input-acecad-1.5.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-input-aiptek-1.4.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-input-evdev-2.6.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-input-joystick-1.6.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-input-void-1.4.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-apm-1.2.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ark-0.7.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ast-0.93.9.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ati-6.14.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-cirrus-1.3.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-dummy-0.3.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-fbdev-0.4.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-glint-1.2.6.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-1.3.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i740-1.3.2.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-intel-2.17.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mach64-6.9.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mga-1.4.13.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-neomagic-1.2.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-2.1.18.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-r128-6.8.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-rendition-4.2.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3-0.6.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3virge-1.10.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-savage-2.3.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-siliconmotion-1.7.5.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sis-0.10.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sisusb-0.9.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tdfx-1.4.3.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tga-1.2.1.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-trident-1.3.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tseng-1.2.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-v4l-0.2.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vesa-2.3.0.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-voodoo-1.2.4.tar.bz2'
# wget 'http://xorg.freedesktop.org/releases/individual/driver/xf86-video-xgi-1.6.0.tar.bz2'
# wget 'ftp://invisible-island.net/xterm/xterm-278.tgz'
# wget 'http://downloads.sourceforge.net/project/libvncserver/x11vnc/0.9.13/x11vnc-0.9.13.tar.gz'
# wget 'ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz'
# wget 'http://ftp.gnome.org/pub/gnome/sources/glib/2.31/glib-2.31.22.tar.xz'
# wget 'http://www.cairographics.org/releases/cairo-1.12.0.tar.gz'
# wget 'http://ftp.acc.umu.se/pub/gnome/sources/pango/1.30/pango-1.30.0.tar.xz'
# wget 'http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/pygobject-2.28.6.tar.bz2'
# wget 'http://ftp.gnome.org/pub/gnome/sources/atk/2.4/atk-2.4.0.tar.xz'
# wget 'http://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.1.tar.xz'
# wget 'http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.10.tar.xz'
# wget 'http://archive.xfce.org/xfce/4.8/fat_tarballs/xfce-4.8.tar.bz2'
# wget 'http://dbus.freedesktop.org/releases/dbus/dbus-1.5.12.tar.gz'
# wget 'http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.98.tar.gz'
# wget 'http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/ExtUtils-Depends-0.304.tar.gz'
# wget 'http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/ExtUtils-PkgConfig-1.12.tar.gz'
# wget 'http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/Glib-1.242.tar.gz'
# wget 'http://ftp.gnome.org/pub/GNOME/sources/libglade/2.6/libglade-2.6.4.tar.gz'
# wget 'http://archive.al-us.xfce.org/src/xfce/garcon/0.1/garcon-0.1.12.tar.bz2'
# wget 'http://ftp.gnome.org/pub/GNOME/sources/libwnck/2.31/libwnck-2.31.0.tar.xz'
# wget 'http://archive.xfce.org/src/xfce/tumbler/0.1/tumbler-0.1.6.tar.bz2'
# wget 'http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/Test-Simple-0.98.tar.gz'
# wget 'http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-Simple-2.18.tar.gz'
# wget 'http://tango.freedesktop.org/releases/icon-naming-utils-0.8.90.tar.gz'
# wget 'http://tango.freedesktop.org/releases/tango-icon-theme-0.8.90.tar.gz'

Lastly, big thanks to the Linux from Scratch team as I largely followed their guide for the X11 portion of this guide and also used it to select matching versions for GTK+. It was necessary to make several changes to accommodate the home-directory install but the overall procedure development was still greatly accelerated by their work.

permanent link
This answer is marked "community wiki".

answered 21 Apr '12, 04:25

ryans ♦♦
5.0k103960
accept rate: 43%

edited 23 Apr '12, 19:33

is there an update to this installation guide? i am receiving a few errors. i am running bash -e build_xfce-4.8.sh | tee build_xfce-4.8.log

also, the vnc server starts, but i am a bit confused about EXTERNAL_IP=127.0.0.1 or EXTERNAL_IP=123.123.123.123

(10 Dec '13, 12:28) dandrade

One of the good things about this guide is that it uses software versions locked and mirrored to one of my sites, so the procedure should not break as software is updated -- this is a "snapshot in time", of sorts.

Unless you're explicitly using an SSH tunnel, you would be using "EXTERNAL_IP=123.123.123.123", where "123.123.123.123" represents the open-ports IP of the server - you would open a port via a Custom Application (listening on port) in the Control Panel, marking "Open port", and use that port.

(10 Dec '13, 23:11) ryans ♦♦

This is a great guide and everything is up and running for me. However, when I start the VNC server and try to login from RealVNC, it doesn't login and times out. The IP address I'm using is the same I use to VNC into the server? Any ideas? I've tried different display numbers and everything.

(25 Sep '14, 02:50) RyFo18

I'm not sure what you mean by "the same as you use to VNC", since you're trying to VNC. Do you mean that the IP address you're using is the same that you use to SSH into the server?

If so, you might be using the wrong IP (not the server's open-ports IP). If you tell me your account name, I'd be happy to take a look.

(25 Sep '14, 03:02) ryans ♦♦

Yes, typo. The same IP I use to SSH in. I assume it's the same IP right? If so, not sure what could be wrong.

(25 Sep '14, 03:05) RyFo18

My account name is: ryfo18

(25 Sep '14, 03:13) RyFo18

It looks like you haven't created any custom application (listening on port). Do that, and then open a support ticket. There are free Standard VNC ports on your server, so we can update your custom application to use something convenient.

(25 Sep '14, 04:35) ryans ♦♦

You're up and running now :)

(25 Sep '14, 07:23) ryans ♦♦
showing 5 of 8 show 3 more comments
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×12
×2
×1
×1
×1

question asked: 21 Apr '12, 04:17

question was seen: 6,433 times

last updated: 25 Sep '14, 07:23

                              
WEBFACTION
REACH US
SUPPORT
LEGAL
© COPYRIGHT 2003-2021 SWARMA LIMITED - WEBFACTION IS A SERVICE OF SWARMA LIMITED
REGISTERED IN ENGLAND AND WALES 5729350 - VAT REGISTRATION NUMBER 877397162
5TH FLOOR, THE OLD VINYL FACTORY, HAYES, UB3 1HA, UNITED KINGDOM