<br><br><div class="gmail_quote">On Fri, Aug 10, 2012 at 11:50 AM, reckoner <span dir="ltr">&lt;<a href="mailto:reckoner@gmail.com" target="_blank">reckoner@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I have been reading the documentation here:<br>
<br>
<br>
<a href="http://ipython.org/ipython-doc/stable/interactive/qtconsole.html?highlight=remote" target="_blank">http://ipython.org/ipython-doc/stable/interactive/qtconsole.html?highlight=remote</a><br>
<br>
But it doesn&#39;t describe *which* ports to forward on  the client when<br>
doing the manual Port forwarding method. I have already transferred the<br>
corresponding<br>
kernel-7524.json file to the client. I don&#39;t know if anything in the<br>
text of that file needs to be changed in order to support the manual<br>
port forwarding method.<br>
<br>
Some clarification?<br></blockquote><div><br></div><div><br></div><div>The ports are specified in that JSON file, and are randomized.  Depending on your setup, IPython can try to do the port forwarding for you, in which case you would do:</div>

<div><br></div><div># start the kernel on alice</div><div>[alice] $ ipython kernel</div><div>[IPKernelApp] To connect another client to this kernel, use:</div><div>[IPKernelApp] --existing kernel-10934.json</div><div><br>

</div><div># locate the connection file (or just type it out)</div><div>[alice] $ echo `ipython locate profile`/security/kernel-10934.json</div><div>/home/you/.ipython/profile_default/security/kernel-10934.json</div><div>

<br></div><div># get the connection file to the client machine</div><div>[bob] $ scp alice:/home/you/.ipython/profile_default/security/kernel-10934.json ./</div><div><br></div><div># start the qtconsole, using the connection file, with ssh tunnels to alice:</div>

<div>[bob] $ ipython qtconsole --existing ./kernel-10934.json --ssh alice</div><div><br></div><div><br></div><div>If the default tunnels are not going to work for you (requires passwordless ssh, serendipity, etc.), then you need to inspect the JSON connection file, open tunnels yourself, and write a *new* connection file pointing to the local ports you just forwarded and use that as if it were a local kernel:</div>

<div><br></div><div>[bob] $ cat kernel-14080.json</div><div><div><div>{</div><div>  &quot;stdin_port&quot;: 54086, </div><div>  &quot;ip&quot;: &quot;127.0.0.1&quot;, </div><div>  &quot;hb_port&quot;: 59876, </div><div>  &quot;key&quot;: &quot;2912fd79-2b4d-446b-9f15-738b72f74f6f&quot;, </div>

<div>  &quot;shell_port&quot;: 64201, </div><div>  &quot;iopub_port&quot;: 58877</div><div>}</div></div></div><div><br></div><div># open tunnels manually</div><div>[bob] $ ssh alice -f -N -L 5555:<a href="http://127.0.0.1:54086">127.0.0.1:54086</a> -L 5556:<a href="http://127.0.0.1:59876">127.0.0.1:59876</a> -L 5557:<a href="http://127.0.0.1:64201">127.0.0.1:64201</a> -L 5558:<a href="http://127.0.0.1:58877">127.0.0.1:58877</a></div>

<div><br></div><div># write a json file with the new ports:</div><div><div>[bob] $ cat kernel-ssh.json</div><div><div></div></div></div><div><div><div>{</div><div>  &quot;stdin_port&quot;: 5555, </div><div>  &quot;ip&quot;: &quot;127.0.0.1&quot;, </div>

<div>  &quot;hb_port&quot;: 5556, </div><div>  &quot;key&quot;: &quot;2912fd79-2b4d-446b-9f15-738b72f74f6f&quot;, </div><div>  &quot;shell_port&quot;: 5557, </div><div>  &quot;iopub_port&quot;: 5558</div><div>}</div></div>

</div><div><br></div><div>[bob] $ ipython qtconsole --existing kernel-ssh.json</div><div><br></div><div>I hope that clears some things up.</div><div><br></div><div>-MinRK</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
Thanks!<br>
<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</blockquote></div><br>