ssh

2013-10-11 7 views
27

के माध्यम से tkinter का उपयोग करके कोई प्रदर्शन नाम और कोई $ DISPLAY पर्यावरण परिवर्तक नहीं है, मैं क्लस्टर में एक .png फ़ाइल आउटपुट करने वाला एक बहुत ही सरल कोड चलाने की कोशिश कर रहा हूं।ssh

Unable to load library icui18n "Cannot load library icui18n: 

.png छवि अभी भी इतना उत्पादन किया जाता है:

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) 

अगर मैं अपने सिस्टम में आदेश python simple_code.py जो 1.2.1 स्थापित मैं चेतावनी मिलती है matplotlib है के साथ इस कोड को चलाने: यहाँ कोड है मुझे यहाँ कोई समस्या नहीं है। लेकिन स्थापित करता है, तो मैं एक क्लस्टर जो 1.3.0 matplotlib है में एक ही आदेश और कोड का उपयोग यह त्रुटि के साथ विफल:

Traceback (most recent call last): 
    File "simple_code.py", line 33, in <module> 
    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 

यहाँ क्या हो रहा है?

#!/usr/bin/expect 

set login "user" 
set addr "address1" 
set addr2 "address2" 
set pw "password" 

spawn ssh -X [email protected]$addr 
expect "[email protected]$addr\'s password:" 
send "$pw\r" 
expect "[email protected]:" 
send "ssh -X $addr2\r" 
expect "[email protected]$addr\'s password:" 
send "$pw\r" 
interact 
+2

क्या आप इसे 'एसएसएच' के माध्यम से चला रहे हैं? – SethMMorton

+1

हां मैं सेठमॉर्टन हूं। मैंने नौकरी निर्धारित की और इसे क्लस्टर में 'एसएसएच' के माध्यम से चलाने दिया। – Gabriel

+3

जब आप 'ssh' कहते हैं, तो क्या आप' -X' ध्वज का उपयोग करते हैं? – SethMMorton

उत्तर

33

आपकी समस्या ssh आदेश में है:


जोड़ें, इस स्क्रिप्ट मैं क्लस्टर में प्रवेश करने के लिए इस्तेमाल करते हैं। आपको यह करने की ज़रूरत है कि इसे इस तरह लिखना है:

ssh -X "your_login" 
+12

एक एफवाईआई के रूप में, यह ओपी की समस्या का समाधान नहीं था। मैंने अपने उत्तर में सुझाव दिया था और फिर ओपी ने मुझे बताया कि इससे समस्या ठीक नहीं हुई है। यहां दी गई समस्या के समान समस्या, और इसमें समाधान भी शामिल है: http://stackoverflow.com/q/2801882/1399279। – SethMMorton

+0

बस एक अनुस्मारक, 'ssh -X' कभी-कभी आपको चेतावनी देता है जैसे' चेतावनी: अविश्वसनीय X11 फ़ॉरवर्डिंग सेटअप विफल: xauth कुंजी डेटा जेनरेट नहीं किया गया ', इस मामले में आपको इसके बजाय' ssh -Y' करना चाहिए। –