VNC और ssh -X के बीच अंतर


27

आप केवल उपयोग करने के बजाय VNC (या उस मामले NX के लिए) का उपयोग क्यों करेंगे ssh -X (-Y)। मैंने पढ़ा है कि VNC कम बैंडविड्थ का उपयोग करता है, लेकिन क्या संबंधित उपकरण के साथ कोई अन्य अंतर / फायदे हैं?

जवाबों:


30

बैंडविड्थ और विलंबता मुद्दों (जो थोड़ा भिन्न हो सकते हैं) के अलावा, बड़े अंतर इसकी कार्यक्षमता प्रदान करते हैं।

वीएनसी एक पूरे सत्र, डेस्कटॉप और सभी का निर्यात करता है, जबकि ssh एक एकल कार्यक्रम चलाएगा और आपके कार्य केंद्र पर इसकी खिड़कियां दिखाएगा।

वीएनसी सर्वर एक सत्र का निर्यात करता है जो आपके स्क्रीन को डिस्कनेक्ट करने पर भी जीवित रहता है, और आप इसे बाद में सभी विंडो के खुलने के साथ फिर से कनेक्ट कर सकते हैं। यह ssh X सुरंग के साथ संभव नहीं है, क्योंकि जब आपका एक्स सर्वर मर जाता है, तो खिड़कियां चली जाती हैं। ।


5
यही सबसे बड़ा कारण है कि मैं हमेशा VNC का उपयोग करता हूं, कभी भी X विंडो को निर्देशित नहीं करता। (मैं एक ssh सुरंग पर VNC का उपयोग करता हूं)। जब मैं अपने लैपटॉप पर ढक्कन बंद करता हूं, तो कनेक्शन टूट जाता है। Ssh -X के साथ, फिर से शुरू करने का कोई तरीका नहीं है - मुझे शुरू से आवेदन को फिर से शुरू करना होगा। VNC के साथ (दोनों एक ssh सुरंग पर प्रत्यक्ष और), मैं फिर से कनेक्ट और जारी रख सकता हूँ जहाँ मैंने छोड़ा था।
डेविड कैरी

8
हालांकि थोड़ा OT (चूंकि यह Q संभवतः केवल GUI ऐप्स के बारे में है): यदि वास्तविक GUI ऐप की आवश्यकता नहीं है, और बस मूल शेल एक्सेस (जैसे, xterm) करेंगे, तो "ssh" करें और उसके बाद "स्क्रीन बैश" करें। यदि डिस्कनेक्ट किया गया (लैपटॉप बंद, वीपीएन डिस्कनेक्ट किया गया, आदि), तो रिमोट शेल सक्रिय रहता है। "स्क्रीन -r" के माध्यम से पुनः लॉगिन और पुनः कनेक्ट करें। जब से मैंने देखा है कि लोग केवल मूल शेल एक्सेस के लिए vnc चलाते हैं (या स्थानीय रूप से प्रदर्शित रिमोट xterm चलाते हैं) मैं इसे ऊपर लाता हूं; अधिकांश समय (लेकिन निश्चित रूप से हमेशा नहीं), सरल शेल एक्सेस पर्याप्त होगा।
माइकल

1
@michael_n मुझे इस बात में दिलचस्पी है कि आप स्क्रीन बैश के बारे में कहते हैं, लेकिन मैं इसे काम करने में सक्षम नहीं हूं। मैंने 'ssh -X -t myusername @ Remotehost screen bash' टाइप किया और कनेक्शन ड्रॉप होने के बाद मैं 'स्क्रीन -r' टाइप करता हूं, लेकिन यह कहता है कि 'कोई स्क्रीन फिर से शुरू नहीं हुई है'। मुझे क्या करना चाहिए?
सिमोना

2
@ ssona सफल ssh लॉगिन के बाद, फिर स्क्रीन रन करें ssh user@host:; और में लॉग इन करने के बाद: screen bash; डिस्कनेक्ट करने के लिए, ctrl+aउसके बाद ctrl+d। आप लॉगआउट कर सकते हैं और फिर से लॉगिन कर सकते हैं: screen -lsऔर screen -r। एक्साइटिंग बैश स्क्रीन सेशन से बाहर निकलता है। अधिक (और अधिक), को देखने के लिए विभिन्न ट्यूटोरियल पर जीएनयू स्क्रीन
माइकल

9

ssh -Xआपके स्थानीय X सर्वर पर X11 कमांड को पुनर्निर्देशित करता है। तो यह ऐसा है जैसे कि आप प्रोग्राम को स्थानीय स्तर पर चला रहे हों, जब वह कंप्यूटर पर दूसरे छोर पर चल रहा हो। यह बहुत धीमा है क्योंकि यह बैंडविड्थ के एक महान सौदे का उपयोग करता है। (यह वही है जो लोग बात कर रहे हैं जब वे कहते हैं कि X11 "नेटवर्क पारदर्शी है।")

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

मैं ssh -Xएक सरल कारण के लिए इंटरनेट पर उपयोग करने की सलाह नहीं देता : यह आपके सभी उपलब्ध बैंडविड्थ का उपयोग करेगा । यह मेरी राय में, लैन पर काफी उपयोगी है, इसलिए यदि आपको केवल एक एप्लिकेशन की आवश्यकता है और एक संपूर्ण डेस्कटॉप नहीं चलाना है, तो यह एक अच्छा तरीका है। अन्यथा, बस VNC का उपयोग करें।


3
"यह बहुत धीमा है क्योंकि यह बैंडविड्थ के एक महान सौदे का उपयोग करता है। X11 प्रोटोकॉल बहुत जटिल है और अक्सर कनेक्शन में बड़े पिक्समैप को आगे और पीछे भेजना शामिल होता है।" - यह गलत है, X11 प्रोटोकॉल बहुत जटिल नहीं है और इसमें पूरे कनेक्शन में बड़े पिक्समैप को आगे-पीछे भेजना शामिल नहीं है। आओ और एक्स विंडो सिस्टम के बारे में अधिक जानने के लिए इस प्रस्ताव में शामिल हों: area51.stackexchange.com/proposals/20129/the-x-window-system

1
@ शर्लक: ठीक है, तथ्य यह है कि यह बहुत अधिक बैंडविड्थ का उपयोग करता है। मैंने अपमानजनक वाक्य को हटा दिया।
ग्रेफेड

1
NX नेटवर्क पर X11 प्रोटोकॉल डेटा संचारित करने का एक कुशल तरीका है। यह डेटा को संपीड़ित करता है, एसएसएच पर व्यापक कैशिंग और सुरंग सत्र प्रदान करता है।
एडम बर्टेक

4

VNC रिमोट सिस्टम से संपूर्ण डेस्कटॉप साझा करेगा। इसके लिए रिमोट सिस्टम पर एक पूर्ण डेस्कटॉप की आवश्यकता होती है।

ssh -X आपको दूरस्थ सर्वर से एकल X अनुप्रयोग चलाने की अनुमति देता है। रिमोट सिस्टम को एक पूर्ण डेस्कटॉप चलाने की आवश्यकता नहीं है, और आपको अक्सर रिमोट सिस्टम पर स्थापित होने के लिए केवल मुट्ठी भर पैकेजों की आवश्यकता होती है।

ssh -Xएक दूरस्थ कनेक्शन पर जटिल सॉफ़्टवेयर पैकेज स्थापित करते समय उपयोगी हो सकता है। कुछ सॉफ़्टवेयर उत्पाद GUI इंस्टॉलर (Oracle डेटाबेस, आदि) का उपयोग कर सकते हैं। मैं स्थापित नहीं करना चाहता और अपने दूरस्थ सर्वर पर एक पूर्ण Gnome डेस्कटॉप। इसलिए, आप दूरस्थ सर्वर पर एक या दो X11 पैकेज (Xauth?) स्थापित करते हैं, और डीबीए को 'ssh -X / media / cdrom / oracle-इंस्टॉलर' जैसे कुछ सरल का उपयोग करके दूरस्थ रूप से Oracle इंस्टॉलर चलाने की अनुमति देते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.