title: No display name and no $DISPLAY environment variable using tkinter through ssh
body: <p>I'm trying to run a very simple code that outputs a .png file in a cluster. Here's the code:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import numpy as np
  
  x = np.random.randn(60)
  y = np.random.randn(60)
  
  plt.scatter(x, y, s=20)
  
  out_png = 'path/to/store/out_file.png'
  plt.savefig(out_png, dpi=150)
  </code></pre>
  
  <p>If I run this code with the command <code>python simple_code.py</code> in my system which has matplotlib 1.2.1 installed I get the warning:</p>
  
  <pre><code>Unable to load library icui18n "Cannot load library icui18n:
  </code></pre>
  
  <p>The .png image is still produced so I have no problems here. But if I use the same command and code in a cluster which has matplotlib 1.3.0 installed it fails with the error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "simple_code.py", line 33, in &lt;module&gt;
      plt.scatter(x, y, s=20)
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 3078, in scatter
      ax = gca()
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 803, in gca
      ax =  gcf().gca(**kwargs)
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 450, in gcf
      return figure()
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 423, in figure
      **kwargs)
    File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 79, in new_figure_manager
      return new_figure_manager_given_figure(num, figure)
    File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 87, in new_figure_manager_given_figure
      window = Tk.Tk()
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1712, in __init__
      self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
  _tkinter.TclError: no display name and no $DISPLAY environment variable
  </code></pre>
  
  <p>What is happening here?</p>
  
  <hr>
  
  <p>Add, this is the script I use to login into the cluster:</p>
  
  <pre><code>#!/usr/bin/expect
  
  set login "user"
  set addr "address1"
  set addr2 "address2"
  set pw "password"
  
  spawn ssh -X $login@$addr
  expect "$login@$addr\'s password:"
  send "$pw\r"
  expect "$login@host:"
  send "ssh -X $addr2\r"
  expect "$login@$addr\'s password:"
  send "$pw\r"
  interact
  </code></pre>