Headless XBMC Server Linux

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

Headless XBMC Server Linux

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
Created: 8th June 2016
Updated: 19th January 2025
Difficulty:

Requirements

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

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.

Preparation

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-de

    Installation

    • Now we can begin with the XBMC building.
    • First we need to clone the github repo.
    git clone git://github.com/xbmc/xbmc.git
    cd xbmc
    • Now we can checkout and patch the cloned source.
    git checkout 13.0-Gotham
    wget https://gist.github.com/docmeth02/bcd237...rver.patch
    git checkout -b local
    git apply xbmc-server.patch

    Next we run some more commands.

      ./bootstrap
      ./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 libxbmc.so /lib/libxbmc.so
        ldconfig
        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 https://cyanlabs.net/uploads/xbm
          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 https://cyanlabs.net/uploads/guisettings.xml

                  Now we set up the advancedsettings.xml file, used to configure mysql DB settings etc. XBMC Wiki for more information

                    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

                        Credits

                        Leave the first comment

                        Manage Account

                        Welcome,

                        • Username:
                        • Email: