Profiles: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 15: Line 15:
All options stored in the [[userdata folder]] can be customized per profile, allowing for an amazing amount of flexibility.
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|Settings/System>Master lock]] for more information.}}
{{note|There are many references to the Master Code below. See [[Settings/Interface/Master_lock|Settings -> Interface settings -> Master lock]] for more information.}}
{{-}}
{{-}}
== Profile settings ==
=== General ===
[[File:Estuary_Profiles_General.jpg|500px]]
==== Show login screen on startup ====
{|
|- valign="top"
| width=120px | {{nowrap|'''Settings level:'''}}
| Basic
|- valign="top"
| '''Description:'''
| Enables or disables the login screen
|}
==== Automatic Login on startup ====
{|
|- valign="top"
| width=120px | {{nowrap|'''Settings level:'''}}
| Basic
|- valign="top"
| '''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===
[[File:Estuary_Profiles_Profiles.jpg|500px]]
==== List of existing profiles ====
{|
|- valign="top"
| width=120px | {{nowrap|'''Settings level:'''}}
| Basic
|- valign="top"
| '''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 ==
== Adding a profile ==


=== Add Profile ===
In order to add a profile, simply choose ''Add Profile'':
[[File:Estuary_Profiles_Adding_Profile_1.jpg|500px]]
{{-}}
<br>
=== Choose profile name ===
First, you will be prompted to enter a name for your profile which name is free to choose.


[[File:Estuary_Profiles_Adding_Profile_2.jpg|500px]]
In order to add a profile, follow the steps below
{{-}}
<br>
=== Select profile folder ===


Then, it will prompt you for your profile directory. This is where your personalized settings will be stored.
<gallery mode="packed" widths=500px heights=283px>
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.
File:Estuary_Profiles_Adding_Profile_1.jpg| '''Step 1:''' Select "Add profile"
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>'''
File:Estuary_Profiles_Adding_Profile_2.jpg| '''Step 2:''' Enter a name for the profile
File:Estuary_Profiles_Adding_Profile_3.jpg| '''Step 3:''' Select a directory for your profile at which your personalized settings will be stored.<br />'''OK''' will choose the 'default' folder which will be stored under the [[Userdata|userdata]]-folder and will have the same name as the profile name. <br />'''New folder''' will give you the option to specify a self-created folder for your profile which you need to select after a name for it was given. The folder for the profile will then be found under: userdata -> profiles -> <created folder name>
File:Estuary_Profiles_Adding_Profile_4.jpg| '''Step 4:''' Select specific profile settions which are explained below
File:Estuary_Profiles_Adding_Profile_5.jpg| '''Step 5:''' Choose to copy settings from the defaul user ot start with default settings
File:Estuary_Profiles_Adding_Profile_6.jpg| '''Step 6:''' Choose to copy media sources from the default user or start fresh.
</gallery>


[[File:Estuary_Profiles_Adding_Profile_3.jpg|500px]]
{{-}}
<br>
=== Specific profile settings ===
=== 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.
[[File:Estuary_Profiles_Adding_Profile_4.jpg|500px]]


; Profile Name
; Profile Name
Line 136: Line 70:
<br>
<br>


[[File:Profles-delete_profile-v17.jpg|500px]]
[[File:Profles-delete_profile-v17.jpg|500px]]<br />


{{-}}
{{-}}
Line 158: Line 92:




Another way of switching profiles is to bind ''load profile'' to a key in [[Keymaps|keymaps.xml]] by using the [[List_of_built-in_functions|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 {{keypress|Y}}<br />
Another way of switching profiles is to bind ''load profile'' to a key in [[Keymaps|keymaps.xml]] by using the [[List_of_built-in_functions|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 {{keypress|y}}<br />


Switch from User1 to User2 (Users1's keymap.xml): <y>LoadProfile(User2)<y/><br />
Switch from User1 to User2 (Users1's keymap.xml): <y>LoadProfile(User2)<y/><br />
Line 176: Line 110:




== The profile lock preferences ==
== profiles.xml and profiles folder ==


For the lock preferences please see: [[Settings/Interface/Master_lock#Lock_preferences|Lock Preferences]]
== profiles.xml and profiles folder ==
{{cleanup}}
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.
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.


{{notice|'''Do not edit the any of the xml files''' in question unless '''indicated by a Kodi developer''' or for '''backup''' purposes only|WARNING:}}
{{notice|'''Do not edit the any of the xml files''' in question unless '''indicated by a Kodi developer''' or for '''backup''' purposes only|WARNING}}
 
 
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 ===
=== profiles.xml ===
The master user and any additionally created users information lockcodes and locked sections is stored inside '''''/userdata/profiles.xml'''''
{{see also|Settings/System#Master_lock|Media_sources#Locking}}


'''Example: Contents of profiles.xml containing masterprofile and a TEST profile. '''
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.


profiles.xml containing all profile settings for '''Master user''' using lockcode and additional '''Test''' profile not using lockcode.
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.  




{| class="mw-collapsible mw-collapsed wikitable"  
{| class="mw-collapsible mw-collapsed wikitable"  
|-
|-
! <big> For information on locking see:</big>
! Example profiles.xml file
|-
|-
|  
|  
Line 257: Line 179:


=== Profiles folder contents ===
=== 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 [[Profiles#Adding a Profile|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.


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#UserData_folder_contents|Userdata folder contents]]
== Troubleshooting ==
<br />
'''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: {{button|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 {{button|Settings -> Interface settins -> Skin}} menu.


{| class="mw-collapsible mw-collapsed wikitable"
|-
! <big>Example: Contents of profiles folder /userdata/profiles/TEST/guisettings.xml.</big>
|-
|
<syntaxhighlight lang=xml enclose="div">
<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>
</syntaxhighlight>
|}


== See also ==
== See also ==

Revision as of 06:40, 14 July 2018

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 -> Interface settings -> Master lock for more information.

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:

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>



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.


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.


See also