22

I have installed xbmc/kodi on a headless raspbian (no keyboard, no mouse). I thought to configure it with the webserver configuration tools, but I am not able to enable it as I cannot access the GUI: how can enable it via command line?

pasine
  • 321
  • 1
  • 2
  • 5

1 Answers1

17

TLDR; I'm working on the same setup; this answer turned into a log of my investigations: see below for a config which works for me.


Background: I've followed the tutorial: Setting up a Raspberry Pi with file sharing and screen sharing for Macs. I've also installed Shairport Sync.

I installed kodi as recommended in the documentation:

sudo apt-get update
sudo apt-get install kodi

Then I can start kodi from the CLI kodi, or from the desktop interface (mirrored on the Mac) under Menu > Sound & Video > Kodi. I have the Pi plugged in to my TV via HDMI, and Kodi shows on the TV, whilst the desktop shows on the Mac.. I haven't found any way of switching apps to Kodi via VNC, or switching spaces (ctrlcmdright arrow shows that that I've only got one space active).

Configuring Kodi via SSH

  • SSH into your server
  • nano /home/pi/.kodi/userdata/guisettings.xml (Forum: Managing Network Settings by SSH)
  • search for the <services> section and edit the following properties, which vary from the default:

.

<services>
    ...
    <airplay>true</airplay>
    ...
    <esallinterfaces>true</esallinterfaces>
    ...
    <upnprenderer>true</upnprenderer>
    <upnpserver>true</upnpserver>
    ...
    <webserver>true</webserver>
    ...
</services>
  • killall -9 kodi.bin
  • start Kodi: kodi
  • see what ports Kodi is listening on netstat -lnptu | grep kodi

.

tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN      3805/kodi.bin
udp        0      0 0.0.0.0:9777            0.0.0.0:*                           3805/kodi.bin

Potentially helpful tips:

The services documentation lists the default http username:kodi, password:kodi

The logs for kodi can be viewed at:

less ~/.kodi/temp/kodi.log

Fing is a free app on ios and android which will detect devices on the local network, display their MAC addresses, and scan ports. From my iPad, I can see #22:SSH, #548:AFP, #5000:upnp, #5900:VNC, but no :9090 :'(. If I run python -m SimpleHTTPServer on the pi, Fing can see #8000:http-alt.

See if you can hit the configured port from your browser: http://<username>:<password>@<xbmc_ip>:<xbmc_port> (See: iPhone/iPod Touch - no xbmc instances were found)

Further options can be configured by editing (or creating) /home/xbmc/.xbmc/userdata/advancedsettings.xml.

Deleting either of the xml configs will cause them to be recreated with defaults.


Whilst installing Shairport Sync (prior to Kodi), I read:

You should not have more than one zeroconf service on the same system

I've definitely got Avahi running, and kodi uses avahi, too.. Clutching at straws: is there a conflict?

Firing avahi-browse -a returns a list of services all over my network, including:

+   eth0 IPv4 Kodi (pi)                                     _xbmc-jsonrpc._tcp   local
+   eth0 IPv4 Kodi (pi)                                     _xbmc-events._udp    local

Update: I attached a keyboard and went and toggled all the switches which seemed relevant to connectivity. I now connect via http (http://[localIP]:8080). I diffed my updates with the default config, and pasted the relevant lines above.

ptim
  • 271
  • 2
  • 6