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 '*_address' attributes are configured properly. Currently valid addresses are: ['127.0.0.1', '127.0.1.1', '0.0.0.0', '']<br>
</blockquote><div><br></div></div><div>This would suggest that our code that determines the available IPs on your system isn'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>('machine_name', [], ['127.0.1.1'])<br><br>which doesn'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't then seem to connect to this instance anyway I try. The usual method (launching a new instance with the "--existing ..." 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's presumably some kind of bug, but I can't think of what it would be.</div><div><br></div><div>ipython qtconsole --ip=0.0.0.0</div><div># copy '--existing...'</div>
<div><br></div><div>then connect with:</div>
<div><br></div><div>ipython qtconsole --ip=192.168.X.Y <paste></div><div># or if you are on the same machine:</div><div>ipython qtconsole --ip=127.0.0.1 <paste></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'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 "ipython qtconsole" over ssh without a display attached, the kernel never launches. <br>
<br>Best<br>n<br></div></div>