Skin changes lost after a reboot

Hi again
The remote access via Yatse (Android tablet or phone) was also broken, and that was why my daughter could not access to Kodi.
Fortunately, having remote access via ssh I could search, find and solve this access issue.

  • Search:
    To remote access from Yatse, two services/ports are needed to be running in Kodi: webserver (TCP 80, or another port) and EventServer (UDP 9777, or another port). webserver has its own wellknown guisettings.xml section:

    ............. true 80 .............
  • Find and solve:
    I did a remote “nmap” from other device in the local network (accesed also remotelly by ssh) and I found that the webserver was running, but not the EventServer. The EventServer in the guisettings.xml file has this sections (only some of them are presented):

      <services>
      ......
             <esallinterfaces default="true">false</esallinterfaces>
             <esenabled default="true">true</esenabled>
             <esport default="true">9777</esport>
      ............
      </services>
    

I found that the service was running only in the localhost, so:

  1. I changed the false by true in the esallinterfaces section.
  2. I restarted the kodi: sudo systemctl restart mediacenter
  3. I looked via nmap if it was working, and surprise!!! it was not working at all!!!
  4. I looked to the guisettings.xml file, and surprise!!! it was replaced by the first one, so nothing changed
  5. I tried it again, and again … the guisettings.xml file keep unchanged even if I changed it.
  6. I removed the part "default=“true”, so the line was finally <esallinterfaces>false </esallinterfaces>, restart the kodi service and, … surprise … It works!!!

My opinion: there is a default guisettings.xml that overwrites the modified ones when the Kodi service starts. I believe that this “default” guisettings.xml file is not accessible for us or is created dynamically by the kodi binaries. This can “almost” be solved only by the Kodi team. In the meantime, workarounds should be created. The workarounds may have this workflow:

  1. Configuring via the GUI our preferences.
  2. Saving the guisettings.xml with other name (f.ex. guisettings.xml.bck)
  3. Testing if it is maintained after restarting the Kodi service.
    4a. If “yes”, creating an init service/script that overwrites the guisettings.xml with the contents of guisettings.xml.bck, to prevent other issues (but I’m not sure if this will work, because the Kodi service may overwrite the guisettings.xml file on startup, and that’s a pain)
    4b. If “not”, change in some way the guisettings.xml file to achieve the “4a. yes”.

Bests