X11 SSH पर Xming के साथ अग्रेषण?


11

मुझे एसएसएच एक्सेस मिल गया है, और मैंने एक्समिंग फोंट के साथ-साथ एक्समिंग स्थापित किया है। मैंने X11 को अग्रेषित करने के लिए PuTTY को कॉन्फ़िगर किया है और इसे स्थानीयहोस्ट: 0 पर डेस्कटॉप को रखने के लिए कहा है, यहां दिए गए निर्देशों के अनुसार

हालाँकि, लॉग इन करने के बाद, और startx, मुझे मिलता है ... कुछ भी नहीं। या यों कहें, यह उन संदेशों का एक समूह चलाता है, जो सब कुछ काम करते हुए कहते हैं, लेकिन मुझे मेरी कंसोल विंडो में एक कर्सर मिलता है, जो एक प्रतीक्षा स्थिति की तरह काम करता है। और बस।

मैं क्या खो रहा हूँ? क्या मुझे डेस्कटॉप देखने के लिए कुछ खोलने की आवश्यकता है?

मैं अपने डेस्कटॉप को अपने कार्य पीसी पर अग्रेषित करना चाहता हूं, ताकि मैं हार्डवेयर में भौतिक रूप से प्लग किए बिना लंच पर रासपी के साथ खेल सकूं। कृपया मदद कीजिए।

संपादित करें:

एक्समिंग रनिंग के साथ क्या होता है, का स्क्रीनशॉट और मैं एसएसएच इन और कॉल startx:

Xming की प्रतिक्रिया के साथ SSH

संपादित करें 2:

इस उत्तर का कहना है startx, क्योंकि यह RasPi X सर्वर शुरू होता है, और मैं विंडोज पर Xming सर्वर का उपयोग कर रहा हूँ, अनावश्यक है। उस स्थिति में, मैं विंडोज़ से Xming पर डेस्कटॉप / GUI कैसे प्राप्त करूं? क्योंकि, एक्सिंग रनिंग के साथ, और एसएसएच सक्षम होने के बावजूद, मुझे कुछ भी नहीं मिलता है, लेकिन सामान्य कंसोल प्रॉम्प्ट होता है। शायद मैं गलत कर रहा हूं। मैं जो चाहता हूं, वह मेरा पूर्ण, सामान्य RasPi GUI है जो मेरे दूरस्थ विंडोज पीसी पर एक विंडो में चल रहा है। मैं VNC का उपयोग नहीं करना चाहता। मैं इंटरनेट पर आगे बढ़ रहा हूं। मैं वहां कैसे पोहोंचूं?


2
मैं अपने रास्पबेरी से अपने विंडोज कंप्यूटर पर ग्राफिकल सेशन भी चलाना चाहता था। और जब मैंने आपका संदेश यह कहते हुए देखा कि startx का मतलब X सर्वर है, तो मैं समझ गया कि मुझे X प्रोग्राम शुरू करने की आवश्यकता है ... तो चलिए शुरू करते हैं ... x-session-manager! इस तरह, आपके पास अपने दूर के कंप्यूटर पर ग्राफिकल सत्र है। धन्यवाद, आपने मेरा रास्ता बता दिया!

जवाबों:


15

यदि आप अपने विंडोज कंप्यूटर पर Xming शुरू करते हैं, तो आपके पास पहले से ही एक एक्स सर्वर चल रहा है। आपको अपने रास्पबेरी पाई का एक्स सर्वर शुरू करने की आवश्यकता नहीं है startx। आपका X अनुप्रयोग रास्पबेरी पाई पर चलेगा, लेकिन अनुप्रयोग Windows के Xming X सर्वर पर आ जाएगा।

आपके द्वारा लिंक किए गए दस्तावेज़ में कहा गया है कि आपको विंडोज़ पर एक्स सर्वर शुरू करना होगा, और यह उल्लेख नहीं करता है कि आपको लिनक्स पर एक्स सर्वर शुरू करना है। प्रलेखन के अंतिम वाक्य में:

अब आपको अपने स्थानीय डेस्कटॉप पर होस्ट से X एप्लिकेशन चलाने में सक्षम होना चाहिए

"एक्स एप्लिकेशन" एक्स सर्वर (जो कि द्वारा शुरू किया जाना चाहिए startx) को संदर्भित करता है , लेकिन एक्सक्लॉक, एक्सईज और आगे जैसे अनुप्रयोग।

एक विशेष एक्स एप्लिकेशन lxsession है जो LXDE के मानक सत्र प्रबंधक (कम से कम मेरे रास्पियन पर) को शुरू करेगा। कंसोल पर इस एप्लिकेशन को शुरू करने से आपको "पूर्ण जीयूआई" मिलेगा जिसकी आपको तलाश है:

lxsession

व्यक्तिगत रूप से मुझे शुरू करना उपयोगी नहीं लगता है lxsession, कंसोल पर एक्स एप्लिकेशन शुरू करना मेरे लिए बहुत आसान है।


1
ठीक है। यह मैं समझ सकता हूं, मुझे लगता है। आप कह रहे हैं कि startx अनावश्यक है, क्योंकि यह RasPi x सर्वर को शुरू करता है, और मैं विंडोज़ पर Xming सर्वर का उपयोग कर रहा हूं। उस स्थिति में, मैं विंडोज़ से Xming पर डेस्कटॉप / GUI पर कैसे पहुँचूँ। क्योंकि, एक्सिंग रनिंग के साथ, और एसएसएच सक्षम होने के बावजूद, मुझे कुछ भी नहीं मिलता है, लेकिन सामान्य कंसोल प्रॉम्प्ट होता है। आप कह रहे हैं कि मैं केवल वास्तविक अनुप्रयोग चलाऊंगा, न कि पूर्ण GUI। शायद मैं गलत कर रहा हूं। मैं जो चाहता हूं, वह मेरी पूरी, सामान्य रसीली जीयूआई है जो मेरे दूरस्थ विंडोज़ पीसी पर एक विंडो में चल रही है। मैं VNC का उपयोग नहीं करना चाहता। मैं इंटरनेट पर आगे बढ़ रहा हूं।
zenbike

उत्तर अपडेट किया गया।
asalamon74

पूरी तरह से काम करता है, अगर (उम्मीद के मुताबिक) जवाब देने के लिए थोड़ा धीमा। आपके सहयोग के लिए धन्यवाद।
zenbike 10

1
... और यही कारण है कि आपके गाइड ने एक बार में ssh पर सिंगल ऐप चलाने की सलाह दी ...
अलेक्जेंडर - मोनिका

1
@ asalamon74 धन्यवाद! वाह! यह सिर्फ लात है। मुझे कीबोर्ड और माउस के साथ एक छोटे से तार के साथ usb से जुड़ा हुआ नहीं है। मैं उपरोक्त सेटअप के साथ टीवी के सामने बैठता था। अभी? मैं बस एक मालिक की तरह एसएसआई को चलाता हूँ और चलाता हूँ !!
धीरज भास्कर

1

साइगविन / एक्स का उपयोग करना

यदि आप Xming से बंधे नहीं हैं, तो आप Windows में X सर्वर चलाने के लिए Cygwin / X का उपयोग कर सकते हैं ।

रास्पबेरी पाई तैयार करना

PowerShell का उपयोग करके Windows से रास्पबेरी पाई तक एक नियमित SSH कनेक्शन स्थापित करने का प्रयास करें :

PowerShell और SSH के साथ विंडोज पर रास्पबेरी पाई में प्रवेश करें

यह देखते हुए कि रास्पियन बस्टर में शामिल X11Forwarding yesहैं /etc/ssh/sshd_config, आपके रास्पबेरी पाई को विंडोज पर एक्स सर्वर पर एक्स 11 अनुप्रयोगों के दृश्य आउटपुट को भी अग्रेषित करने में सक्षम होना चाहिए।

अगला चरण दिखाता है कि उस एक्स सर्वर को कैसे स्थापित किया जाए।

Windows पर Cygwin / X स्थापित करें

Cygwin / X विंडोज के लिए एक एक्स सर्वर प्रदान करता है जो रास्पबेरी पाई पर चलने वाले जीयूआई अनुप्रयोगों को प्रदर्शित करता है।

  1. डाउनलोड करें और Cygwin की वेबसाइटsetup-x86_64.exe से चलाएं ।

  2. साइगविन के "स्थानीय पैकेज निर्देशिका" के लिए आप उपयोग कर सकते हैं C:\Users\me\AppData\Roaming\Cygwin

  3. पैकेज डाउनलोड करने के लिए अपने पास एक सर्वर चुनें।

  4. "देखें" को "पूर्ण" पर सेट करें और खोजें xinit

  5. "नया" कॉलम में, "छोड़ें" से xinitनवीनतम संस्करण के मान को बदलने के लिए ड्रॉप-डाउन मेनू का उपयोग करें :

Cygwin के साथ पैकेज xinit स्थापित करें

  1. opensshउसी तरह पैकेज स्थापित करें ।

विंडोज से रास्पबेरी पाई से कनेक्ट करें

  1. विंडोज के स्टार्ट मेन्यू का उपयोग करके एक्स सर्वर शुरू करें Cygwin-X → XWin Server:। यह कोई विंडो नहीं खोलेगा, लेकिन आपको अपने सिस्टम ट्रे में दो नए आइकन देखने चाहिए:

सिस्टम ट्रे में XWin सर्वर आइकन

  1. Cygwin टर्मिनल प्रारंभ करें: Cygwin → Cygwin64 Terminal

  2. DISPLAYजहां Windows सर्वर पर X सर्वर चलता है, वहां पर्यावरण चर सेट करें :

    export DISPLAY=:0.0

  3. X11 अग्रेषण के साथ अपने रास्पबेरी पाई से कनेक्ट करें:

    ssh -Y pi@raspberrypi

साइगविन टर्मिनल के साथ लॉगिन करें

SSH सत्र के अंदर, आप अब Thonny की तरह रास्पबेरी पाई पर एक X एप्लिकेशन शुरू कर सकते हैं :

Thonny ने Windows को अग्रेषित किया

वैकल्पिक रूप से, उपयोगकर्ता की टिप्पणी के रूप में उल्लिखित उपयोगकर्ता 1297, आप x-session-managerबाहरी मॉनिटर पर एचडीएमआई के माध्यम से रास्पबेरी पाई से कनेक्ट होने पर प्राप्त होने वाले अनुभव का अनुकरण करने के लिए दौड़ सकते हैं :

Rasbpian डेस्कटॉप विंडोज के लिए forwared

यदि आप सीधे शेल में अपना नाम लिखे बिना सीधे एक आवेदन शुरू करना चाहते हैं, तो इसका उपयोग करें:

ssh -Y pi@raspberrypi x-session-manager

MacOS पर

XQuartz macOS के लिए X सर्वर प्रदान करता है।

XQuartz स्थापित करें, लॉग आउट करें और वापस ( DISPLAYप्रभावी का नया मान बनाने के लिए ), फिर Bash से SSH के साथ एप्लिकेशन लॉन्च करें:

ssh -Y pi@raspberrypi thonny

XQuartz का उपयोग कर MacOS के अंदर पतला


1

यदि आप पहले से ही विंडोज पर एक एक्स सर्वर चला रहे हैं (जैसा कि आप एक्समिंग के साथ हैं), तो विंडोज साइड ज्यादातर किया जाता है (लेकिन कुछ महत्वपूर्ण विवरणों के लिए नीचे देखें)। बची हुई कुंजी यह है कि आप अपने विंडोज़ पीसी पर अपने एक्स 11 डेटा भेजने के लिए पीआई पर एक्स 11 ऐप बताएं।

यह DISPLAYपर्यावरण चर के माध्यम से किया जाता है । सामान्यतया, यदि X सर्वर और ऐप एक ही कंप्यूटर पर चल रहे हैं, तो DISPLAY केवल सर्वर नंबर (जैसे :0कि आप केवल एक X सर्वर चला रहे हैं) या शायद एक सर्वर और स्क्रीन (जैसे :0.0) निर्दिष्ट करेंगे । चूंकि कोई आईपी पता नहीं है, इसलिए यह ऐप्स की एक्स लाइब्रेरी को बताता है कि सर्वर स्थानीय है और तदनुसार कनेक्शन बनाए जाएंगे (शायद किसी तरह का साझा-मेमोरी ट्रांसपोर्ट)।

एप्लिकेशन को दूरस्थ नोड पर X11 डेटा भेजने के लिए कहने के लिए, DISPLAYचर में एक आईपी पता शामिल करें । उदाहरण के लिए, export DISPLAY=192.168.1.10:0। यह किसी भी X11 ऐप को बताएगा कि उन्हें नोड सर्वर 19 पर.12.168.1.10 पर X सर्वर # 0 पर एक टीसीपी कनेक्शन खोलने की आवश्यकता है। DNS होस्टनाम यहां ठीक हैं, यदि आपने उन्हें अपने नेटवर्क पर प्राप्त किया है।

दो संभावित समस्याएं

जैसा कि मैंने पहले पैराग्राफ में लिखा है, बस Xming चलाना पर्याप्त नहीं हो सकता है। अतिरिक्त कॉन्फ़िगरेशन आवश्यक हो सकता है।

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

दूसरा यह है कि आपका X11 सर्वर होस्ट / उपयोगकर्ताओं के एक डेटाबेस को बनाए रखता है जिन्हें कनेक्ट करने की अनुमति है। आपको अपने रास्पबेरी पाई के आईपी पते को श्वेतसूची में रखने की आवश्यकता है। आप xhostविंडोज पर Xming से कमांड चलाकर ऐसा कर सकते हैं , उदाहरण के लिए, xterm में चल रहे कंसोल से। आप xhost +इस सुरक्षा जांच को अक्षम करने के लिए भी टाइप कर सकते हैं , लेकिन यह खतरनाक है क्योंकि यह दुनिया के किसी भी ऐप को आपके डिस्प्ले से कनेक्शन खोलने की अनुमति देगा। यदि आप एक लैन पर एक फ़ायरवॉल के पीछे हैं जहाँ आप हर किसी पर भरोसा करते हैं (जैसे कि आपका अपना घर), तो यह सबसे आसान तरीका है, लेकिन xhostयदि आप नहीं हैं तो ठीक से कॉन्फ़िगर करने के लिए समय निकालें ।

वैकल्पिक: ssh -Y

उपरोक्त दृष्टिकोण का उपयोग करते हुए, आपके X11 ऐप सभी अपने एक्स सर्वर से टीसीपी कनेक्शन खोलने का प्रयास करेंगे। ये कनेक्शन सुरक्षित नहीं हैं। आपके लैन स्नूपिंग पैकेट पर कोई व्यक्ति उन्हें रोक सकता है।

इस समस्या को हल करने के लिए, रास्पबेरी पाई पर DISPLAY चर सेट करने के बजाय, -Yइसे कनेक्ट करते समय पैरामीटर का उपयोग करें (जैसे slogin -Y hostname)। -Y पैरामीटर (जैसे -X) X11 ट्रैफ़िक ले जाने के लिए नोड्स के बीच एक सुरंग बनाएगा। यह X11 ट्रैफिक को एन्क्रिप्ट और सुरक्षित रखेगा। यह अपना स्वयं का पर्यावरण पर्यावरण चर भी प्रदान करेगा ताकि एप्स सुरंग का उपयोग करेंगे। यह xhostतब से गड़बड़ करने की आवश्यकता को भी समाप्त कर सकता है (जहां तक ​​आपके एक्स सर्वर का संबंध है) कनेक्शन स्थानीय रूप से उत्पन्न हो रहे हैं (एसएसएच सुरंग के मूल से)।

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