सवाल एसएसएच और वीएनसी के साथ x11 अग्रेषण का उपयोग कर?


मैं एसएक्स के माध्यम से -एक्स विकल्प के साथ रिमोट क्लस्टर पर काम कर रहा हूं, क्योंकि मुझे वीपीएन प्रोटोकॉल पर डेटा और ग्राफ को देखने की ज़रूरत है। कभी-कभी इंटरनेट कनेक्शन की अस्थिरता के कारण मैं अपना सत्र खो देता हूं। उन्होंने मुझे बताया कि मैं अपने वर्तमान सत्र को खोने के लिए वीएनसी का उपयोग नहीं कर सकता, ताकि अगर इंटरनेट कनेक्शन गिरता है तो मैं अपने पहले के खुले सत्र के साथ फिर से कनेक्ट और जारी रख सकता हूं।

मैं दूरस्थ क्लस्टर 'remote.cluster' में लॉग इन करना और टाइप करना चाहता हूं

 vncserver :1

तो मैं अपने सिस्टम पर एक और टर्मिनल खोलता हूं और टाइप करता हूं

 ssh -C -NL 5901:remote.cluster:5901 myusername@remote.cluster &

फिर मैं अपने सिस्टम पर विनाग्रे शुरू करता हूं और मैं एसएसएच प्रोटोकॉल का उपयोग कर कनेक्ट करता हूं। समस्या यह है कि मेरे पास x11 अग्रेषण नहीं है और मैं विंडोज़ नहीं खोल सकता। अगर मैं vnagre के साथ vnc प्रोटोकॉल का उपयोग करके कनेक्ट करने का प्रयास करता हूं तो यह कनेक्ट नहीं होता है, क्योंकि मुझे कनेक्शन टाइमआउट के रूप में कुछ मिलता है।

मुझे क्या करना चाहिए?


4
2017-11-21 10:56


मूल




जवाब:


यदि हम वीएनसी के माध्यम से रिमोट एक्स-सर्वर से कनेक्ट होते हैं तो हमारे पास लाभ होता है कि रिमोट के लिए एसएसएच कनेक्शन नीचे होने पर भी ग्राफिकल एप्लिकेशन चल रहा रहेगा। फिर हम ग्राफिकल एप्लिकेशन को फिर से शुरू करने के लिए फिर से कनेक्ट कर सकते हैं। यह भी देखें:

पुन: कनेक्शन को तेज करने के लिए हम रिमोट से कनेक्शन को एसएसएच सत्र के साथ जोड़कर जोड़ सकते हैं vncviewer से tightvncviewer  Install tightvncviewer विकल्प के साथ -via। इसके द्वारा हम दूरस्थ सर्वर पर चला सकते हैं:

vncserver:0  ## or any other display number e.g. :1

एक एसएसएच सुरंग के माध्यम से दर्शक पर एक कनेक्शन स्थापित करने के लिए:

vncviewer -via user@remote localhost:0

ऐसा करने के लिए काफी बैंडविड्थ की आवश्यकता होगी क्योंकि पूरे डेस्कटॉप को वीएनसी सर्वर से प्रेषित करना होगा। इसलिए यह वास्तव में कम बैंडविड्थ कनेक्शन के लिए एक अच्छा विचार नहीं हो सकता है लेकिन यह आपको उच्च बैंडविड्थ पर कुछ बेहतर अनुभव दे सकता है लेकिन एक्स-फ़ॉरवर्डिंग की तुलना में अस्थिर कनेक्शन।


3
2017-11-21 11:54



मैं वास्तव में क्या करना चाहता हूं, आपके द्वारा प्रदान किए गए लिंक में, michael_n पहली टिप्पणी में दूसरी टिप्पणी में क्या कहता है, लेकिन यह मेरे लिए काम नहीं करता है क्योंकि मैं स्क्रीन-आर के साथ फिर से कनेक्ट नहीं कर पा रहा हूं, शायद मैं कर रहा हूं कुछ गलत - simona
मैंने जो कहा वह मैंने किया और वीएनसी एक पासवर्ड मांग रहा है, जिसे मैंने सेट नहीं किया है, तो क्या मुझे इसे रिमोटहोस्ट व्यवस्थापक से पूछना चाहिए, है ना? एक और बात: यदि मैं आपके उत्तर में ऊपर के रूप में एसएसएच के माध्यम से vnc का उपयोग करता हूं, तो यह धीमा हो जाएगा क्योंकि सभी ग्राफिक्स ड्राइंग को मेरे स्थानीय के बजाय रिमोट मशीन पर निष्पादित किया जाएगा? - simona
Vncviewer -via पूछता है 1) रिमोट के लिए ssh पासवर्ड के लिए और फिर 2) vnc पासवर्ड के लिए, लेकिन उत्तरार्द्ध केवल रिमोट पर सेट होने पर ही। सभी ड्राइंग दूरस्थ सर्वर पर किए जाएंगे और फिर एसएस सुरंग के माध्यम से संकुचित ग्राफिक के रूप में भेजे जाएंगे (यह भी देखें tightvnc.com/vncviewer.1.php) - Takkat
आपके समाधान के लिए धन्यवाद। क्योंकि जब मैं आपका समाधान पढ़ता हूं तो यह मुझे स्पष्ट नहीं था, मैं भविष्य के पाठकों को इंगित करना चाहता हूं कि केवल आवश्यक आदेश vncserver हैं: 1 और vncviewer -via उपयोगकर्ता @ रिमोट लोकलहोस्ट: 1। ग्राफिक्स विज़ुअलाइजेशन बीटीडब्ल्यू बहुत तेज है, मुझे आश्चर्य है कि यह वास्तव में रिमोट क्लस्टर पर दंग है और मेरी स्थानीय मशीन पर नहीं - simona
@ सिमोना: इस पर इशारा करने के लिए धन्यवाद। संपादन के साथ आशा है कि यह अब स्पष्ट है। - Takkat


इस्तेमाल किया गया आदेश:

ssh -C -NL 5901:localhost:5901 myusername@remote.cluster &

आगे स्थानीय 5901 -> रिमोट.क्स्टर: 5 9 01

तो आप remote.cluster पर चल रहे VNC सत्र से कनेक्ट करने के लिए localhost :: 5901 से कनेक्ट कर सकते हैं (जिनके पास आपकी पहुंच नहीं है)।

एक्स 11 फॉरवर्डिंग वीएनसी से अलग है। आपको उपयोग करने की ज़रूरत है -X, उदाहरण के लिए

ssh -X myusername@remote.cluster

आप अपनी स्थानीय मशीन पर दूरस्थ जीयूआई अनुप्रयोग चलाने में सक्षम होंगे, बशर्ते आपके पास एक एक्स सर्वर स्थानीय रूप से चल रहा हो (विंडोज़ पर उबंटू डेस्कटॉप या एक्समिंग)

अद्यतन करें:

मैंने अग्रेषण में गलती की, यह होना चाहिए:

ssh -C -L 5901:localhost:5901 myusername@remote.cluster

फिर आप लोकलहोस्ट के लिए vnc कर सकते हैं: 5 9 01, यातायात को रिमोट.क्स्टर पर अग्रेषित किया जाएगा: 5 9 01। लापरवाही के लिए माफी ...

यदि कोई जीयूआई आवश्यक नहीं है, तो उपयोग करने पर विचार करें tmux या screen सत्र के नुकसान से बचने के लिए।


1
2017-11-21 11:21



मैं हमेशा एसएसएच-एक्स का उपयोग करता हूं और यह काम करता है, मुद्दा यह है कि मैं इस बात को इस तरह से स्थापित करना चाहता हूं कि जब मेरा कनेक्शन गिरता है तो मैं फिर से कनेक्ट कर सकता हूं और अपना पिछला सत्र फिर से ढूंढ सकता हूं। तो, क्या आप कह रहे हैं कि मुझे रिमोट क्लस्टर से कनेक्ट करने के लिए vincre में vnc प्रोटोकॉल का उपयोग करना चाहिए? यह काम नहीं करता है: मुझे रिमोट होस्ट करने के लिए कनेक्शन मिलता है .स्ट बंद था ' - simona
मैंने जवाब अपडेट किया, मैंने अग्रेषण कमांड में कोई गलती नहीं देखी। - Terry Wang
धन्यवाद, मुझे वास्तव में कुछ भूखंडों को देखने के लिए जीयूआई की आवश्यकता नहीं है, क्या आप मुझे स्क्रीन या टीएमयूक्स के लिए एक प्रारंभिक बिंदु दे सकते हैं, मुझे उनके बारे में कुछ भी पता नहीं है - simona
मैं व्यक्तिगत रूप से tmux पसंद करता हूं, आप स्क्रीन या बायोबू (उबंटू एन्हांस्ड स्क्रीन) का उपयोग कर सकते हैं। रिमोट सर्वर पर चल रहे tmux मूल रूप से उस बॉक्स पर एक डिमन / सत्र चला रहा है, ताकि जब आप डिस्कनेक्ट हो जाएंगे, तो आप एसएसएच के माध्यम से फिर से कनेक्ट करने में सक्षम होंगे और उस सत्र से संलग्न होंगे - टर्मिनल में जो भी आप काम कर रहे थे उसे खोए बिना tmux संलग्न करें। एक नमूना .tmux.conf gist.github.com/3950393 - Terry Wang