An outdated guide to install XBMC headless on a Linux server, this is not recommended any longer and therefore this guide is here purely for archival purposes
Published Date:
8th June 2016

UPDATED - 11/05/14

After spending quite a bit of time trying to get a headless XBMC server set up i finally succeeded, I am using ESXi with Xpenology, PfSense and Ubuntu. So here is a guide on getting XBMC running headless, Enjoy.


  • A Debian based distrubution of linux (I'm using Ubuntu 12.10 minimal)
  • Patience


  • Install your debian based linux distribution.
  • Type the following commands in to the shell/SSH terminal.

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:team-xbmc/unstable

sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends

sudo apt-get update

sudo apt-get build-dep xbmc

sudo apt-get install libtag1-dev


  • Now we can begin with the XBMC building.
  • First we need to clone the github repo.

git clone git://

cd xbmc

  • Now we can checkout and patch the cloned source.

git checkout 13.0-Gotham


git checkout -b local

git apply xbmc-server.patch

  • Next we run some more commands.


./configure --enable-shared-lib --disable-debug --disable-vdpau --disable-vaapi --disable-crystalhd --disable-vtbdecoder --disable-vtbdecoder --disable-openmax --disable-joystick --disable-xrandr --disable-rsxs --disable-projectm --disable-rtmp --disable-airplay --disable-airtunes --disable-dvdcss --disable-optical-drive --disable-libbluray --disable-libusb --disable-libcec --disable-libmp3lame --disable-libcap --disable-pulse --disable-alsa

  • Next we need to make and make install (REPLACE "X" with number of cpu cores in system.)

make -jX

make install

cp /lib/


cd xbmc

make -f make_xbmc-server all

make -f make_xbmcVideoLibraryScan all

sudo cp xbmc-server /usr/local/lib/xbmc/xbmc-server.bin

sudo cp xbmcVideoLibraryScan /usr/local/lib/xbmc/

  • Next we create a service and add it to the startup.

cd /etc/init.d

sudo wget

sudo nano xbmc

  • replace the username with your username then press CTRL + X to save.

sudo chmod 744 xbmc

sudo update-rc.d xbmc defaults

  • Sorted, Now we can start the server and sort the remaining things out.

sudo service xbmc start

  • Wait around 10 seconds then stop the server.

sudo service xbmc stop

  • Now we need to enable the web server, feel free to use a different port if you prefer and change the password to whatever you wish (nano ~/.xbmc/userdata/guisettings.xml)

cd ~/.xbmc/userdata/

sudo rm -rf ~/.xbmc/userdata/guisettings.xml

sudo wget

sudo nano ~/.xbmc/userdata/advancedsettings.xml

  • Now we can just start the server again and it will connect to the existing DB (This guide assumes you have the DB all set up using a non-headless XBMC install and are just adding this headless XBMC to it).

sudo service xbmc-server start

  • That's it all done, You can check the log by entering the following command.

sudo tail -f ~/.xbmc/temp/xbmc.log


Back to Top