2017-01-27 10 views
11

प्रश्न

मैं X11 PyCharmSSH टर्मिनलPyCharm SSH सत्र में X11 अग्रेषण को कैसे सक्षम करें?

"Tools -> Start SSH session..." 

दुर्भाग्य से, यह वहाँ लगता है के माध्यम से क्रियान्वित किया जा सकता है जिसके माध्यम से अग्रेषण सक्षम करने के लिए कोशिश कर रहा हूँ निर्दिष्ट करने का कोई रास्ता नहीं है झंडे जैसे एक्स एक्स फॉरवर्डिंग सक्षम करने के लिए मैं अपने खोल में करूँगा:

ssh -X [email protected] 

क्या आप इसे प्राप्त करने के कुछ चालाक तरीके से जानते हैं?


वर्तमान गंदा समाधान

केवल गंदा हैक मैंने पाया X11 अग्रेषण के साथ एक बाहरी ssh कनेक्शन खोलने के लिए और से मैन्युअल रूप से वातावरण चर प्रदर्शन अद्यतन है।

उदाहरण मैं अपने बाहरी ssh सत्र पर चला सकते हैं के लिए:

[email protected]:$ echo $DISPLAY 
localhost:10.0 

और मेरे PyCharm टर्मिनल पर सेट की तुलना में:

export DISPLAY=localhost:10.0 

या भागो/डीबग में प्रदर्शन चर का अद्यतन कॉन्फ़िगरेशन, अगर मैं प्रोग्राम को जीयूआई से चलाने के लिए चाहता हूं।

हालांकि, मैं वास्तव में पसंद नहीं है एक बाहरी ssh टर्मिनल का उपयोग कर के इस समाधान और मैन्युअल रूप से अपडेट प्रदर्शन चर और मैं इस को प्राप्त करने का एक बेहतर तरीका है यकीन है!

किसी भी मदद की बहुत सराहना की जाएगी।


पी।

alias ssh='ssh -X' 
मेरी .bashrc सक्षम करने के लिए PyCharm मजबूर नहीं करता X11 अग्रेषण में

: की तरह एक उपनाम बनाना।

+2

मुझे लगता है कि pycharm प्रणाली ssh का उपयोग नहीं करता पता चला मूल फ़ाइल बैकअप करना सुनिश्चित करें। इसके बजाए यह [जेएसएच] (http://www.jcraft.com/jsch/) का उपयोग करता है जो एसएसएच का शुद्ध जावा कार्यान्वयन है।जेएसएच एक्स 11 फॉरवर्डिंग का समर्थन करता है, हालांकि यह डिफ़ॉल्ट रूप से सक्षम नहीं है। आपकी समस्या को हल करने का एक तरीका jsch.jar को प्रतिस्थापित करना होगा जो अलग-अलग डिफ़ॉल्ट के साथ एक कस्टम संस्करण के साथ पिचर्म के साथ बंडल किया गया है। –

+0

आपकी टिप्पणी के लिए @ ओलिवर वेसबर्थ धन्यवाद! यदि आप एक वास्तविक उत्तर में थोड़ा अधिक विवरण और चरण-दर-चरण समाधान प्रदान करने के लिए बहुत दयालु होंगे, तो मुझे इसे अनुमोदित के रूप में चिह्नित करने में बहुत खुशी होगी! – Gengiolo

+0

उनके पास इसके बारे में एक खुला मुद्दा है: https://youtrack.jetbrains.com/issue/PY-13869 ऐसा लगता है कि इस समय कोई आधिकारिक समाधान नहीं है :( – MZHm

उत्तर

2

तो मैं जेएसएच को पकड़ने और इसका परीक्षण करने में सक्षम था और यह बहुत अच्छा काम करता था। मैक ओएस या लिनक्स सिस्टम पर आपको नीचे क्या करने की आवश्यकता है।

wget http://sourceforge.net/projects/jsch/files/jsch/0.1.54/jsch-0.1.54.zip/download 
unzip download 
cd jsch-0.1.54 
sed -e 's|x11_forwarding=false|x11_forwarding=true|g' -e 's|xforwading=false|xforwading=true|g' -i src/main/java/com/jcarft/jsch/*.java 
sed -e 's|<version>0.1.53</version>|<version>0.1.53</version>|g' -i pom.xml 
mvn clean package 

यह target फ़ोल्डर में jsch-0.1.54.jar पैदा करेगा। आपको इसे अपने पिचर्म के lib फ़ोल्डर में कॉपी करने की आवश्यकता है। एक बार ऐसा करने और कनेक्शन बनाने के बाद आपके पास X11 सक्षम होगा।

X11 Enabled

+0

हाय तरुण! आपके समाधान के लिए धन्यवाद। अब परिवर्तनीय $ DISPLAY स्वचालित रूप से सेट हो रहा है लेकिन अगर मैं एक कमांड चलाता हूं "eog img.png" मुझे मिलता है: "** (अहंकार: 4078 9): चेतावनी **: एक्स डिस्प्ले नहीं खोल सका"। क्या आप जानते हैं कि इसे कैसे ठीक किया जाए? – Gengiolo

+0

@ गेंगियोलो, मैंने परीक्षण किया और शायद इसे कॉल करने की आवश्यकता है च ew और विधियों http://www.jcraft.com/jsch/examples/X11Forwarding.java.html। दुर्भाग्य से मेरे पास इस मुद्दे पर आगे डीबग करने का समय नहीं है। लेकिन इससे आपको पता लगाने की दिशा मिलनी चाहिए और इसे कैसे किया जाना चाहिए –

+0

आपके प्रयास के लिए धन्यवाद, आप बक्षीस के लायक हैं! :) मैं इसे देखने जा रहा हूँ और इस धागे ASAP अद्यतन! – Gengiolo

संबंधित मुद्दे