Profiles

From Official Kodi Wiki
Jump to navigation Jump to search


Profiles allow users to save all of settings as a profile and change them at the touch of a button. It also allows you to grant access to specific folders and network shares based on the profile being used. This is ideal for systems that have multiple users. It works much the same as setting up individual users on your home computer.

Note: While profiles do allow to share the same Kodi instance with multiple users, they are not a security feature. The web interface, for example, may still allow to change the active profile without entering a password.


These individual profiles allow you to customize the environment for multiple users, allowing for such functionality as:

  • Customized view settings such as skins for each user
  • The ability to lock folders, such as network shares on a per-user basis
  • Separate media libraries for each user
  • Unique RSS feeds for each user
  • Unique keymapping for each user
  • Unique network settings

All options stored in the userdata folder can be customized per profile, allowing for an amazing amount of flexibility.


Adding a profile

In order to add a profile, follow the steps below

Specific profile settings

Profile Name
The name of the profile you entered above
Profile picture
Browse to some icon you would like to select as a profile picture
Profile directory
The path to the profile directory you might have created above
Lock prefences
Allows you to lock many of your preferences. This is detailed below.
Media Info
Allows you to have separate information saved for your media, i.e. IMdB, AllMusic, etc. The options are
  • Separate - Profiles have separate media info with full control
  • Shares with Default - Shares media info with the default user with full control
  • Shares with Default (Read Only) - Shares media info with the default user, and is locked by the master code
  • Separate (Locked) - Profile has separate media info, but you can only change it by enabling master mode.


Media sources
Allows you to have separate media sources for the profiles. The options are
  • Separate - Profiles have separate media sources with full control
  • Shares with Default - Shares media sources with the default user with full control
  • Shares with Default (Read Only) - Shares media sources with the default user, and is locked by the master code
  • Separate (Locked) - Profiles have separate media sources, but you can only change them by enabling master mode.




Deleting a profile

In order to delete an unused profile, simply navigate to Settings->Profile Settings->Profiles, then navigate to the profile you want to delete and bring up the context menu using either guide on a remote or c on a normal keyboard. Then select Delete like shown in the screenshot below:

Profles-delete profile-v17.jpg


Switching profiles

Switching profiles from a currently running Kodi instance can be done in different ways:

You are able to switch a profile while navigating to the profiles-section, selecting the specific profile you want to use, bring up the context menu using either guide on a remote or c on a normal keyboard and select Load like shown in the screenshot below:

Profiles-load profile-v17.jpg

The other way is to log-off from the current Kodi session and log-in to another profile:


Another way of switching profiles is to bind load profile to a key in keymaps.xml by using the built-in function LoadProfile. If you only have two profiles you can use the same key to switch back and forth. e.g. LoadProfile bound to y

Switch from User1 to User2 (Users1's keymap.xml): <y>LoadProfile(User2)<y/>
Switch from User2 to User1 (Users2's keymap.xml): <y>LoadProfile(User1)<y/>

Keymap.xml example:

<keymap>
  <global>
    <keyboard>
      <y>LoadProfile(User2)</y>
    </keyboard>
  </global>
</keymap>



profiles.xml and profiles folder

It is important to mention that this section exists so that users have some documentation to refer to in the event of profile related issues occur like profile corruption. This does not constitute a invitation to novice users to start messing around with said files/folders and cause inadvertent problems that would not otherwise exist.

Emblem-important-yellow.png WARNING:
Do not edit the any of the xml files in question unless indicated by a Kodi developer or for backup purposes only

profiles.xml

A profile.xml file exists after the very first installation of Kodi at its userdata-folder and unless you have created additional profiles it won't have any other information as for the Master user (Kodis default user). If you create other/additional profiles, that file will be populated with additional informations about the created profile.

The example below shows a profile.xml file containing the Master user and the user Test as an additional profile. In that case it will show that the Master user uses a lockcode which Test doesn't use. As you can see the given password is shown in plain text. So please be aware that a locked profile doesn't provide any kind of security if other users have access to the underlying file system.

For the lock preferences and the Master lock, please visit: Settings -> Interface settings -> Master lock


Example profiles.xml file
<profiles>
<lastloaded>0</lastloaded> 
<useloginscreen>false</useloginscreen> 
<nextIdProfile>2</nextIdProfile> 
<profile>
<id>0</id> 
<name>Master user</name> 
<directory pathversion="1">special://masterprofile/</directory> 
<thumbnail pathversion="1" /> 
<hasdatabases>true</hasdatabases> 
<canwritedatabases>true</canwritedatabases> 
<hassources>true</hassources> 
<canwritesources>true</canwritesources> 
<lockaddonmanager>false</lockaddonmanager> 
<locksettings>false</locksettings> 
<lockfiles>false</lockfiles> 
<lockmusic>false</lockmusic> 
<lockvideo>false</lockvideo> 
<lockpictures>false</lockpictures> 
<lockprograms>false</lockprograms> 
<lockmode>1</lockmode> 
<lockcode>c4ca4238a0b923820dcc509a6f75849b</lockcode> 
<lastdate /> 
</profile>
<profile>
<id>1</id> 
<name>TEST</name> 
<directory pathversion="1">profiles/Test/</directory> 
<thumbnail pathversion="1" /> 
<hasdatabases>true</hasdatabases> 
<canwritedatabases>true</canwritedatabases> 
<hassources>true</hassources> 
<canwritesources>true</canwritesources> 
<lockaddonmanager>false</lockaddonmanager> 
<locksettings>false</locksettings> 
<lockfiles>false</lockfiles> 
<lockmusic>false</lockmusic> 
<lockvideo>false</lockvideo> 
<lockpictures>false</lockpictures> 
<lockprograms>false</lockprograms> 
<lockmode>0</lockmode> 
<lockcode>-</lockcode> 
<lastdate /> 
</profile>
</profiles>


Profiles folder contents

Any additional user(s) will have their own folder under userdata -> profiles -> <profile-name> which contains all informations about add-on data, databases, keymaps, thumbnails and such seperately from the Master user. If you have selected "Copy default" at the steps above, the settings or media sources will be copied from the default Kodi user.

By default (no sources set neither on the master user nor on an additional profile) an additional profile folder contains similar folders as the userdata folder. For an explanation about the files and folders which are located under the <profile_name>-folder, please see: Userdata folder contents


Troubleshooting


Q: I installed skins and add-ons on the 'Master User' but I can't install it on the additional profile. Why?

A: Already installed skins or add-ons are marked as "disabled" under: Add-ons -> My add-ons -> <specific add-on section> and don't need to be installed again. After you enabled a specific add-on or a skin, those add-ons are available again and skins could be used from the Settings -> Interface settins -> Skin menu.


Q: After I created a profile, the Kodi screen stays black if I try to load it for the first time. Why?

A: That was a bug and it's already fixed in Kodi 18 alpha versions. After you have restarted Kodi Krypton, Kodi should behave normal and should display the GUI as expected.

Missing texts/different skins not loading while using profiles

Note: This will be obsolete after the release of Kodi 18.7.

That's a known issue and there's a workaround for that:

- create a autoexec.py file at your userdata folder and under each <profile-name>-folder under userdata -> profiles -> <profile-name> (the path to that folder differs from the OS in use)
- fill each autoexec.py with the following content:

import xbmc
xbmc.executebuiltin('ReloadSkin()')

That will cause a skin reload at every profile switch. Depending on your hardware in use you mostly won't notice it and the texts will be visible again and/or different skins for different profiles will load fine. For some hardware, like the RPi, it will be noticeable and also might take a little while.


See also