Autostarting Kodi on an Arch Linux media box.

25 January 2017

Not too long ago, when the USB key I'd built a set-top media machine died from overuse I decided to rebuild it using Arch Linux with Kodi as the media player.  The trick, I keep finding every time, lies in getting Kodi to start up whenever the machine starts up.  I think I've re-figured that out six or seven times by now, and each time after it works I forget all about it.  So, I guess I'd better write it down for once so that I've got a snapshot of what I did in case I need to do it again later.

The instructions in the Arch Linux wiki work, but you need to pick the right ones to follow.  The short-and-sweet ones with the automagickal AUR package don't work.  Forget it.

Install LightDM from the Arch package repository (sudo pacman -S lightdm).  Then install the instructions I linked to above to the letter.  That means carrying out the following tasks:

Create the file /etc/X11/Xwrapper.config.  The file should contain only the following text in bold (no double quotes): "needs_root_rights = yes"

Follow the LightDM "Enabling autologin" and "Enabling interactive passwordless login" instructions.  Create a user named "kodiuser" (you don't need to set a password" and give it access to system groups necessary to access resouces in the system.  I used the following command to do this: sudo useradd -c "Kodi Service Account" -G dbus,network,video,audio,optical,storage,users -m kodiuser

Create two additional groups which LightDM needs to enable autologin:

  • sudo groupadd -r autologin
  • sudo groupadd -r nopasswdlogin

Add kodiuser to those groups:

  • sudo gpasswd -a kodiuser autologin
  • sudo gpasswd -a kodiuser nopasswdlogin

Edit the file /etc/lightdm/lightdm.conf, find the following configuration directives, and set them to the values I specify.  If you don't find one or more of them, you'll have to create it in the appropriate place:

  • minimum-vt=1
  • pam-service=lightdm-autologin
  • pam-autologin-service=lightdm-autologin
  • autologin-user=kodiuser
  • autologin-user-timeout=0
  • session-wrapper=/etc/lightdm/Xsession
  • user-session=kodi

Edit the file /etc/pam.d/lightdm and copy-and-paste the following directly under the "#%PAM-1.0" line at the very top (again, no double-quotes): "auth    sufficient user ingroup nopasswdlogin"

Enable LightDM: sudo systemctl enable lightdm

Reboot: sudo shutdown -r now

Enjoy your Kodi media box.  Just don't forget to adjust the volume first!

I should probably write a shell script for that.  Or put it in a Github repository, or something.