मैं SSH के माध्यम से रिमोट फ़ायरफ़ॉक्स विंडो कैसे लॉन्च करूं?


56

जब मैं एक दूरस्थ बॉक्स में एस.एस.एच.

$ ssh -X remotebox

फिर रिमोट बॉक्स पर फ़ायरफ़ॉक्स शुरू करें

remotebox$ firefox

और मेरे पास मेरी स्थानीय मशीन पर फ़ायरफ़ॉक्स चल रहा है, एक स्थानीय फ़ायरफ़ॉक्स विंडो खुलेगी। रिमोट बॉक्स पर कोई फ़ायरफ़ॉक्स प्रक्रिया नहीं चल रही है।

अगर मेरी लोकल मशीन पर फ़ायरफ़ॉक्स नहीं चल रहा है तो एक रिमोट फ़ायरफ़ॉक्स विंडो खुलेगी।

यह एक स्थानीय फ़ायरफ़ॉक्स खिड़की क्यों खोल रहा है? मैं इसे कैसे रोक सकता हूं?


यहाँ मेरे स्थानीय सिस्टम की कुछ और जानकारी।

Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.1 LTS
Release:    10.04
Codename:   lucid

DISPLAY=:0.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

रिमोटेबॉक्स की जानकारी।

Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux

LSB Version:    core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description:    openSUSE 10.3 (X86-64)
Release:    10.3
Codename:   n/a

DISPLAY=localhost:15.0

Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org

निम्न आदेश दूरस्थ फ़ायरफ़ॉक्स विंडो के साथ एक रिमोट फ़ायरफ़ॉक्स सत्र शुरू करता है।

remotebox$ firefox -no-remote

निम्न कमांड थोड़ी देरी पैदा करता है, फिर शीघ्र वापस चला जाता है और एक स्थानीय फ़ायरफ़ॉक्स विंडो पॉप अप हो जाती है। रिमोटेबॉक्स पर कोई फ़ायरफ़ॉक्स प्रक्रिया नहीं चल रही है।

remotebox$ firefox

Remotebox2 की जानकारी।

Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.10
Release:    9.10
Codename:   karmic

DISPLAY=localhost:11.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

Remotebox2 पर निम्न कमांड अपेक्षित के रूप में एक रिमोट फ़ायरफ़ॉक्स सत्र शुरू करता है।

remotebox2$ firefox

मुझे नहीं पता कि रीमोटेबॉक्से 2 पर फायरफॉक्स स्थानीय सत्र के बजाय रिमोट सेशन क्यों शुरू करता है।


क्या हम $DISPLAYस्थानीय और दूरस्थ मशीन दोनों पर चर की सामग्री प्राप्त कर सकते हैं ?
क्षमा याचना

@aperson, अद्यतन प्रश्न।
lesmana

धन्यवाद, यह $DISPLAYएक मुद्दा नहीं लगता है, ssh चीजों को ठीक से स्थापित करता प्रतीत होता है।
एपर्सन

जवाबों:


46

इसके अलावा firefox -no-remote एक और पैरामीटर है firefox -no-xshmजो इसे काम करने के लिए इस्तेमाल की जाने वाली तकनीक का खुलासा करता है।

एक्स 11 साझा मेमोरी एक इंटरप्रोसेस संचार तकनीक है जिसका उपयोग किसी दिए गए एक्स सर्वर सत्र से जुड़े सभी अनुप्रयोगों द्वारा किया जा सकता है। इसका उपयोग ड्रैग एंड ड्रॉप और अन्य प्रकार के डेस्कटॉप इंटरैक्शन करने के लिए किया जा सकता है।

यह पदचिह्न (या खिड़कियों की संख्या) को कम करने के लिए, "खुले एक बार" अनुप्रयोगों को लागू करने के लिए भी (और है) का उपयोग किया जा सकता है।

चूंकि X11 प्रोटोकॉल नेटवर्क पारदर्शी है इसलिए "साझा की गई मेमोरी" को दूरस्थ X11 क्लाइंट तक भी बढ़ाया जाता है।


क्या कोई ऐसा तरीका है जिससे मैं x कर सकता हूं? मैं आसान वितरण के लिए एक वीडियो गेम / वाइन सेटअप को कंटेनरीकृत करना चाहता हूं, लेकिन इससे मुझे सिरदर्द हो रहा है, क्योंकि यह कंटेनर के उपयोगकर्ता द्वारा स्थापित और चलने के आधार पर अनिर्दिष्ट व्यवहार का कारण होगा। मैं x अग्रेषण करने के लिए इस समाधान का उपयोग कर रहा हूं: stackoverflow.com/a/25168483 और यह सुनिश्चित करना चाहूंगा कि कंटेनर होस्ट के साथ मेमोरी कभी साझा न करे।
सर सब्स्टेंस

यह मेरे लिए काम नहीं करता है
Bob Ebert

निम्न सुझाव आज़माएँ: MOZ_NO_REMOTE = 1
Kieveli

15

प्रयत्न, कोशिश firefox -no-remote


यह रिमोट फ़ायरफ़ॉक्स विंडो खोलने में काम करता है। लेकिन मुझे अभी भी समझ में नहीं आया है कि एक रिमोट कमांड खोलने के लिए एक स्थानीय फ़ायरफ़ॉक्स विंडो को क्यों ट्रिगर किया जा सकता है।
चम्मन

@lesmana यह x11- फ़ॉरवर्डिंग के कारण हो सकता है - यदि sshd_configआप में सेटअप है तो ऐसी स्थिति हो सकती है जहाँ इसे निष्पादित किया जा रहा है और इसके माध्यम से वापस टनल किया जा रहा है।
मार्को Ceppi

10

ध्यान दें, मैंने गुंबद खोदने का काम किया क्योंकि यह मुझे खराब कर रहा था और आप भी जोड़ सकते हैं:

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

आपके प्रोफ़ाइल के लिए।


4

आप यह कोशिश कर सकते हैं, जब आप मशीन से जुड़े ( ssh user@host; नोट: बिना -X विकल्प), पहले फॉलो कमांड टाइप करें

export DISPLAY=:0 

यह वर्तमान डेस्कटॉप स्क्रीन के डिफ़ॉल्ट डिस्प्ले को बदल देगा। और उसके बाद ही टाइप करें

firefox

फ़ायरफ़ॉक्स को डेस्कटॉप विंडो पर देखा है। सुनिश्चित करें कि आपने डेस्कटॉप में लॉग इन किया है, जिसके बिना (कोई लॉगिन नहीं) आपको निम्न त्रुटि मिलेगी;

firefox: cannot connect to X server :0

यह विधि लॉक किए गए डेस्कटॉप के लिए भी काम करेगी। कृपया सुनिश्चित करें कि आपने डेस्कटॉप पर और उसी उपयोगकर्ता नाम के साथ ssh शेल में लॉग इन किया है ।

कई डेस्कटॉप सत्र देखते हैं, तो प्रत्येक सत्र के रूप में एक अलग संख्या द्वारा पहचाना जाता है :0, :1, :2, आदि


बस यही एक जवाब है जिसने मेरे लिए काम किया।
उत्तर शेकर

2

अन्य किसी भी समाधान ने मेरे लिए काम नहीं किया, इसलिए यह अन्य साइटों पर थोड़ी खोज के बाद था।

आपको एक अलग प्रक्रिया में फ़ायरफ़ॉक्स चलाने की आवश्यकता है उसी तरह यदि आप यह सब स्थानीय मशीन पर कर रहे हैं। निम्नानुसार एक नया प्रोफ़ाइल बनाने के लिए प्रोफ़ाइल प्रबंधक का उपयोग करें।

export MOZ_NO_REMOTE=1
firefox -ProfileManager

चीजों को सुसंगत रखने के लिए, मैंने बाहरी मशीन पर होस्टनाम के समान प्रत्येक नए प्रोफ़ाइल का नाम तय किया।


1

सरल दूरस्थ ब्राउज़िंग

यदि आप वेब को स्थानीय रूप से ब्राउज़ करना चाहते हैं जैसे कि आप रिमोट बॉक्स के सामने बैठे थे:

$ ssh -X username@remote.example.com

फिर दूरस्थ टर्मिनल सत्र के अंदर फ़ायरफ़ॉक्स चलाएं :

$ firefox https://test-ipv6.com/

कमांड -Xमें ध्वज के उपयोग पर ध्यान दें ssh। आप एक ही बार में दोनों चरण भी कर सकते हैं, जैसे नीचे दिखाया गया है:

$ ssh -X username@remote.example.com firefox http://test-ipv6.com/

एक दूरस्थ आईपी सुरंग: बंदरगाह

यदि आपके पास एक एप्लिकेशन दूरस्थ रूप से चल रहा है जो किसी प्रकार के वेब फ्रंटेंड को उजागर करता है, तो आप दूरस्थ आईपी: पोर्ट को उजागर करने में रुचि रखेंगे जैसे कि यह एक स्थानीय आईपी: पोर्ट है। इस मामले में, -Lविकल्प के बीच एक पत्राचार को परिभाषित करता है localhost:localportऔर remotehost:remoteportनीचे के रूप में छद्म आदेश में दिखाया गया है,:

ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost

उदाहरण के लिए:

$ ssh -L 127.0.0.1:18080:internal.example.com:8080 username@router.example.com

फिर स्थानीय रूप से फ़ायरफ़ॉक्स चलाएं :

$ firefox http://127.0.0.1:18080

ऊपर के उदाहरण में, आप SSH के माध्यम से कनेक्ट कर रहे हैं username@router.example.com, और आप एक वेब फ्रंट में रुचि रखते हैं, जिस पर आप उजागर हुए हैं internal.example.com:8080। यह रिमोट आईपी: पोर्ट को स्थानीय स्तर पर उजागर किया जाएगा 127.0.0.1:18080


0

मैं सिर्फ वही जोड़ूंगा जो मेरे लिए काम करता है। बस firefox -no-remoteसामान्य त्रुटि के साथ असफल का उपयोग करना

Error: GDK_BACKEND does not match available displays

हालांकि, निम्नलिखित काम किया:

ssh -Y user@host
firefox -no-remote

-Yविकल्प भरोसेमंद X11 अग्रेषण सक्षम बनाता है। विश्वसनीय X11 अग्रेषण X11 सुरक्षा विस्तार नियंत्रण के अधीन नहीं हैं। आप संपीड़न को सक्षम करने के -Cलिए sshकमांड में विकल्प जोड़ने पर भी विचार कर सकते हैं ।

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