Kodi

From ArchWiki
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

XBMC (formerly "Xbox Media Center") is a free, open source (GPL) multimedia player that originally ran on the first-generation XBox, (not the newer Xbox 360), and now runs on computers running Linux, Mac OS X, Windows, and iOS. XBMC can be used to play/view the most popular video, audio, and picture formats, and many more lesser-known formats, including:

  • Video - DVD-Video, VCD/SVCD, MPEG-1/2/4, DivX, XviD, Matroska
  • Audio - MP3, AAC.
  • Picture - JPG, GIF, PNG.

These can all be played directly from a CD/DVD, or from the hard-drive. XBMC can also play multimedia from a computer over a local network (LAN), or play media streams directly from the Internet. For more information, see the XBMC FAQ.

Installation

Note: These instructions assume you have a working X installation. If you have not done this yet, please consult Beginners_Guide#Graphical_User_Interface.

The stable version of XBMC is available in the community repo:

# pacman -Syu xbmc

The SVN (testing) version of XBMC can be downloaded from the AUR (XBMC-git), e.g. using yaourt:

$ yaourt -Syua xbmc-git
Warning: This is not the recommended way of using XBMC, as svn versions are always on the bleeding edge of development and thus can break sometimes. If you want a stable media center experience, go with the stable releases.

Starting XBMC

First install D-Bus and add it to your DAEMONS Array if you have not already:

(... dbus ...)

Next, you'll probably want to get ConsoleKit up and running, if you have not already, and add the following line to your .xinitrc:

exec ck-launch-session xbmc-standalone

Make sure you add your user (or whatever user will run xmbc on your system) to at least groups audio, video, and storage.

$ for x in audio video storage; do sudo gpasswd -a $USER $x; done
Note: If you do not run Sudo, simply run the above command as root. You may also need to swap out $USER for another username if you are not logged in as the xbmc user.

Autostarting at Boot

Using the above method, xbmc should run every time you start your X server, so auto-starting at boot can be configured just like a Display Manager, with one important difference. If you choose to use the /etc/inittab method, you can skip loading a display manager altogether and autologin XBMC by default. To do this, change your default runlevel to 5 in /etc/inittab as usual:

## Only one of the following two lines can be uncommented!
# Boot to console
#id:3:initdefault:
# Boot to X11
id:5:initdefault:

Note the comment (#) in front of id:3:initdefault: and not id:5:initdefault. Then, comment out all the default display manager lines at the end of the file:

# Example lines for starting a login manager
#x:5:respawn:/usr/bin/xdm -nodaemon
#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1

Finally, add this line (toward the end of the file, near where the lines you just commented are):

x:5:wait:login -f <YOUR_XBMC_USERNAME> </dev/tty7 &>/dev/tty7
Warning: There is a security risk using this method. This bypasses login authentication and should only be used if you are sure you know what you are doing!

If you use systemd you can try this:

/etc/systemd/system/autologin.service
[Unit]
Description=Direct login to X
Requires=dev-tty7.device
yAfter=dev-tty7.device systemd-user-sessions.service

[Service]
Restart=always
ExecStart=/sbin/mingetty --autologin <username> tty7 linux

[Install]
WantedBy=graphical.target

Save your /etc/inittab changes and add the following to your .bash_profile:

[[ $(tty) = "/dev/tty7" ]] && exec startx </dev/null &>/dev/null

You may also add a .hushlogin to your home directory to further suppress login messages:

touch ~/.hushlogin

Configuration

Using a Remote

As XBMC is geared toward being a remote-controlled media center, if your computer has an IR receiver, you will probably want to set up a remote using LIRC. Once you are sure your remote is working properly (tested with $ irw), add lircd to your DAEMONS Array and you'll be ready to create an Lircmap.xml file for it.

Using your favorite text editor, you'll need to go in and create an XML file at ~/.xbmc/userdata/Lircmap.xml (note the capital 'L'). Lircmap.xml format is as follows:

<lircmap>
  <remote device="devicename">
      <XBMC_button>LIRC_button</XBMC_button>
      ...
  </remote>
</lircmap>
  • Device Name is whatever LIRC calls your remote. This is set using the Name directive in lircd.conf and can be viewed by running $ irw and pressing a few buttons on the remote. IRW will report the name of the button pressed and the name of the remote will appear on the end of the line.
  • XBMC_button is the name of the button as defined in keymap.xml.
  • LIRC_button is the name as defined in lircd.conf. If you automatically generated your lircd.conf using # irrecord, these are the names you selected for your button then. Refer back to LIRC for more information.
  • You may want to check out the very thorough Lircmap.xml page over at the XBMC Wiki for more help and information on this subject.

Resources

  • XBMC Wiki: An excellent resource with much information about Arch Linux specifically (upon which the original version of this article was largely based).