Profiles

From Official Kodi Wiki
Revision as of 13:03, 12 July 2018 by Davu (talk | contribs)
Jump to navigation Jump to search
Home icon grey.png   ▶ Settings ▶ Profiles


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.


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.

Note: There are many references to the Master Code below. See Settings/System>Master lock for more information.

Profile settings

General

Estuary Profiles General.jpg

Show login screen on startup

Settings level: Basic
Description: Enables or disables the login screen

Automatic Login on startup

Settings level: Basic
Description: Select the profile which should be used on startup or use the 'last used profile' from the previous session

Selecting Profiles from the main settings window will bring you to the screen pictured to the right. In this screen you have the following options:

Add profile
Add a new profile

Profiles

Estuary Profiles Profiles.jpg

List of existing profiles

Settings level: Basic
Description: This section only shows which profiles exists and the option to add a profile, which is explained at: 'link to adding a profile'




Adding a profile

Add Profile

In order to add a profile, simply choose Add Profile:

Estuary Profiles Adding Profile 1.jpg

Choose profile name

First, you will be prompted to enter a name for your profile which name is free to choose.

Estuary Profiles Adding Profile 2.jpg

Select profile folder

Then, it will prompt you for your profile directory. This is where your personalized settings will be stored. While choosing OK the default folder will be used. That will be stored under the userdata-folder and will have the same name as the profile name. If you want to select a new folder for your profile, select New folder, give it a name and then press OK. After you will be prompted to the Browse for folder window again and you need to select the created folder. The settings for the profile will then be found under: userdata -> <profile_name> -> <created folder name>

Estuary Profiles Adding Profile 3.jpg

Specific profile settings

The window you will see now is kind of an overview what has been done yet and will also give you an option to setup specific things.

Estuary Profiles Adding Profile 4.jpg

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:

Profiles-switch profile-v17.jpg

Profiles-switch profile2-v17.jpg


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>



The profile lock preferences

For the lock preferences please see: Lock Preferences


profiles.xml and profiles folder

Cleanup.png This page or section may require cleanup, updating, spellchecking, reformatting and/or updated images. Please improve this page if you can. The discussion page may contain suggestions.


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


The master user (default Kodi user) depends on guisettings.xml to for Kodi settings, default userdata contents and is stored inside the userdata folder ?

Any additional user(s) Kodi settings' or data, are stored separately inside the main profiles folder within respectively profile-named folder, e.g. /userdata/profiles/TEST/.

profiles.xml

The master user and any additionally created users information lockcodes and locked sections is stored inside /userdata/profiles.xml

Example: Contents of profiles.xml containing masterprofile and a TEST profile.

profiles.xml containing all profile settings for Master user using lockcode and additional Test profile not using lockcode.


For information on locking see:
<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

The profiles folder contains separate Kodi settings or data related to the profiles created e.g. /userdata/profiles/TEST/guisettings.xml The profiles folder may also contain unique userdata contents depending on what settings you use, when Adding a Profile. So dont be surprised to find this folder populated with userdata related contents (logically unique and non-transmissible to other users) in case of databases these are not shared and are unique to the user in question.


Example: Contents of profiles folder /userdata/profiles/TEST/guisettings.xml.
<settings>
<mymusic>
<playlist>
<repeat>false</repeat> 
<shuffle>false</shuffle> 
</playlist>
<needsupdate>0</needsupdate> 
<startwindow>10501</startwindow> 
<songinfoinvis>true</songinfoinvis> 
<songthumbinvis>false</songthumbinvis> 
<defaultlibview pathversion="1" /> 
</mymusic>
<myvideos>
<startwindow>10024</startwindow> 
<stackvideos>false</stackvideos> 
<watchmodemovies>0</watchmodemovies> 
<watchmodetvshows>0</watchmodetvshows> 
<watchmodemusicvideos>0</watchmodemusicvideos> 
<needsupdate>0</needsupdate> 
<flatten>false</flatten> 
<playlist>
<repeat>false</repeat> 
<shuffle>false</shuffle> 
</playlist>
<extractflags>true</extractflags> 
<extractthumb>true</extractthumb> 
<replacelabels>true</replacelabels> 
<selectaction>1</selectaction> 
</myvideos>
<viewstates>
<musicnavartists>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</musicnavartists>
<musicnavalbums>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</musicnavalbums>
<musicnavsongs>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</musicnavsongs>
<musiclastfm>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</musiclastfm>
<videonavactors>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavactors>
<videonavyears>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavyears>
<videonavgenres>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavgenres>
<videonavtitles>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavtitles>
<videonavepisodes>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavepisodes>
<videonavseasons>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavseasons>
<videonavtvshows>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavtvshows>
<videonavmusicvideos>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videonavmusicvideos>
<programs>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</programs>
<pictures>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</pictures>
<videofiles>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</videofiles>
<musicfiles>
<viewmode>0</viewmode> 
<sortmethod>1</sortmethod> 
<sortorder>1</sortorder> 
</musicfiles>
</viewstates>
<general>
<systemtotaluptime>0</systemtotaluptime> 
<addonautoupdate>true</addonautoupdate> 
<addonnotifications>true</addonnotifications> 
<addonforeignfilter>false</addonforeignfilter> 
</general>
<defaultvideosettings>
<deinterlacemode>0</deinterlacemode> 
<interlacemethod>1</interlacemethod> 
<scalingmethod>1</scalingmethod> 
<noisereduction>0.000000</noisereduction> 
<postprocess>false</postprocess> 
<sharpness>0.000000</sharpness> 
<viewmode>0</viewmode> 
<zoomamount>1.000000</zoomamount> 
<pixelratio>1.000000</pixelratio> 
<verticalshift>0.000000</verticalshift> 
<volumeamplification>0.000000</volumeamplification> 
<outputtoallspeakers>false</outputtoallspeakers> 
<showsubtitles>true</showsubtitles> 
<brightness>50.000000</brightness> 
<contrast>50.000000</contrast> 
<gamma>20.000000</gamma> 
<audiodelay>0.000000</audiodelay> 
<subtitledelay>0.000000</subtitledelay> 
<autocrop>false</autocrop> 
<nonlinstretch>false</nonlinstretch> 
</defaultvideosettings>
<audio>
<mute>false</mute> 
<fvolumelevel>1.000000</fvolumelevel> 
</audio>
<resolutions /> 
<audiocds>
<autoaction>0</autoaction> 
<bitrate>192</bitrate> 
<compressionlevel>5</compressionlevel> 
<ejectonrip>true</ejectonrip> 
<encoder>3</encoder> 
<quality>0</quality> 
<recordingpath pathversion="1">select writable folder</recordingpath> 
<trackpathformat>%A - %B/[%N. ][%A - ]%T</trackpathformat> 
<usecddb>true</usecddb> 
</audiocds>
<audiooutput>
<ac3passthrough>true</ac3passthrough> 
<audiodevice>DirectSound:{bd6dd71a-3deb-11d1-b171-00c04fc20000}</audiodevice> 
<channellayout>1</channellayout> 
<dtshdpassthrough>true</dtshdpassthrough> 
<dtspassthrough>true</dtspassthrough> 
<guisoundmode>1</guisoundmode> 
<mode>0</mode> 
<multichannellpcm>true</multichannellpcm> 
<normalizelevels>false</normalizelevels> 
<passthroughaac>false</passthroughaac> 
<passthroughdevice>default</passthroughdevice> 
<stereoupmix>false</stereoupmix> 
<truehdpassthrough>true</truehdpassthrough> 
</audiooutput>
<cache>
<harddisk>256</harddisk> 
</cache>
<cacheaudio>
<dvdrom>256</dvdrom> 
<internet>256</internet> 
<lan>256</lan> 
</cacheaudio>
<cachedvd>
<dvdrom>2048</dvdrom> 
<lan>2048</lan> 
</cachedvd>
<cacheunknown>
<internet>4096</internet> 
</cacheunknown>
<cachevideo>
<dvdrom>2048</dvdrom> 
<internet>4096</internet> 
<lan>2048</lan> 
</cachevideo>
<debug>
<screenshotpath pathversion="1">select writable folder</screenshotpath> 
<showloginfo>false</showloginfo> 
</debug>
<dvds>
<automenu>false</automenu> 
<autorun>false</autorun> 
<playerregion>0</playerregion> 
</dvds>
<epg>
<daystodisplay>3</daystodisplay> 
<defaultguideview>3</defaultguideview> 
<epgupdate>120</epgupdate> 
<hidenoinfoavailable>true</hidenoinfoavailable> 
<ignoredbforclient>false</ignoredbforclient> 
<preventupdateswhileplayingtv>false</preventupdateswhileplayingtv> 
<resetepg /> 
</epg>
<filelists>
<allowfiledeletion>false</allowfiledeletion> 
<ignorethewhensorting>true</ignorethewhensorting> 
<showaddsourcebuttons>true</showaddsourcebuttons> 
<showextensions>true</showextensions> 
<showhidden>false</showhidden> 
<showparentdiritems>true</showparentdiritems> 
</filelists>
<input>
<disablejoystickwithimon>true</disablejoystickwithimon> 
<enablejoystick>true</enablejoystick> 
<enablemouse>true</enablemouse> 
<peripherals /> 
<remoteaskeyboard>false</remoteaskeyboard> 
</input>
<karaoke>
<autopopupselector>false</autopopupselector> 
<charset>DEFAULT</charset> 
<enabled>false</enabled> 
<export /> 
<font>arial.ttf</font> 
<fontcolors>0</fontcolors> 
<fontheight>36</fontheight> 
<importcsv /> 
</karaoke>
<locale>
<audiolanguage>original</audiolanguage> 
<charset>DEFAULT</charset> 
<country>USA</country> 
<language>english</language> 
<subtitlelanguage>original</subtitlelanguage> 
</locale>
<lookandfeel>
<enablerssfeeds>true</enablerssfeeds> 
<font>Default</font> 
<rssedit /> 
<skin>skin.confluence</skin> 
<skincolors>SKINDEFAULT</skincolors> 
<skinsettings /> 
<skintheme>SKINDEFAULT</skintheme> 
<skinzoom>0</skinzoom> 
<soundskin>SKINDEFAULT</soundskin> 
<startupwindow>1</startupwindow> 
</lookandfeel>
<masterlock>
<lockcode>-</lockcode> 
<maxretries>3</maxretries> 
<startuplock>false</startuplock> 
</masterlock>
<musicfiles>
<findremotethumbs>true</findremotethumbs> 
<librarytrackformat /> 
<librarytrackformatright /> 
<nowplayingtrackformat /> 
<nowplayingtrackformatright /> 
<trackformat>[%N. ]%A - %T</trackformat> 
<trackformatright>%D</trackformatright> 
<usetags>true</usetags> 
</musicfiles>
<musiclibrary>
<albumsscraper>metadata.album.universal</albumsscraper> 
<artistsscraper>metadata.artists.universal</artistsscraper> 
<backgroundupdate>false</backgroundupdate> 
<cleanup /> 
<downloadinfo>false</downloadinfo> 
<enabled>true</enabled> 
<export /> 
<import /> 
<showcompilationartists>true</showcompilationartists> 
<updateonstartup>false</updateonstartup> 
</musiclibrary>
<musicplayer>
<autoplaynextitem>true</autoplaynextitem> 
<crossfade>0</crossfade> 
<crossfadealbumtracks>true</crossfadealbumtracks> 
<queuebydefault>false</queuebydefault> 
<replaygainavoidclipping>false</replaygainavoidclipping> 
<replaygainnogainpreamp>89</replaygainnogainpreamp> 
<replaygainpreamp>89</replaygainpreamp> 
<replaygaintype>1</replaygaintype> 
<visualisation>visualization.milkdrop</visualisation> 
</musicplayer>
<network>
<bandwidth>0</bandwidth> 
<httpproxypassword /> 
<httpproxyport>8080</httpproxyport> 
<httpproxyserver /> 
<httpproxyusername /> 
<usehttpproxy>false</usehttpproxy> 
</network>
<pictures>
<displayresolution>14</displayresolution> 
<generatethumbs>true</generatethumbs> 
<showvideos>true</showvideos> 
<useexifrotation>true</useexifrotation> 
<usetags>true</usetags> 
</pictures>
<powermanagement>
<displaysoff>0</displaysoff> 
<shutdownstate>0</shutdownstate> 
<shutdowntime>0</shutdowntime> 
</powermanagement>
<pvrclient>
<menuhook /> 
</pvrclient>
<pvrmanager>
<backendchannelorder>true</backendchannelorder> 
<channelmanager /> 
<channelscan /> 
<enabled>false</enabled> 
<hideconnectionlostwarning>false</hideconnectionlostwarning> 
<resetdb /> 
<syncchannelgroups>true</syncchannelgroups> 
<usebackendchannelnumbers>false</usebackendchannelnumbers> 
</pvrmanager>
<pvrmenu>
<closechannelosdonswitch>false</closechannelosdonswitch> 
<hidevideolength>true</hidevideolength> 
<iconpath /> 
<infoswitch>true</infoswitch> 
<infotime>5</infotime> 
<infotimeout>true</infotimeout> 
<searchicons /> 
</pvrmenu>
<pvrparental>
<duration>300</duration> 
<enabled>false</enabled> 
<pin /> 
</pvrparental>
<pvrplayback>
<channelentrytimeout>0</channelentrytimeout> 
<playminimized>true</playminimized> 
<scantime>10</scantime> 
<signalquality>true</signalquality> 
<startlast>0</startlast> 
<switchautoclose>true</switchautoclose> 
</pvrplayback>
<pvrpowermanagement>
<backendidletime>15</backendidletime> 
<dailywakeup>false</dailywakeup> 
<dailywakeuptime>00:00:00</dailywakeuptime> 
<enabled>false</enabled> 
<prewakeup>15</prewakeup> 
<setwakeupcmd /> 
</pvrpowermanagement>
<pvrrecord>
<defaultlifetime>99</defaultlifetime> 
<defaultpriority>50</defaultpriority> 
<instantrecordtime>120</instantrecordtime> 
<marginend>10</marginend> 
<marginstart>2</marginstart> 
<timernotifications>true</timernotifications> 
</pvrrecord>
<scrapers>
<moviesdefault>metadata.themoviedb.org</moviesdefault> 
<musicvideosdefault>metadata.musicvideos.last.fm</musicvideosdefault> 
<tvshowsdefault>metadata.tvdb.com</tvshowsdefault> 
</scrapers>
<screensaver>
<mode>screensaver.xbmc.builtin.dim</mode> 
<preview /> 
<settings /> 
<time>3</time> 
<usedimonpause>true</usedimonpause> 
<usemusicvisinstead>true</usemusicvisinstead> 
</screensaver>
<scrobbler>
<lastfmpass /> 
<lastfmsubmit>false</lastfmsubmit> 
<lastfmsubmitradio>false</lastfmsubmitradio> 
<lastfmusername /> 
<librefmpass /> 
<librefmsubmit>false</librefmsubmit> 
<librefmusername /> 
</scrobbler>
<services>
<airplay>false</airplay> 
<airplaypassword /> 
<devicename>XBMC</devicename> 
<esallinterfaces>false</esallinterfaces> 
<escontinuousdelay>25</escontinuousdelay> 
<esenabled>true</esenabled> 
<esinitialdelay>750</esinitialdelay> 
<esmaxclients>20</esmaxclients> 
<esport>9777</esport> 
<esportrange>10</esportrange> 
<upnpannounce>true</upnpannounce> 
<upnprenderer>false</upnprenderer> 
<upnpserver>false</upnpserver> 
<useairplaypassword>false</useairplaypassword> 
<webserver>false</webserver> 
<webserverpassword /> 
<webserverport>80</webserverport> 
<webserverusername>xbmc</webserverusername> 
<webskin>webinterface.default</webskin> 
<zeroconf>false</zeroconf> 
</services>
<slideshow>
<displayeffects>true</displayeffects> 
<shuffle>false</shuffle> 
<staytime>5</staytime> 
</slideshow>
<subtitles>
<align>0</align> 
<charset>DEFAULT</charset> 
<color>1</color> 
<custompath pathversion="1" /> 
<font>arial.ttf</font> 
<height>28</height> 
<overrideassfonts>false</overrideassfonts> 
<style>1</style> 
</subtitles>
<system>
<playlistspath pathversion="1">set default</playlistspath> 
</system>
<videolibrary>
<actorthumbs>true</actorthumbs> 
<backgroundupdate>false</backgroundupdate> 
<cleanup /> 
<enabled>true</enabled> 
<export /> 
<flattentvshows>1</flattentvshows> 
<groupmoviesets>false</groupmoviesets> 
<import /> 
<seasonthumbs>true</seasonthumbs> 
<showunwatchedplots>true</showunwatchedplots> 
<updateonstartup>false</updateonstartup> 
</videolibrary>
<videoplayer>
<adjustrefreshrate>0</adjustrefreshrate> 
<autoplaynextitem>false</autoplaynextitem> 
<displayresolution>14</displayresolution> 
<errorinaspect>0</errorinaspect> 
<maxspeedadjust>5.000000</maxspeedadjust> 
<pauseafterrefreshchange>0</pauseafterrefreshchange> 
<rendermethod>0</rendermethod> 
<resamplequality>1</resamplequality> 
<stretch43>0</stretch43> 
<synctype>2</synctype> 
<teletextenabled>true</teletextenabled> 
<teletextscale>true</teletextscale> 
<usechd>true</usechd> 
<usedisplayasclock>false</usedisplayasclock> 
<usedxva2>false</usedxva2> 
</videoplayer>
<videoscreen>
<blankdisplays>false</blankdisplays> 
<fakefullscreen>false</fakefullscreen> 
<guicalibration /> 
<resolution>-1</resolution> 
<screen>0</screen> 
<screenmode>DESKTOP</screenmode> 
<vsync>2</vsync> 
</videoscreen>
<weather>
<addon>weather.wunderground</addon> 
<addonsettings /> 
<currentlocation>1</currentlocation> 
</weather>
<window>
<height>480</height> 
<width>720</width> 
</window>
<skinsettings /> 
</settings>

See also