Thanks for that superb response -- it does exactly what I want it to do. You should document this somewhere as a walk-through.<br><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>RuntimeError: Can only launch a kernel on a local interface. Make sure that the &#39;*_address&#39; attributes are configured properly. Currently valid addresses are: [&#39;127.0.0.1&#39;, &#39;127.0.1.1&#39;, &#39;0.0.0.0&#39;, &#39;&#39;]<br>



</blockquote><div><br></div></div><div>This would suggest that our code that determines the available IPs on your system isn&#39;t working properly.  We should probably relax this check, and trust the user to know their own IP.</div>



<div><br></div><div>What do you get with:</div><div><br></div><div>import socket</div><div>hostname = socket.gethostname()</div><div>socket.gethostbyname_ex(hostname)</div><div class="im"><div><br></div><div>?</div></div>
</div></blockquote><div><br>on a couple of different machines, i get:<br><br>(&#39;machine_name&#39;, [], [&#39;127.0.1.1&#39;])<br><br>which doesn&#39;t therefore include my network IPs.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div class="im"><div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Following the documentation that 0.0.0.0 opens up the kernel to all interfaces, I try launching ipython with the ip tag set to 0.0.0.0, which does indeed launch a console. However, I can&#39;t then seem to connect to this instance anyway I try. The usual method (launching a new instance with the &quot;--existing ...&quot; flags) brings up a qtconsole, displaying the usual headers, but no prompt ever appears. The same is true if I append the extra flags to the second qtconsole of --ip=0.0.0.0 or --ip=192.168.1.2 and so on -- just a promptless console.<br>



</blockquote><div><br></div></div><div>That should definitely work, so it&#39;s presumably some kind of bug, but I can&#39;t think of what it would be.</div><div><br></div><div>ipython qtconsole --ip=0.0.0.0</div><div># copy &#39;--existing...&#39;</div>


<div><br></div><div>then connect with:</div>
<div><br></div><div>ipython qtconsole --ip=192.168.X.Y &lt;paste&gt;</div><div># or if you are on the same machine:</div><div>ipython qtconsole --ip=127.0.0.1 &lt;paste&gt;</div></div></blockquote><div><br>i ran this again, and it works now. this suggests that i was doing something thoughtless before. <br>
 <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">

<div></div><div>As for SSH, you need to set up tunnels.  The parallel code will try to set up these tunnels for you, but the KernelManager used in the qt code doesn&#39;t use this yet, and you have to set them up yourself.</div>


</div></blockquote><div><br>As above, thanks for this -- works a charm. <br><br>Is there a way of creating a kernel instance without generating a qtconsole at the same time? At the moment, if I try to launch &quot;ipython qtconsole&quot; over ssh without a display attached, the kernel never launches. <br>
<br>Best<br>n<br></div></div>