Index: trunk/server/common/patches/ipython-do-not-require-gtk.patch
===================================================================
--- trunk/server/common/patches/ipython-do-not-require-gtk.patch	(revision 1726)
+++ trunk/server/common/patches/ipython-do-not-require-gtk.patch	(revision 1726)
@@ -0,0 +1,23 @@
+diff --git a/IPython/Shell.py b/IPython/Shell.py
+index 9481099..38006d7 100644
+--- a/IPython/Shell.py
++++ b/IPython/Shell.py
+@@ -1152,7 +1152,8 @@ class IPShellMatplotlibQt4(IPShellQt4):
+ def check_gtk(mode):
+     try:
+         import gtk
+-    except ImportError:
++    except (ImportError, RuntimeError):
++        # GTK not present, or can't be started (no X11, happens in console)
+         return mode
+     if hasattr(gtk,'set_interactive'):
+         gtk.set_interactive(False)
+@@ -1243,7 +1244,8 @@ def _select_shell(argv):
+             th_mode = 'tkthread'
+ 
+         # New versions of pygtk don't need the brittle threaded support.
+-        th_mode = check_gtk(th_mode)
++        if th_mode == 'gthread':
++            th_mode = check_gtk(th_mode)
+         return th_shell[th_mode]
+ 
