<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bakslash</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bakslash"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Bakslash"/>
	<updated>2026-06-17T19:39:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files&amp;diff=67568</id>
		<title>NFO files</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files&amp;diff=67568"/>
		<updated>2014-01-06T10:31:21Z</updated>

		<summary type="html">&lt;p&gt;Bakslash: /* Importing library information from &amp;quot;My Movies&amp;quot; media management software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[General topics]]|[[Videos]] {{l2|[[Music/Audio]]}}|[[Video library/Management|Management]] &amp;lt;br /&amp;gt;&amp;amp;nbsp; }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;NFO files can be used to provide data for a video file in XBMC or influence the search behaviour of scrapers. In particular they are helpful if the information fetched from a web site does not match the video file, or data for that particular file does not exist.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default at the time of scanning, if the media folder contains a correctly named *.nfo file, then XBMC will load the *.nfo file and attempt to either, in the case of it containing XML data get the meta-data directly from the .nfo file or will parse it for a direct URL to the scraper info page. This allows XBMC to skip its normal lookup and/or search procedures; this is useful if a file&#039;s information is not available on any of the scraper sites or if the file-matching criteria fail for the particular file.&lt;br /&gt;
&lt;br /&gt;
== Getting an .NFO file ==&lt;br /&gt;
Various options:&lt;br /&gt;
&lt;br /&gt;
=== .NFO exists ===&lt;br /&gt;
If you have a movie with an .NFO file already, continue with the next section. &lt;br /&gt;
&lt;br /&gt;
=== Create an .NFO file (recommended) ===&lt;br /&gt;
* This is recommended to have .NFO files only where needed.&lt;br /&gt;
* Create a text file with a text editor (e.g. notepad) with &#039;&#039;&#039;exactly the same name as the movie file&#039;&#039;&#039; (if all movies in one dir; in case each movie has its own folder, place the &#039;&#039;&#039;.nfo&#039;&#039;&#039; file there and the name does not matter). The extension has to be &#039;&#039;&#039;.nfo&#039;&#039;&#039; (e.g. &#039;&#039;Hellboy (2004) English.DTS.1080p.x264.nfo&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
=== Export .NFO files for all movies ===&lt;br /&gt;
* First you need to have all the movies scanned into your [[Video Library]].&lt;br /&gt;
* Once this is done you’ll need to export your library as a series of separate .NFO files. This can be done by going to [[Videos Settings|Settings &amp;gt; Video]] &amp;gt; Library and choosing Export Library. Make sure you choose the separate files option, and a bunch of .NFO files (one for every movie) will be dumped to the directories the movies are stored in.&lt;br /&gt;
{{tip|See  &#039;&#039;&#039;[[Import-export library]]&#039;&#039;&#039;}}&lt;br /&gt;
* Once you have the .NFO you&#039;ll need to open it for all the movies in the series and add some info to them.&lt;br /&gt;
&lt;br /&gt;
== NFO Examples ==&lt;br /&gt;
&lt;br /&gt;
Below are the different sections explained on how to create specific nfo files for them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[NFO files/movies|Movies]]&#039;&#039;&#039;&lt;br /&gt;
:* [[NFO files/movies#Movie sets|Movie sets]]&lt;br /&gt;
:* [[NFO files/movies#Movie tags|Movie tags]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[NFO files/tvshows|TV Shows]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:* &#039;&#039;&#039;[[NFO files/tvepisodes|TV Episodes]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[NFO files/musicvideos|Music videos]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[NFO files/music|Music]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Importing library information from &amp;quot;My Movies&amp;quot; media management software ==&lt;br /&gt;
[http://www.mymovies.dk/ My Movies (www.mymovies.dk)] is an online database for profiling DVD-Video movies. [http://www.mymovies.dk/ My Movies] saves an XML file and a poster cover image which with this patch will get scanned by XBMC in the same way as XBMC&#039;s own XML formatted NFO files are scanned/scraped.&lt;br /&gt;
&lt;br /&gt;
XBMC has the ability to get the import movie library information from &amp;quot;[http://www.mymovies.dk/ My Movies]&amp;quot; via the mymovies.xml files that it generates, these mymovies.xml are checked after the movie.nfo file.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Bakslash</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFS&amp;diff=67096</id>
		<title>NFS</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFS&amp;diff=67096"/>
		<updated>2013-12-23T01:29:00Z</updated>

		<summary type="html">&lt;p&gt;Bakslash: /* NFS sharing from Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;intro&amp;quot;/&amp;gt;&#039;&#039;&#039;Network File System&#039;&#039;&#039;, or &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Network_File_System_%28protocol%29 NFS]&#039;&#039;&#039;, is a way to share folders over a network, and was added to XBMC in v11 (Eden). The main benefits of using NFS instead of SMB are its low protocol overhead (which allows it to send data across a network more quickly) and its use of simple [http://en.wikipedia.org/wiki/User_identifier UID&#039;s] to authenticate users rather than username/password combinations. This part bears repeating, as many people are confused on this point and try to create usernames and passwords to get XBMC to work with NFS: &#039;&#039;&#039;NFS does not use usernames or passwords as logins;&#039;&#039;&#039; it uses a UNIX-based &amp;quot;userID&amp;quot; (UID) alone.&amp;lt;section end=&amp;quot;intro&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NFS&#039;s main disadvantage in comparison to SMB (a commonly-encountered protocol in Windows environments) is that it can be more complicated to set up in some cases, since many non-technical users are unfamiliar with configuring UNIX-based protocols.&lt;br /&gt;
&lt;br /&gt;
NFS is commonly found on all Linux/UNIX distributions, as well as on OS X and Solaris, and offers several features:&lt;br /&gt;
:* It is already incorporated in UNIX-like operating systems (such as OS X), eliminating the need for additional software and services to be installed on your computer.&lt;br /&gt;
:* It allows for authentication by UID, thus eliminating the need to save usernames and passwords in XBMC source XML files (note, however, that this simple authentication also makes it more vulnerable to attacks; NFS should be only used inside a private LAN).&lt;br /&gt;
:* Once properly configured, NFS will allow your network shares to be seen and accessed by not only XBMC, but also any other machine on your network.&lt;br /&gt;
&lt;br /&gt;
;{{note|If you already have a working NFS server check that the export options required by XBMC have been set (as described in the relevant section below).}} &lt;br /&gt;
&lt;br /&gt;
When configuring NFS shares to use as network sources for XBMC&#039;s music/video libraries, use the following format: &#039;&#039;&#039;nfs://1.2.3.4/path/to/folder&#039;&#039;&#039; (where &amp;quot;1.2.3.4&amp;quot; should be replaced with the IP of your NFS server, and &amp;quot;/path/to/folder&amp;quot; should be replaced with the path to the folder you want to share; a double slash between the server and the path is wrong, you &#039;&#039;&#039;should not&#039;&#039;&#039; use nfs://1.2.3.4//path/to/folder).  See the sections below for help configuring NFS shares on various devices&#039; operating systems.&lt;br /&gt;
&lt;br /&gt;
For more info on network sources for your music and video in XBMC, see [[Types of Media Sources]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NFS sharing from Windows ==&lt;br /&gt;
Windows does not have any built-in native ability to share folders via NFS; and only a limited selection of Windows operating systems have the native ability to access NFS shares as a client.  However, several third-party solutions attempt to provide NFS functionality, on both the server side and the client side.&lt;br /&gt;
&lt;br /&gt;
For &#039;&#039;serving&#039;&#039; (sharing) files from Windows using NFS, there seem to be three choices:&lt;br /&gt;
:* Windows Server 2003 R2, Windows Server 2008 and Windows Server 2012 have built-in NFS Server and Client through Subsystem for UNIX-based Applications (SUA).  With 64-bit support, this solution supports files up to 4TB in size&lt;br /&gt;
:* [http://en.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX Microsoft Windows Services for UNIX (SFU)] available [http://www.microsoft.com/download/en/details.aspx?id=274 here]for Windows 2000, Windows XP Professional (NOT Home edition, without a [http://www.networkedmediatank.com/showthread.php?tid=1434 hexedit hack]), Windows 2003 Server, and Windows Home Server (based on 2003 Server).  SFU is 32-bit only, which &#039;&#039;may&#039;&#039; mean it only supports files up to 2GB in size, [http://www.suacommunity.com/SUA_Tools_Env_Start.htm#_Toc203389873 according to some sources] (this is unconfirmed).  A good installation guide can be found [http://www.networkedmediatank.com/showthread.php?tid=1434 here].  Windows SFU will not install on Windows Vista or Windows 7, so there is no way to &#039;&#039;serve&#039;&#039; NFS from Windows Vista or Windows 7 with the possible exception of the haneWIN solution below, but it is unconfirmed if that works with Windows Vista/7.&lt;br /&gt;
:* [http://www.hanewin.net/nfs-e.htm haneWIN NFS Server for Windows] - a shareware program that costs 19EUR for non-commercial use.  Claims to work for &amp;quot;Windows 2000 and above.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== NFS sharing from OS X ==&lt;br /&gt;
{{see also|NFS Manager}}&lt;br /&gt;
NFS is built into Mac OS X (OS 10.5 and later), and thus no additional software is required to set up NFS shares on a Mac OS X device.&lt;br /&gt;
&lt;br /&gt;
;{{note|The following assumes some basic knowledge of the UNIX/BSD operating system interface and environment, and assumes you are familiar with using a Mac&#039;s Terminal command-line utility.  It also assumes you have a beginner&#039;s understanding of UNIX text editors such as [http://mintaka.sdsu.edu/reu/nano.html nano] or [http://www.eng.hawaii.edu/Tutor/vi.html vi].}}&lt;br /&gt;
&lt;br /&gt;
1. To allow regular (non-root) users to connect to your NFS shared folders, you&#039;ll need to edit the &amp;quot;/System/Library/LaunchDaemons/com.apple.nfsd.plist&amp;quot; file. Open it and add the option &amp;quot;-N&amp;quot; to the startup parameters as follows: &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;array&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;/sbin/nfsd&amp;lt;/string&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;string&amp;gt;-N&amp;lt;/string&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;/array&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t do this step, XBMC will only be able to access the Mac&#039;s shared NFS folders if XBMC is running as root (normally, XBMC does not run as root, so you will almost certainly want to do this first step and add the -N parameter).&lt;br /&gt;
&lt;br /&gt;
2. The NFS server and its shared folders are set up in a config file named &amp;quot;exports&amp;quot;, located in the /etc directory. Technically speaking, with NFS you &amp;quot;export a path&amp;quot; rather than &amp;quot;share a folder&amp;quot; (which is why the file is named &amp;quot;exports&amp;quot;), but we&#039;ll use the latter phrasing for simplicity&#039;s sake.&lt;br /&gt;
&lt;br /&gt;
The /etc/exports file may not yet exist; if not, you&#039;ll need to create it. The file is edited either manually (in Terminal, using a UNIX text editor such as &#039;&#039;&#039;nano&#039;&#039;&#039; or &#039;&#039;&#039;vi&#039;&#039;&#039;) or via a GUI utility, the most well-known of which is [http://www.bresink.com/osx/NFSManager.html NFS Manager]. The following guide assumes you are using Terminal (if using NFS Manager, consult that software&#039;s documentation for help).&lt;br /&gt;
&lt;br /&gt;
To view the current contents of /etc/exports, if any, execute the following command in a Terminal window:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;cat /etc/exports&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any folders to be shared via NFS should be listed on separate lines, along with any configuration parameters governing connections to those folders.  The lines should follow this general format:&lt;br /&gt;
  &lt;br /&gt;
  /path/to/folder_name_to_share [-parameter1 -parameter2 ...] &amp;lt;IP address restriction (optional)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Examples&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this sample /etc/exports file, we&#039;ve set up four folders to be shared via NFS, using various parameters and options.  The folders are all contained in a folder called &amp;quot;nfs_shares&amp;quot;, and are named to indicate some things about how we&#039;ve set them up; obviously, on your system, the folder names would be things like &amp;quot;video&amp;quot;, &amp;quot;music&amp;quot;, and so on.&lt;br /&gt;
&lt;br /&gt;
  /nfs_shares/allread                -ro -mapall=nobody -alldirs&lt;br /&gt;
  /nfs_shares/allwrite               -mapall=nobody -alldirs -network 192.168.1.0 -mask 255.255.255.0&lt;br /&gt;
  /nfs_shares/writeAs501             -mapall=501 -alldirs 192.168.1.5&lt;br /&gt;
  /nfs_shares/xbmcuser&lt;br /&gt;
&lt;br /&gt;
Let&#039;s look at what each of these shared folder configurations means.&lt;br /&gt;
&lt;br /&gt;
* The folder &amp;quot;&#039;&#039;&#039;/nfs_shares/allread&#039;&#039;&#039;&amp;quot; can be accessed from all computers (because no IP address is given), is read-only (&amp;quot;&#039;&#039;&#039;-ro&#039;&#039;&#039;&amp;quot;), and all incoming connections are assigned the same permissions as the UNIX user &amp;quot;nobody&amp;quot;, who has anonymous access (&amp;quot;&#039;&#039;&#039;-mapall=nobody&#039;&#039;&#039;&amp;quot;).  This last parameter ensures that anyone can access the folder, but they will not have any rights on your NFS server other than those belonging to the &amp;quot;nobody&amp;quot; user.  Also, the &amp;quot;&#039;&#039;&#039;-alldirs&#039;&#039;&#039;&amp;quot; parameter is used to indicate that incoming connections can mount either the /allread folder OR any subfolder underneath /allread.&lt;br /&gt;
&lt;br /&gt;
* The folder &amp;quot;&#039;&#039;&#039;/nfs_shares/allwrite&#039;&#039;&#039;&amp;quot; can be accessed from all computers on the subnet 192.168.1.0/255.255.255.0, has read and write permissions (we&#039;ve omitted &amp;quot;&#039;&#039;&#039;-ro&#039;&#039;&#039;&amp;quot;), and again access rights for user &amp;quot;nobody&amp;quot; are assigned (&amp;quot;&#039;&#039;&#039;-mapall=nobody&#039;&#039;&#039;&amp;quot;).  The &amp;quot;&#039;&#039;&#039;-alldirs&#039;&#039;&#039;&amp;quot; parameter is once again used to allow subfolders to be mounted directly.&lt;br /&gt;
&lt;br /&gt;
* The folder &amp;quot;&#039;&#039;&#039;/nfs_shares/writeAs501&#039;&#039;&#039;&amp;quot; can be accessed from the computer with an IP of 192.168.1.5, has read and write permissions (again we&#039;ve omitted &amp;quot;&#039;&#039;&#039;-ro&#039;&#039;&#039;&amp;quot;), and access rights belonging to users on your system with a UID of 501 (see note below) will be inherited by all incoming connections (&#039;&#039;&#039;-mapall=501&#039;&#039;&#039;).  The &amp;quot;&#039;&#039;&#039;-alldirs&#039;&#039;&#039;&amp;quot; parameter is once again used to allow subfolders to be mounted directly.&lt;br /&gt;
&lt;br /&gt;
:;{{note|As already mentioned, authentication to the NFS server is done by checking UIDs. For XBMC, this means that the UID which the XBMC process is running under is given to the NFS server to be authenticated. To find out your current UID, just type &amp;quot;id&amp;quot; into a console:}}&lt;br /&gt;
&lt;br /&gt;
         Mac:~ [&#039;&#039;your_user_name&#039;&#039;]$ &#039;&#039;&#039;id&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::You should see something that begins like this:&lt;br /&gt;
&lt;br /&gt;
         uid=501(&#039;&#039;your_user_name&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
:In this example, my UID is 501. If you are going to be connecting to your NFS shared folder from XBMC on iOS, keep in mind that on iOS XBMC runs as the user &amp;quot;mobile&amp;quot;, which should have UID 501 also.  &lt;br /&gt;
&lt;br /&gt;
* The folder &amp;quot;&#039;&#039;&#039;/nfs_shares/xbmcuser&#039;&#039;&#039;&amp;quot; can be accessed from all computers (&#039;&#039;&#039;no ip given&#039;&#039;&#039;), readwrite (no &amp;quot;&#039;&#039;&#039;-ro&#039;&#039;&#039;&amp;quot;) and the access rights belonging to the UID which is connecting to the NFS server are used (&amp;quot;&#039;&#039;&#039;-mapall&#039;&#039;&#039;&amp;quot; removed).  &lt;br /&gt;
;{{note|The important effect of the absence of the -mapall parameter in this case: if someone connects to your NFS server as root, they will be running on your system as root!  Also note that because &amp;quot;-alldirs&amp;quot; is not specified, incoming connections will only be able to connect to the /xbmcuser folder, NOT any folders underneath it.}}&lt;br /&gt;
&lt;br /&gt;
Bear in mind that any UID&#039;s that are used to connect to the NFS server, or that are specified with &amp;quot;-mapall&amp;quot;, have to exist on your NFS server (i.e. on your Mac).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Each change on the exports config file needs a restart of the nfs server! Just issue &amp;quot;sudo nfsd restart&amp;quot; for this.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3.  Once you&#039;ve configured and saved your /etc/exports file, the NFS server can be started either by rebooting or by executing the following command:&lt;br /&gt;
&lt;br /&gt;
  $ sudo nfsd start&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting NFS on OS X ===&lt;br /&gt;
&lt;br /&gt;
==== -N flag is set, but shares still won’t work ====&lt;br /&gt;
&lt;br /&gt;
Sometimes there are issues with NFS shares on OS X. Most of them result in the &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; flag not being set, but they result in different error messages or issues. One of the root issues is the flag being set in the Property List file, but not read by launchd which controls the process. The following observations are pretty common in this case and if you see one of these points, it won’t hurt to either inspect the nfsd process on your Mac or restart the whole computer.&lt;br /&gt;
&lt;br /&gt;
* You have successfully shared the volume and you can mount it from other Macs in your network (via ⌘K in the Finder), but not from XBMC.&lt;br /&gt;
* You can add the computer share (e.g. &amp;lt;code&amp;gt;nfs://192.168.1.5/&amp;lt;/code&amp;gt;), but not the share that contains a path (e.g. &amp;lt;code&amp;gt;nfs://192.168.1.5/nfs_shares/allread&amp;lt;/code&amp;gt;).&lt;br /&gt;
* When you add the computer share, you can enter it in XBMC’s browser, but then clicking on one of the mount points does nothing.&lt;br /&gt;
* You see either &#039;&#039;&#039;&amp;quot;Server responded: Procedure not available&amp;quot;&#039;&#039;&#039; or &#039;&#039;&#039;&amp;quot;RPC Packet not accepted by the server&amp;quot;&#039;&#039;&#039; in the error logs.&lt;br /&gt;
&lt;br /&gt;
In most cases it’s sufficient to restart nfsd via launchd, just killing the process with &amp;lt;code&amp;gt;kill -9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;killall nfsd&amp;lt;/code&amp;gt; after applying changes to the Property List file has no effects. To restart nfsd via launchd you have to type the following command in the Terminal:&lt;br /&gt;
&lt;br /&gt;
    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.nfsd.plist &amp;amp;&amp;amp; \&lt;br /&gt;
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.nfsd.plist&lt;br /&gt;
&lt;br /&gt;
When you use &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt; to inspect the process, &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; should be visible at the end of the line. If it’s not, then launchd didn’t apply the changes and just (re-)started nfsd with the old configuration. A proper output looks like this:&lt;br /&gt;
&lt;br /&gt;
    ~  &#039;&#039;&#039;ps aux | grep nfsd&#039;&#039;&#039;&lt;br /&gt;
    root        55828   0,0  0,0  2500812   2332   ??  Ss    3:54pm   0:08.96 /sbin/nfsd &#039;&#039;&#039;-N&#039;&#039;&#039;&lt;br /&gt;
    chiefsucker 58788   0,0  0,0  2435268    496 s000  U+    7:22pm   0:00.00 grep nfsd&lt;br /&gt;
&lt;br /&gt;
Pay attention to the &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; flag being visible in the ps output. If the &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; flag is visible, but your shares don’t work, then it’s probably another issue.&lt;br /&gt;
&lt;br /&gt;
==== NFS shares stopped working after OS X upgrade ====&lt;br /&gt;
&lt;br /&gt;
If your share stopped working after you upgraded your OS (e.g. from Lion to Mountain Lion) then it usually means that the installer did overwrite the Property List file and you have to add &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; again.&lt;br /&gt;
&lt;br /&gt;
==== My Mac goes to sleep while playing a movie from a NFS share ====&lt;br /&gt;
&lt;br /&gt;
OS X 10.8 Mountain Lion introduced some changes that result in very aggressive sleep behaviour. Because NFS shares aren’t handled and treated like shares set from within the Sharing panel in System Preferences, OS X will ignore clients that access your NFS shares and just put it to sleep. Fortunately there are some workarounds:&lt;br /&gt;
&lt;br /&gt;
# Set &#039;&#039;&#039;Computer sleep&#039;&#039;&#039; in the Energy Saver pane of System Preferences to &#039;&#039;&#039;Never&#039;&#039;&#039;. Unfortunately this will affect the whole machine and you’ll have to put your Mac manually to sleep from now on.&lt;br /&gt;
# Get the [http://itunes.apple.com/app/caffeine/id411246225?mt=12 free Caffeine app from the Mac App Store]. The app will reside in your menu bar and you can prevent your Mac from sleeping with just one mouse-click. If you disable Caffeine (again with one click), your Mac will go to sleep as set in the System Preferences. This has the benefit of adjustable sleep behavior, i.e. you turn Caffeine on when you watch movies and you turn it off otherwise to preserve energy and save the planet.&lt;br /&gt;
# You can reach the same goal with the Terminal app &amp;lt;code&amp;gt;caffeinate&amp;lt;/code&amp;gt; that gets shipped with the OS since OS X 10.8 Mountain Lion.&lt;br /&gt;
&lt;br /&gt;
== NFS sharing from Linux ==&lt;br /&gt;
&lt;br /&gt;
NFS sharing has been built into linux kernel for a long time.&lt;br /&gt;
&lt;br /&gt;
;{{note|This article assumes some basic knowledge of the Linux/UNIX/BSD operating-system interface and environment.}}&lt;br /&gt;
&lt;br /&gt;
The configuration of the NFS server takes place in the config file &amp;quot;/etc/exports&amp;quot;. As already mentioned, the authentication to the NFS server is done through UIDs. For XBMC, this means the UID that the XBMC process is running under is used to authenticate on the NFS server. To find out what UID XBMC is using, just type &amp;quot;id&amp;quot; into a console:&lt;br /&gt;
&lt;br /&gt;
  penix:~ [your_user_name]$ id&lt;br /&gt;
  uid=501(your_user_name)&lt;br /&gt;
&lt;br /&gt;
In this example, my UID is 501. For iOS devices, keep in mind that XBMC is running as the user &amp;quot;mobile&amp;quot;, whose UID should also be 501.&lt;br /&gt;
&lt;br /&gt;
A basic configuration for exporting a path with NFS looks like this:&lt;br /&gt;
&lt;br /&gt;
  /nfs/export &amp;lt;ip or iprange which is allowed to connect&amp;gt;(rw,all_squash,insecure)&lt;br /&gt;
&lt;br /&gt;
The important options here for use with XBMC are the &amp;quot;ip or iprange&amp;quot; and the &amp;quot;insecure&amp;quot; options. The &amp;quot;insecure&amp;quot; option is needed because we want to be able to run XBMC without root privileges. If the insecure option is not enabled, only the root user (uid 0) will have access to the nfs share. The &amp;quot;ip or iprange&amp;quot; specifies which hosts on the network will be allowed to access the exported NFS share. &lt;br /&gt;
&lt;br /&gt;
By changing some of the options of that line, we can use any of three different approaches for getting the access rights configured as we want:&lt;br /&gt;
&lt;br /&gt;
1. The option all_squash (most insecure) - all UIDs connected to the NFS server are mapped to UID 65534 (user nobody)&lt;br /&gt;
::* In this case all files which shall be accessed on the NFS exported path should have the correct rights for the user &amp;quot;nobody&amp;quot;.&lt;br /&gt;
2. Using the option &amp;quot;all_squash&amp;quot; in conjunction with the option &amp;quot;anonuid&amp;quot; and &amp;quot;anongid&amp;quot;&lt;br /&gt;
::* By adding the options &amp;quot;anonuid=501&amp;quot; and &amp;quot;anongid=501&amp;quot; all accesses would be mapped to the user with UID 501 (user &amp;quot;mobile&amp;quot; on iOS or user &amp;quot;memphis&amp;quot; in my example above)&lt;br /&gt;
3. Removing the &amp;quot;all_squash&amp;quot; option the accesses will be done with the UID given from the user which is running XBMC&lt;br /&gt;
::* So if XBMC is started with username foobar (which has UID 1000) all accesses to the NFS export path will be made with UID 1000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Examples for exported paths:&amp;lt;/big&amp;gt;&lt;br /&gt;
  ### access from &#039;&#039;all computers&#039;&#039; (&amp;quot;&#039;&#039;&#039;*&#039;&#039;&#039;&amp;quot;), &#039;&#039;readonly&#039;&#039; (&amp;quot;&#039;&#039;&#039;ro&#039;&#039;&#039;&amp;quot;), access for user &#039;&#039;nobody&#039;&#039; (&amp;quot;&#039;&#039;&#039;all_squash&#039;&#039;&#039;&amp;quot;)&lt;br /&gt;
  /nfs/allread   *(ro,all_squash,insecure)&lt;br /&gt;
  &lt;br /&gt;
  ### access from the subnet 192.168.1.0/255.255.255.0, &#039;&#039;read/write&#039;&#039; (&amp;quot;&#039;&#039;&#039;rw&#039;&#039;&#039;&amp;quot;), access for user &#039;&#039;nobody&#039;&#039;&lt;br /&gt;
  ### (&amp;quot;&#039;&#039;&#039;all_squash&#039;&#039;&#039;&amp;quot;).  Remember that &amp;quot;&#039;&#039;&#039;rw&#039;&#039;&#039;&amp;quot; doesn&#039;t automatically allow writes; the user &amp;quot;nobody&amp;quot; must&lt;br /&gt;
  ### have write access to the path on the filesystem.&lt;br /&gt;
  /nfs/allwrite   192.168.1.0/24(rw,all_squash,insecure)&lt;br /&gt;
  &lt;br /&gt;
  ### access from 192.168.1.5, &#039;&#039;read/write&#039;&#039; (&amp;quot;&#039;&#039;&#039;rw&#039;&#039;&#039;&amp;quot;), access for user with UID 501 (i.e. memphis, for me)&lt;br /&gt;
  ### (&amp;quot;&#039;&#039;&#039;all_squash,anonuid=501,anongid=501&#039;&#039;&#039;&amp;quot;)&lt;br /&gt;
  /nfs/writeAsMemphis   192.168.1.5(rw,all_squash,insecure,anonuid=501,anongid=501)&lt;br /&gt;
  &lt;br /&gt;
  ### access from &#039;&#039;all computers&#039;&#039; (&amp;quot;&#039;&#039;&#039;*&#039;&#039;&#039;&amp;quot;), &#039;&#039;read/write&#039;&#039; (&amp;quot;&#039;&#039;&#039;rw&#039;&#039;&#039;&amp;quot;), access for the UID connecting to the&lt;br /&gt;
  ### NFS server (&amp;quot;&#039;&#039;&#039;all_squash&#039;&#039;&#039;&amp;quot; removed)&lt;br /&gt;
  /nfs/xbmcuser   *(rw,insecure)&lt;br /&gt;
  &lt;br /&gt;
  ### NTFS export  *SECURITY Warning: this gives the user ROOT access*&lt;br /&gt;
  ### access from the subnet 192.168.1.0/255.255.255.0, &#039;&#039;read/write&#039;&#039; (&amp;quot;&#039;&#039;&#039;rw&#039;&#039;&#039;&amp;quot;),  nfs client connects&lt;br /&gt;
  ### as root (&amp;quot;&#039;&#039;&#039;no_root_squash&#039;&#039;&#039;&amp;quot;). Otherwise, permission is for &#039;&#039;nfsnobody&#039;&#039;, (uid 65534).&lt;br /&gt;
  ### NTFS is non-POSIX permissions compliant, so you must access the share as &#039;&#039;root&#039;&#039;&lt;br /&gt;
  /nfs/NTFS_share   192.168.1.0/24(rw,&#039;&#039;&#039;no_root_squash&#039;&#039;&#039;,insecure)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The UIDs which are used to connect to the NFS server or which are specified with &amp;quot;anonuid&amp;quot; and &amp;quot;anongid&amp;quot; have to exist on the NFS server. Otherwise the filesystem permission can&#039;t be set.&lt;br /&gt;
 &lt;br /&gt;
Remember - access rights are these you give in the filesystem. &#039;&#039;&#039;After each change to the exports config file issue &amp;quot;sudo exportfs -ra&amp;quot;!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== NFS sharing from NAS4Free 9.x (successor to legacy FreeNAS 7.x) ==&lt;br /&gt;
The information in the Linux section above also applies for *BSD based systems (such as FreeBSD). This section addresses some specific issues to bear in mind if you are using NAS4Free 9.x or FreeNAS 7.x (aka. legacy) installations.&lt;br /&gt;
&lt;br /&gt;
;{{note|FREENAS 8.3.0-RELEASE or later does not require modifying the rc.conf file for XBMC to access NFS shares. You must however enable &amp;quot;allow non-root mount&amp;quot; which can be found under the SERVICES - NFS section in the Freenas 8.3.0 web GUI.}}&lt;br /&gt;
&lt;br /&gt;
Setup your NFS shares as normal. Remember: don&#039;t create shares inside other shares. The following would be illegal...&lt;br /&gt;
  /mnt/disk                   -alldirs,quiet -mapall=root -network 192.168.1.0 -mask 255.255.255.0&lt;br /&gt;
  /mnt/disk/folder            -alldirs,quiet -mapall=root -network 192.168.1.0 -mask 255.255.255.0&lt;br /&gt;
...because the &amp;quot;/mnt/disk/folder&amp;quot; directory is already shared by &amp;quot;/mnt/disk&amp;quot;. If you remember to set the setting &amp;quot;All dirs&amp;quot; when creating your NFS shares, the flag &amp;quot;-alldirs&amp;quot; will be set. This flag allows you to mount any subdirectory of your share just as if it was a share itself. Said another way: It&#039;s not necessary to share &amp;quot;/mnt/disk/folder&amp;quot; because you can mount it through the &amp;quot;/mnt/disk&amp;quot; share.&lt;br /&gt;
&lt;br /&gt;
After having set up a standard NFS share on your NAS4Free box, you need to add a few variables to rc.conf on NAS4Free. This is done by going into System &amp;gt; Advanced &amp;gt; rc.conf .&lt;br /&gt;
Here you need to add the following:&lt;br /&gt;
  Variable                     Value              Comment&lt;br /&gt;
  mountd_flags                 -n                 Allow non-root mount requests to be served. 	  &lt;br /&gt;
  nfs_reserved_port_only       NO                 Allow for insecure ports to be used by NFS.	  &lt;br /&gt;
  nfs_server_flags             -u -t -n 4         Serve UDP and TCP with 4 servers.  &lt;br /&gt;
&lt;br /&gt;
After this, apply your changes and reboot NAS4Free. You should now be able to mount your NFS shares, as well as any subdirectory of those shares.&lt;br /&gt;
&lt;br /&gt;
== NFS sharing from ZFSGuru ==&lt;br /&gt;
Very similar to FreeNAS solution.&lt;br /&gt;
mountd needs the -n flag.&lt;br /&gt;
In ZFSGuru you can achieve this by adding&lt;br /&gt;
  weak_mountd_authentication=&amp;quot;YES&amp;quot;&lt;br /&gt;
to /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
== NFS sharing from commercial NAS systems such as Synology or QNAP ==&lt;br /&gt;
Each NAS manufacturer, if it allows you to share folders via NFS on its NAS systems, does so in its own way.  Often this will involve setup via the NAS&#039;s control panel or administrator interface.  You can also connect to many NAS systems via ssh and manually edit files in order to set up and configure NFS (consult your NAS manual to see if this is possible/desirable/necessary).  Since most NAS systems are based on Linux/UNIX, if you need to manually edit files, you should be able to make use of the [[#NFS sharing from Linux|Linux instructions above]] to create/edit your NFS shares.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting NFS on a commercial NAS with XBMC ===&lt;br /&gt;
Your NFS server on your NAS needs to be able to allow connections on so-called &#039;&#039;&#039;unprivileged ports&#039;&#039;&#039;, which are port numbers higher than 1023.  However, most NAS&#039;s are set up by default to deny incoming NFS connections on these unprivileged ports.  This is one of the most common reasons why XBMC users experience problems when trying to connect to an NFS shared folder on a NAS.&lt;br /&gt;
&lt;br /&gt;
If you are having trouble connecting to your NFS shares on your NAS from XBMC, make sure your NFS shares have the &amp;quot;insecure&amp;quot; option enabled, which will allow connections on unprivileged ports.  To check, connect to your NAS via ssh and issue the &#039;&#039;&#039;cat /etc/exports&#039;&#039;&#039; command.  Your shared folders will each have several parameters listed separated by commas.  If the &amp;quot;insecure&amp;quot; parameter is not listed, you will need to add that parameter to the list.  This will usually involve directly editing the /etc/exports file with a UNIX text editor and adding the &amp;quot;insecure&amp;quot; option manually, although some NAS&#039;s may offer the ability to add the option via an admin interface.  Check your NAS manual for details, or explore the section below if your brand of NAS is listed.&lt;br /&gt;
&lt;br /&gt;
=== Commercial NAS NFS setup instructions ===&lt;br /&gt;
XBMC users have contributed the following NFS setup instructions for various brands of NAS devices.  If your NAS is listed below, feel free to follow the accompanying instructions to set up NFS on your system.&lt;br /&gt;
&lt;br /&gt;
==== Synology ====&lt;br /&gt;
[[File:Synology.png|link=]]&amp;lt;br /&amp;gt;&lt;br /&gt;
;{{note|You do not need to create a special user account on your Synology NAS in order to make use of NFS for XBMC.  The following guide assumes you are comfortable with using the simplest (least secure) internal setup on your NAS, which will normally be the case for the vast majority of XBMC users.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=600px heights=340px&amp;gt;&lt;br /&gt;
File:Step1.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 1:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Log in to your Synology admin control panel.&lt;br /&gt;
File:Step2.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 2:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Enable SSH (if not enabled already): Control Panel --&amp;gt; Terminal --&amp;gt; Enable SSH service --&amp;gt; {{button|OK}}&lt;br /&gt;
&lt;br /&gt;
File:Step3.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 3:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Enable NFS under Control Panel --&amp;gt; Win/MAC/NFS&lt;br /&gt;
File:Step4.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 4:&amp;lt;/big&amp;gt;&#039;&#039;&#039; NFS Services --&amp;gt; Enable NFS --&amp;gt; {{button|OK}}&lt;br /&gt;
&lt;br /&gt;
File:Step5.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 4:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Under Control Panel --&amp;gt; Shared Folder&lt;br /&gt;
File:Step6.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 6:&amp;lt;/big&amp;gt;&#039;&#039;&#039; On NFS Privileges tab select entry for the folders you want to share e.g. &#039;&#039;&#039;Movies&#039;&#039;&#039;&lt;br /&gt;
File:Step7.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 7:&amp;lt;/big&amp;gt;&#039;&#039;&#039; {{button|Create}} privileges for the selected share&lt;br /&gt;
File:Step8.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 8:&amp;lt;/big&amp;gt;&#039;&#039;&#039; As per example allow all IPs (or the desired IP for your HTPC) with &#039;&#039;&#039;read/write&#039;&#039;&#039; permissions with no mapping and enable &#039;&#039;&#039;asynchronous&#039;&#039;&#039;. The option to &#039;&#039;&#039;allow connections from non-priviledged hosts&#039;&#039;&#039; is new in DSM version 4.3-3776. With this option the following steps 10 to 14 are no longer needed. --&amp;gt; {{button|OK}}&lt;br /&gt;
File:Step9.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 9:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Press {{button|OK}}&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10. On your computer, in a command line window (Terminal on a Mac, CMD on a Windows PC, etc), ssh into your Synology:&lt;br /&gt;
  &#039;&#039;&#039;ssh root@&amp;lt;&amp;lt;YOUR.SYNOLOGY.IP.ADDRESS&amp;gt;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
11. Type in &#039;&#039;&#039;cat /etc/exports&#039;&#039;&#039; to make sure your previous steps have created exported NFS directories.  If no entries are found, go back to the previous steps and make sure you&#039;ve followed them correctly.  You should be seeing something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Step11.png|600px]]&lt;br /&gt;
&lt;br /&gt;
12. Type &#039;&#039;&#039;vi /etc/exports&#039;&#039;&#039; to edit the /etc/exports file, and change all the &amp;quot;insecure_locks&amp;quot; entries to simply read &amp;quot;insecure&amp;quot;. If you don&#039;t know vi: press the INS[SERT] key, use arrows to go to the line to edit, and delete/edit the line. Then press the ESC key, and type &#039;&#039;&#039;:x&#039;&#039;&#039; to &#039;Save &amp;amp; Exit&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
13. Type &#039;&#039;&#039;cat /etc/exports&#039;&#039;&#039; again, and you should now see something like this (make sure it says &amp;quot;insecure&amp;quot; rather than &amp;quot;insecure_locks&amp;quot;):&lt;br /&gt;
 &lt;br /&gt;
[[File:Step15.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Type &#039;&#039;&#039;exportfs -ra&#039;&#039;&#039; to initialize your newly exported directories, or reboot the NAS.&amp;lt;br /&amp;gt;&lt;br /&gt;
15. You should now be able to browse NFS and get to your exported Synology subfolders in XBMC.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== QNAP ====&lt;br /&gt;
[[File:QNAP.gif|link=]]&amp;lt;br /&amp;gt;&lt;br /&gt;
;{{note|You do not need to create a special user account on your QNAP NAS in order to make use of NFS for XBMC.  The following guide assumes you are comfortable with using the simplest (least secure) internal setup on your NAS, which will normally be the case for the vast majority of XBMC users.}}&lt;br /&gt;
&lt;br /&gt;
This guide requires you to [[SSH]] into your QNAP, and also to use the terminal editor [http://en.wikipedia.org/wiki/Vi Vi] to edit files.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a couple of guides if you wish to learn more, but feel free to google for further reading: &lt;br /&gt;
&lt;br /&gt;
[http://www.tuxfiles.org/linuxhelp/vimcheat.html Vi Cheat Sheet]&lt;br /&gt;
 &lt;br /&gt;
1. Log into your QNAP admin control panel. (Web browser = IP-ADDRESS:8080).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=700px heights=340px&amp;gt;&lt;br /&gt;
File:QNAP_SSH.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 2:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Enable SSH (if not already): Network Services -&amp;gt; Telnet / SSH -&amp;gt; &#039;tick&#039; Allow SSH connection, Press {{button|Apply}}&lt;br /&gt;
File:QNAP_NFS.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 3:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Enable NFS: Network Services -&amp;gt; NFS Service -&amp;gt; &#039;tick&#039; Enable NFS Service, Press {{button|Apply}}&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery widths=600px heights=350px&amp;gt;&lt;br /&gt;
File:QNAP_Shares.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 3:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Set NFS Access Rights: Under &amp;quot;Enable NFS Service&amp;quot; Click on &amp;quot;Click here to set the NFS access right of the network share&amp;quot;&lt;br /&gt;
File:QNAP_NFS_Access.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 4:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Click on the NFS icon next to Qmultimedia (or whatever the name of your media share on the QNAP) and set Access Right to No Limit and put in the IP Address of each individual device that requires NFS connection (ATV2, Desktop, Laptop, etc.), Press {{button|Apply}}&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. On your computer, in a command line window (Terminal on a Mac, CMD on a Windows PC, etc), ssh into your QNAP:&lt;br /&gt;
  &#039;&#039;&#039;ssh admin@&amp;lt;&amp;lt;YOUR QNAP IP ADDRESS&amp;gt;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
7. Type in &#039;&#039;&#039;cat /etc/exports&#039;&#039;&#039; to make sure your previous steps have created exported NFS directories. If no entries are found, go back to the previous steps and make sure you&#039;ve followed them correctly. You should be seeing something like this:&lt;br /&gt;
  &amp;quot;/share/MD0_DATA/Qmultimedia&amp;quot; 192.168.1.15(rw,async,no_root_squash) 192.168.1.20(rw,async,no_root_squash) &lt;br /&gt;
  &amp;quot;/share/NFS/Qmultimedia&amp;quot; 192.168.1.15(rw,nohide,async,no_root_squash) 192.168.1.20(rw,nohide,async,no_root_squash)&lt;br /&gt;
&lt;br /&gt;
8. Type &#039;&#039;&#039;vi /etc/exports&#039;&#039;&#039; to edit the /etc/exports file, and add &amp;quot;insecure&amp;quot; entries inside the brackets in front &amp;quot;rw&amp;quot;(separated with a comma &amp;quot;,&amp;quot;). If you don&#039;t know vi: press the &amp;quot;i&amp;quot; key, use arrows to go to the line to edit, and add the entries. Then press the ESC key, and type &#039;&#039;&#039;:wq&#039;&#039;&#039; to &#039;Save &amp;amp; Exit&#039;. Your exports file should now look something like this:&lt;br /&gt;
  &amp;quot;/share/MD0_DATA/Qmultimedia&amp;quot; 192.168.1.15(insecure,rw,async,no_root_squash) 192.168.1.20(insecure,rw,async,no_root_squash) &lt;br /&gt;
  &amp;quot;/share/NFS/Qmultimedia&amp;quot; 192.168.1.15(insecure,rw,nohide,async,no_root_squash) 192.168.1.20(insecure,rw,nohide,async,no_root_squash)&lt;br /&gt;
&lt;br /&gt;
9. Type &#039;&#039;&#039;exportfs -ra&#039;&#039;&#039; to initialize your newly exported directories, &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;DO NOT&#039;&#039;&#039; reboot the QNAP or restart NFS via the QNAP Admin page - If you do the QNAP will overwrite the changes you just made&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=415px heights=168px&amp;gt;&lt;br /&gt;
File:QNAP_nfssetting_before.png|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 10:&amp;lt;/big&amp;gt;&#039;&#039;&#039; Now type &#039;&#039;&#039;vi /etc/config/nfssetting&#039;&#039;&#039;. You&#039;ll see something like this:&lt;br /&gt;
File:QNAP_nfssetting_after.png‎|&#039;&#039;&#039;&amp;lt;big&amp;gt;Step 11:&amp;lt;/big&amp;gt;&#039;&#039;&#039;Move your cursor to after the &#039;&#039;&#039;rw&#039;&#039;&#039; in the line &#039;&#039;&#039;/share/*****/Qmultimedia = rw&#039;&#039;&#039; (***** interchangeable with whatever yours says). Press {{keypress|i}} and add &#039;&#039;&#039;insecure&#039;&#039;&#039; separated by a &#039;&#039;&#039;,&#039;&#039;&#039; (comma). When you&#039;re done editing press {{keypress|esc}} and then &#039;&#039;&#039;:wq&#039;&#039;&#039; to save the changes and close the file. It will look something like this when finished:&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;CAUTION: If you reboot your QNAP NAS at any time after completing the steps above, but before completing the steps below, the changes you&#039;ve made will be wiped out and you will need to redo the process.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
12. That should be it for getting it working.. You should now be able to browse NFS and get to your exported QNAP folders in XBMC. Now there&#039;s just a few more steps to ensure all your hard work survives a reboot/firmware upgrade.&lt;br /&gt;
&lt;br /&gt;
* We&#039;re going to edit/create an autorun script that overwrites two files from backups we&#039;re going to make.&lt;br /&gt;
&lt;br /&gt;
13. Okay, you need to make a folder to store the backup files. You need to use the absolute path in the Autorun script. Type &#039;&#039;&#039;mkdir /share/MD0_DATA/backups&#039;&#039;&#039; and press &#039;&#039;&#039;enter&#039;&#039;&#039;. (The MD0_DATA part could be different on your model, I&#039;m running a TS-509).&lt;br /&gt;
&lt;br /&gt;
14. Now type &#039;&#039;&#039;cp /etc/exports /share/MD0_DATA/backups/exports&#039;&#039;&#039; and press enter.&lt;br /&gt;
&lt;br /&gt;
15. Type &#039;&#039;&#039;cp /etc/config/nfssetting /share/MD0_DATA/backups/nfssetting&#039;&#039;&#039; and press enter.&lt;br /&gt;
&lt;br /&gt;
16. Now for the fun part. To mount the ramblock follow the procedure below. This is based on the guide here (Method 1): [http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup QNAP Autorun Wikiguide] &lt;br /&gt;
&lt;br /&gt;
17. Pick the method that is applicable to your QNAP model.&lt;br /&gt;
## Model TS-201: Mount the config ramblock /dev/mtdblock4: &amp;lt;pre&amp;gt;# mount -t ext2 /dev/mtdblock4 /tmp/config &amp;lt;/pre&amp;gt; &lt;br /&gt;
## Models TS-109, TS-109P, TS-110, TS-119, TS-209, TS-209P, TS-219, TS-409 (Marvell ARM), TS-419P: Mount the config ramblock /dev/mtdblock5: &amp;lt;pre&amp;gt;# mount -t ext2 /dev/mtdblock5 /tmp/config&amp;lt;/pre&amp;gt; &lt;br /&gt;
## Models TS-439, TS-509, TS-639, TS-809, TS-809U (x86): Mount the config ramblock /dev/sdx6: &amp;lt;pre&amp;gt;# mount -t ext2 /dev/sdx6 /tmp/config&amp;lt;/pre&amp;gt; &lt;br /&gt;
# Create/Edit /tmp/config/autorun.sh .&lt;br /&gt;
## either using vi: &amp;lt;pre&amp;gt;# vi /tmp/config/autorun.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
### Get vi editor into edit mode: &#039;&#039;&#039;press i&#039;&#039;&#039; &lt;br /&gt;
### Add these lines to the autorun.sh script:&lt;br /&gt;
### &#039;&#039;&#039;cp /share/MD0_DATA/backups/exports /etc/exports&#039;&#039;&#039;&lt;br /&gt;
### &#039;&#039;&#039;cp /share/MD0_DATA/backups/nfssetting /etc/config/nfssetting&#039;&#039;&#039;&lt;br /&gt;
### Exit edit mode: &#039;&#039;&#039;press ESC&#039;&#039;&#039; &lt;br /&gt;
### Save and exit: &#039;&#039;&#039;:wq&#039;&#039;&#039; &lt;br /&gt;
## or editing it using a desktop PC and e.g. SFTP &lt;br /&gt;
# Ensure that /tmp/config/autorun.sh is executable: &amp;lt;pre&amp;gt;# chmod +x /tmp/config/autorun.sh&amp;lt;/pre&amp;gt; &lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; Unmount the mounted flash partition: &amp;lt;pre&amp;gt;# cd /&amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt;# umount /tmp/config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
18. Finish the linked guide, making sure to unmount the ramblock. (You will need to cd away from the /tmp/config directory to umount it.&lt;br /&gt;
&lt;br /&gt;
19. Should be done!&lt;br /&gt;
&lt;br /&gt;
[[Category:File Sharing]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Mac OS X]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Bakslash</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Debug_Python_Scripts_with_Eclipse&amp;diff=66386</id>
		<title>Archive:Debug Python Scripts with Eclipse</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Debug_Python_Scripts_with_Eclipse&amp;diff=66386"/>
		<updated>2013-12-06T22:38:01Z</updated>

		<summary type="html">&lt;p&gt;Bakslash: /* Copy pysrc in XBMC Python install */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Python development]]}}&lt;br /&gt;
&lt;br /&gt;
Here is a method you can adopt in order to use the Eclipse (multi-platforms) remote debugger with your Python scripts/plugin.&lt;br /&gt;
&lt;br /&gt;
Note: Follow this link [[HOW-TO debug Python Scripts|Debugging Python Scripts on Linux with WinPDB]] for more information if you prefer to use WinPDB instead.&lt;br /&gt;
&lt;br /&gt;
Note: The information provided herein is also applicable to user with [http://www.aptana.com/ Aptana Studio 3] installation which come pre-installed with pydev. For this case, you can skip to [[#Configure Pydev and Eclipse|Configure Pydev and Eclipse]] after the Aptana Studio 3 installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
* Any platform able to run [http://www.eclipse.org/downloads/ Eclipse IDE] (Windows 32bit-64bit, Mac Carbon 32bit-64bit, Mac Cocoa 32bit-64bit, Linux 32bit-64bit): it is the platform from where you will run the debugger IDE&lt;br /&gt;
* Pyhton interpreter 2.4 (use the same version as XBMC or version &amp;lt;= 2.7 ) install on the machine running Eclipse&lt;br /&gt;
* Any platform running XBMC (Xbox, Linux, MACOSX, Windows): it is the platform running Python scripts/plugin connecting with the remote debugger.&lt;br /&gt;
:XBMC installed on Ubuntu (should work just fine on Windows and Mac too)&lt;br /&gt;
* [http://pydev.org/ Pydev] plugin for Eclipse IDE: Pydev is a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prepare and Setup Eclipse ==&lt;br /&gt;
&lt;br /&gt;
=== Install Eclipse ===&lt;br /&gt;
* Download [http://www.eclipse.org/downloads/ Eclipse IDE] and install it&lt;br /&gt;
Note: in our example Eclipse Galileo (3.5.1) is used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install Pydev in Eclipse ===&lt;br /&gt;
* In Eclipse go in: &#039;&#039;Help&#039;&#039; -&amp;gt; &#039;&#039;Install New Software...&#039;&#039;&lt;br /&gt;
* Click on the &#039;&#039;Add&#039;&#039; button and add Pydev website as a source: http://pydev.org/updates&lt;br /&gt;
* You will see the window below:&lt;br /&gt;
[[File:EclipsePydevUpdate.png]]&lt;br /&gt;
* Check &#039;&#039;PyDev&#039;&#039; box and follow the steps in order to install PyDev&lt;br /&gt;
Note: in our example PyDev 1.5.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure Pydev and Eclipse ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add Pyhton Interpreter Path ====&lt;br /&gt;
* Go in &#039;&#039;Window&#039;&#039; -&amp;gt; &#039;&#039;Preferences&#039;&#039;&lt;br /&gt;
* &#039;&#039;Pydev&#039;&#039; then &#039;&#039;Interpreter - Python&#039;&#039;&lt;br /&gt;
* Click on button &#039;&#039;New...&#039;&#039;&lt;br /&gt;
* In the new prompt, enter the &#039;&#039;Interpreter Name: Python&#039;&#039;, and Browse for your Python Interpreter 2.4 &#039;&#039;python.exe&#039;&#039; file and select it. After that you should see something like this:&lt;br /&gt;
[[File:EclipsePydevPref.png|none]]&lt;br /&gt;
This will help in order to have Python code completion (except for XBMC modules)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add Pydev view to Eclipse ====&lt;br /&gt;
* On the top right corner click on the View button on select &#039;&#039;Others&#039;&#039;&lt;br /&gt;
[[File:EclipsePydevViewMenu.png]]&lt;br /&gt;
* Select Pydev then OK, a PyDev View Button should be now available on the top right corner&lt;br /&gt;
[[File:EclipsePydevViewMenu2.png]]&lt;br /&gt;
Use this view for your developments in Python for XBMC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add Pydev Start/Stop debug server buttons ====&lt;br /&gt;
* In the menu bar select &#039;&#039;Window&#039;&#039; -&amp;gt; &#039;&#039;Customize perspective...&#039;&#039;, a window &#039;&#039;Customize Perspective - PyDev&#039;&#039; will open&lt;br /&gt;
* Select &#039;&#039;Command Groups Availability&#039;&#039; Tab&lt;br /&gt;
* Check &#039;&#039;Pydev Debug&#039;&#039; box and OK&lt;br /&gt;
* You should see 2 new buttons in your toolbar:&lt;br /&gt;
[[File:EclipsePydevDebugSrvButtons.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Setting the remote debugger port (optional) ====&lt;br /&gt;
If you do not want to use the default port (usually 5678) you can set it up:&lt;br /&gt;
* Go to &#039;&#039;Window&#039;&#039; -&amp;gt; &#039;&#039;Preferences&#039;&#039;&lt;br /&gt;
* &#039;&#039;Pydev&#039;&#039; then &#039;&#039;Debug&#039;&#039; you can define here the port and the timeout you want&lt;br /&gt;
&lt;br /&gt;
==== Setting up Predefined Completions (optional) ====&lt;br /&gt;
Many developers are accustom to using predefined completions when writing their code (eg. type-ahead). The standard Python completions are enabled by default when using these instructions, but the standard XBMC components will not be recognized appropriately (xbmc, xbmcgui, xbmcplugin, etc). &lt;br /&gt;
&lt;br /&gt;
In order to overcome this, you can run the [http://forum.xbmc.org/showthread.php?t=79070 PyDev Predefined Completions Creator addon] and [http://pydev.org/manual_101_interpreter.html#PyDevInterpreterConfiguration-PredefinedCompletions setup Eclipse] to reference this file:&lt;br /&gt;
# Download the &#039;PyDev Predefined Completions Creator&#039; Addon (eg. System &amp;gt; Settings &amp;gt; Addons &amp;gt; XBMC.org &amp;gt; Program Add-Ons)&lt;br /&gt;
# Navigate to the newly installed Addon (eg. Programs from the home screen)&lt;br /&gt;
# Open the context menu for newly installed addon and select &#039;Add-on Settings&#039;&lt;br /&gt;
# Set the location to save the help docs to and save the new settings (This can be anywhere on your system - we&#039;ll configure it in Eclipse later)&lt;br /&gt;
# Select the add-on to run it (the addon should run and close quickly)&lt;br /&gt;
# Open Eclipse and select Window &amp;gt; Preferences &amp;gt; PyDev &amp;gt; Interpreter - Python&lt;br /&gt;
# From the &#039;Predefined&#039; tab, click the new button and select the folder you created in the step above&lt;br /&gt;
# Press Apply / OK to ensure the changes are saved&lt;br /&gt;
&lt;br /&gt;
== Create a Python script/plugin for XBMC in Eclipse ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create a new PyDev Project ===&lt;br /&gt;
Most of the time when you are doing development, likely that you are running XBMC and Eclipse on the same platform; (The installed debugger described in this article actually can also work with a remote XBMC).&amp;lt;br\&amp;gt;&lt;br /&gt;
Let&#039;s say you already have scripts installed in XBMC script folder that you want to create a new PyDev project e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\XBMC\addons\myscript1&lt;br /&gt;
C:\XBMC\addons\myscript2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With myscript1 &amp;amp; myscript2 being sub-directories of &#039;&#039;C:\XBMC\addons&#039;&#039; each containing the Default.py scripts.&amp;lt;br\&amp;gt;&lt;br /&gt;
First you need to define the Python project workspace:&lt;br /&gt;
* &#039;&#039;File&#039;&#039; -&amp;gt; &#039;&#039;Switch Workspace&#039;&#039; -&amp;gt; &#039;&#039;Other...&#039;&#039;&lt;br /&gt;
* &#039;&#039;Browse&#039;&#039; to the parent directory of your script module i.e. &#039;&#039;C:\XBMC\addons&#039;&#039; in this example, select and OK&lt;br /&gt;
Then proceed to create the Python project:&lt;br /&gt;
* &#039;&#039;File&#039;&#039; -&amp;gt; &#039;&#039;New&#039;&#039; -&amp;gt; &#039;&#039;PyDev Project&#039;&#039;&lt;br /&gt;
: OR select below in case &#039;&#039;PyDev Project&#039;&#039; is not displayed&lt;br /&gt;
* &#039;&#039;File&#039;&#039; -&amp;gt; &#039;&#039;New&#039;&#039; -&amp;gt; &#039;&#039;Others&#039;&#039;; and Select &#039;&#039;Pydev&#039;&#039; then &#039;&#039;PyDev Project&#039;&#039;; Click &#039;&#039;Next&#039;&#039;&lt;br /&gt;
* Enter the name of your project e.g. xbmc_addons&lt;br /&gt;
* Uncheck option &#039;&#039;Use Default&#039;&#039;&lt;br /&gt;
* Browse to the directory of your scripts and select i.e. C:\XBMC\addons.&lt;br /&gt;
* Set &#039;&#039;Python&#039; as Project Type&lt;br /&gt;
* Select &#039;&#039;2.4 (XBMC Python version)&#039;&#039; for the grammar&lt;br /&gt;
* Select &#039;&#039;Don&#039;t configure PYTHONPATH (to be done manually later on)&#039;&#039;&lt;br /&gt;
* Click on &#039;&#039;Finish&#039;&#039; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Set the Python Path ===&lt;br /&gt;
* Right click on your new project and select &#039;&#039;Properties&#039;&#039;&lt;br /&gt;
* Select &#039;&#039;PyDev - PYTHONPATH&#039;&#039; and click on &#039;&#039;Add source folder&#039;&#039;&lt;br /&gt;
* Select the source directory of your script, /xbmc_addons in our example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Import File System ===&lt;br /&gt;
Assuming you want to add in all the directories under C:\XBMC\addons&lt;br /&gt;
* Right click on your new project and select &#039;&#039;Import...&#039;&#039;&lt;br /&gt;
* Select &#039;&#039;General&#039;&#039; and click on &#039;&#039;File System&#039;&#039;; then &#039;&#039;Next&#039;&#039;&lt;br /&gt;
* Browse to the source directory of your script (or plugin) e.g. C:\XBMC\addons&lt;br /&gt;
* Check the directory and files to be added&lt;br /&gt;
* Select &#039;&#039;Into folder: xbmc_addons&#039;&#039;&lt;br /&gt;
* Select &#039;&#039;Options | &amp;lt;&amp;lt;Advanced | Create links in workspace&#039;&#039;&lt;br /&gt;
* Uncheck both the options i.e. &#039;&#039;Create virtual folders&#039;&#039; &amp;amp; &#039;&#039;Create link locations relative to;...&#039;&#039;&lt;br /&gt;
* Click on &#039;&#039;Finish&#039;&#039; button&lt;br /&gt;
Your source code is now recognized by Eclipse and you will have access to neat functionality such as code completion, link between source files, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add Pydev Python source code (pysrc) to XBMC ===&lt;br /&gt;
XBMC needs to know where to find the PyDev remote python source file in order to communicate with the remote debugger of Eclipse.&lt;br /&gt;
&lt;br /&gt;
==== Identify where PyDev remote debugger Python files are ====&lt;br /&gt;
Python source files should be in you Eclipse installation directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\...\eclipse\plugins\org.python.pydev.debug_1.5.5.2010030420\pysrc\&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our case we use PyDev 1.5.5.&lt;br /&gt;
Look for org.python.pydev.debug (not core)&lt;br /&gt;
&lt;br /&gt;
==== Modify PyDev source in order to support XBMC paths ====&lt;br /&gt;
The pysrc code that came with Eclipse-pydev does not support XBMC paths (special://... or Q:/...) and the module would not find them making it impossible to insert breakpoints in such files.&lt;br /&gt;
&lt;br /&gt;
In order to add the support of XBMC paths, you will need to do a simple modification to the file &#039;&#039;pydevd_file_utils.py&#039;&#039; consisting on adding a line to each procedure that had a filename parameter (4 procedures in total). &lt;br /&gt;
Add a line like&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 def _NormFile(filename):&lt;br /&gt;
     filename = xbmc.translatePath(filename)&lt;br /&gt;
     try:&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The other three procedures are:&lt;br /&gt;
* def _NormFile(filename):&lt;br /&gt;
* def NormFileToServer(filename):&lt;br /&gt;
* def NormFileToClient(filename):&lt;br /&gt;
&lt;br /&gt;
of course you need the import directive at the top of the file:&lt;br /&gt;
&lt;br /&gt;
 import xbmc&lt;br /&gt;
&lt;br /&gt;
at the beginning of the module...&lt;br /&gt;
&lt;br /&gt;
==== Choose how XBMC will refer to Pydev debugging module ====&lt;br /&gt;
&lt;br /&gt;
You have 3 options as below:&lt;br /&gt;
* Option 1 - Refer from our python script directly the directory where pysrc is installed&lt;br /&gt;
* Option 2 - Copy pysrc in our script directory and refer it from our script&lt;br /&gt;
* Option 3 - Copy pysrc in XBMC Python install&lt;br /&gt;
&lt;br /&gt;
I am only going to show you the steps for &#039;&#039;Option 3&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Copy pysrc in XBMC Python install ====&lt;br /&gt;
* Copy the content of pysrc to:&lt;br /&gt;
&amp;lt;pre&amp;gt;XBMC\system\python\Lib\pysrc\&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add an empty __init__.py file in it&lt;br /&gt;
&lt;br /&gt;
=== Add to your python script the code for remote debug ===&lt;br /&gt;
At the beginning of you Python script/plugin (usually Default.py) add the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REMOTE_DBG = True &lt;br /&gt;
&lt;br /&gt;
# append pydev remote debugger&lt;br /&gt;
if REMOTE_DBG:&lt;br /&gt;
    # Make pydev debugger works for auto reload.&lt;br /&gt;
    # Note pydevd module need to be copied in XBMC\system\python\Lib\pysrc&lt;br /&gt;
    try:&lt;br /&gt;
        import pysrc.pydevd as pydevd&lt;br /&gt;
	# stdoutToServer and stderrToServer redirect stdout and stderr to eclipse console&lt;br /&gt;
        pydevd.settrace(&#039;localhost&#039;, stdoutToServer=True, stderrToServer=True)&lt;br /&gt;
    except ImportError:&lt;br /&gt;
        sys.stderr.write(&amp;quot;Error: &amp;quot; +&lt;br /&gt;
            &amp;quot;You must add org.python.pydev.debug.pysrc to your PYTHONPATH.&amp;quot;)&lt;br /&gt;
        sys.exit(1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the case you have change the default port you can replace the line with pydevd.settrace by this one:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        pydevd.settrace(&#039;localhost&#039;, port=5678, stdoutToServer=True, stderrToServer=True)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Use REMOTE_DBG in order to activate or not the remote debugging&lt;br /&gt;
* port specifies the listening port number use between the client and the server&lt;br /&gt;
* Replace localhost by an IP address if XBMC and Eclipse are on 2 different machines&lt;br /&gt;
* stdoutToServer and stderrToServer redirect stdout and stderr to eclipse console, you won&#039;t have to open xbmc.log file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Run ===&lt;br /&gt;
* Go in Debug view (Eclipse: [[File:changeperspective.png]] / Debug ) and press on the start server button: [[File:EclipsePydevDebugSrvButtons.png]]&lt;br /&gt;
&lt;br /&gt;
* You will see in the console logs like:&lt;br /&gt;
&amp;lt;pre&amp;gt;Debug Server at port: 5678&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start XBMC and run your script/plugin, you will see it as &amp;quot;Running&amp;quot; but paused&lt;br /&gt;
&lt;br /&gt;
* In Eclipse (Debug View) click on the Resume button (or F8), then you will see the program running in XBMC&lt;br /&gt;
&lt;br /&gt;
* You are now fully set up: You can set break-point, watch on variables, run step by step etc&lt;br /&gt;
&lt;br /&gt;
* Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Screenshot ===&lt;br /&gt;
&lt;br /&gt;
[[File:EclipsePydevDebugger.png]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Add-ons]]&lt;br /&gt;
* [[:Category:All add-ons]]&lt;br /&gt;
* [[3rd party add-on repositories]]&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
* [[Addon Settings]]&lt;br /&gt;
* [[Python development]]&lt;br /&gt;
* [[Add-on repositories]]&lt;br /&gt;
* [[Official add-on repository]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to|Python Tutorial]]&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Add-ons]]&lt;br /&gt;
[[Category:Addon Development]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Bakslash</name></author>
	</entry>
</feed>