दूसरे प्रदर्शन के रूप में आप एंड्रॉइड टैबलेट का उपयोग कैसे करते हैं?


63

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

आप उबंटू पर इस सेटअप को फिर से कैसे बना सकते हैं?


2
इसी तरह का प्रश्न वर्तमान में मंचों पर चर्चा के अधीन है: एक दूसरे मॉनिटर के रूप में VNC का उपयोग करें
21ndrük


1
ठीक है, यहाँ प्रस्तुत समाधान नेटवर्क वाले हैं। लेकिन वहाँ तो बस USB के माध्यम से एक मॉनिटर faking द्वारा इस लक्ष्य को हासिल करने के लिए, एक मॉनिटर की तरह के रूप में ही अनुभव प्राप्त करने के लिए किसी भी मौका है युगल करता है?
अगस्टिन रिडिंगर जिंस

इसलिए डुएट सॉफ्टवेयर में एक DisplayLink चिप का अनुकरण (अनिवार्य रूप से) हो सकता है - मुझे नहीं पता लेकिन यह मेरा अनुमान है। मैं भी कोशिश नहीं करेंगे। क्या मैं कोशिश करूँगा (और यह कठिन नहीं है) USB नेटवर्किंग है: अपने टैबलेट और नेटवर्क को दूर करना (या उलटना)।
चक्स

जवाबों:


28

Android के लिए VNC क्लाइंट प्राप्त करें, अपने कंप्यूटर पर एक नया VNC सर्वर सत्र शुरू करें (बस वर्तमान प्रदर्शन साझा न करें - vnc4server का उपयोग न करें x11vnc), इसे Android VNC क्लाइंट से कनेक्ट करें, और (चतुर बिट): शेयर करें तालमेल का उपयोग करते हुए दो सत्रों के बीच पीसी कीबोर्ड और माउस।

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

आप इस पद्धति का उपयोग करके खिड़कियों को डिस्प्ले में नहीं खींच पाएंगे। इसके लिए मुझे लगता है कि आपको दो सत्रों को बांड करने के लिए XDMx का उपयोग करने की आवश्यकता होगी। यह बहुत कठिन है और शायद आपको 3 डी त्वरण खोने का कारण होगा।

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


9
कृपया एक उदाहरण जोड़ सकते हैं
rkmax

18
यह एक कदम से कदम उदाहरण के लिए उपयोगी होगा जिसे हम अनुसरण कर सकते हैं
ओगनएम २२'१४

2
यह टैबलेट को दूसरी स्क्रीन कैसे बनाएगा - जैसे कि अधिक स्क्रीन स्पेस में?
NoBugs

मुझे vncserver और Gnome से परेशानी थी। 3. हर बार जब मैंने vncserver को लॉन्च करने की कोशिश की तो स्क्रीन काली हो जाएगी। मैंने कसावट (उबंटू रिपॉज में भी) का उपयोग करके समाप्त किया और यह बिना किसी कॉन्फ़िगरेशन के पहले प्रयास में काम किया।
थर्डेंडर

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

17

tl; डॉ: xrandr --fbऔर x11vnc --clipसाथ में एक हत्यारा कॉम्बो बनाते हैं।

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

  1. पहले, मान लें कि प्राथमिक मशीन में 1280x800 का स्क्रीन रिज़ॉल्यूशन होता है और माध्यमिक मशीन जिसे आप अपने डेस्कटॉप पर विस्तारित करना चाहते हैं, उस पर VNC का 1280x1024 का स्क्रीन रिज़ॉल्यूशन है और आप चाहते हैं कि विस्तारित स्क्रीन आपके प्राथमिक स्क्रीन के दाईं ओर हो। वर्चुअल स्क्रीन होना आवश्यक है 1280x800 + 1280x1024 = 2560x1024। (इसे क्षैतिज रूप से विस्तारित करें और ऊर्ध्वाधर रिज़ॉल्यूशन को दो में से बड़ा करें) इसलिए चलाएं xrandr --fb 2560x1024

  2. अब, कि स्क्रीन आपके प्राथमिक मॉनिटर से बड़ी है, आपको यह सुनिश्चित करना होगा कि कोई पैनिंग या कोई अन्य अवांछित "फीचर" सक्रिय नहीं है और यह भी कि आपके प्राथमिक मॉनिटर के ऊपरी बाएं कोने के निर्देशांक 0x0 हैं।

  3. x11vnc -clip 1280x1024+1281+0 प्लस स्वाद के लिए किसी भी अन्य x11vnc विकल्प जोड़ें :)

यह होना चाहिए।


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

2
हार जीत के जबड़े से छीन ली गई। माउस पॉइंटर को प्राथमिक स्क्रीन छोड़ने की अनुमति नहीं है। :(
ग्रिंगो सुवे

1
दिलचस्प लगता है। मैं वास्तव में वहां एक डबल स्क्रीन का प्रबंधन करता हूं, लेकिन दुर्भाग्य से, कमांड xrandr --fb 2560x1024का कोई प्रभाव नहीं लगता है। जिसका अर्थ है कि मेरे पास मेरे प्राथमिक मॉनिटर आकार से बड़ी स्क्रीन नहीं हो सकती ... :(
अगस्टिन रीडिंगर

1
मैंने इसके बारे में आगे पढ़ा । एक X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30 त्रुटि हुई। मेरा अनुमान है कि मेरा लैपटॉप देशी की तुलना में उच्च रिज़ॉल्यूशन का समर्थन नहीं करता है 1600*900। मतलब यह समाधान काम नहीं कर सकता। मुझे इसके बजाय एक डबल स्क्रीन समाधान खोजना होगा।
अगस्तिन रीडिंगर

3
मैं अंत में बना यह करने के लिए धन्यवाद काम इस पोस्ट : चलाकर sudo xrandr --fb 2732x768 --output LVDS1 --panning 2732x768+0+0/2732x768+0+0(मैं याद आ रही थी --panningविकल्प)
ऑगस्टिन Riedinger

16

अन्य उत्तर काम करते हैं, को छोड़कर नहीं बनाया जा सका यह है, जो दोषरहित जुड़ा हुआ है।

यह एंड्रॉइड को दूसरे मॉनिटर के रूप में उपयोग करने, माउस को साझा करने, टैबलेट और कंप्यूटर के बीच खिड़कियों को खींचने की अनुमति देता है।

यहां टिप्पणियों द्वारा अनुरोधित एक चरण-दर-चरण ट्यूटोरियल है।

ए ट्यूटोरियल

1. एक नया आभासी मॉनिटर बनाएँ

मेरे टैबलेट का रिज़ॉल्यूशन 1280x1024 है। (आप बदल सकते हैं 1280और 1024आदेशों में हर जगह यदि आपके टैबलेट विभिन्न संकल्प में है। तुम भी बदलना पड़ सकता है LVDS1यदि डिफ़ॉल्ट पर नजर रखने के नाम अलग है)।

टर्मिनल में चलाएं:

  1. $ gtf 1280 1024 60

के समान आउटपुट में एक पंक्ति है Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync। शब्द के बाद सब कुछ कॉपी करें Modeline(इसे बाहर करें) अगले कमांड में।

  1. xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

  2. xrandr --addmode VIRTUAL1 1280x1024_60.00

  3. xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1

2. VNC प्रारंभ करें

  1. x11vnc -clip 1280x1024+0+0

3. Android (LAN (वाई-फाई) या USB (केबल)) के साथ कनेक्ट

  1. ifconfig(LAN से कनेक्ट करते समय) अपने कंप्यूटर के IP का उपयोग करें ।

  2. ऐप में अपने आईपी (और पोर्ट का चयन 5900) का उपयोग करके एक वीएनसी ऐप डाउनलोड करें और कंप्यूटर से कनेक्ट करें ।

सूचनाएं

  • क्रेडिट: kjans , संपादित सामग्री।
  • चेतावनी : डेटा अनएन्क्रिप्टेड है! (वाई-फाई और नॉट-लैन उपयोग के लिए प्रासंगिक)
  • चेतावनी : आपके द्वारा कनेक्ट किया गया कोई भी नेटवर्क जो पोर्ट 5900 तक पहुंच सकता है, आपके मॉनीटर से जुड़ सकता है! (नहीं एक समस्या यूएसबी का उपयोग कर और जोड़ने इंटरफेस सीमित करता है, तो -listen <IP_ADDR>करने के लिए विकल्प x11vnc(जहां <IP_ADDR>है नेटवर्क आप अनन्य पहुँच प्रदान करना चाहते में कंप्यूटर के पते))
  • 1 - 4 चरणों में से किसी एक को चलाने से दो बार त्रुटियां हो सकती हैं।
  • सफल उपयोग के बाद, दूसरे कनेक्शन के लिए 5. चरण दोहराया जाना चाहिए।

B. स्क्रिप्ट

एक स्क्रिप्ट के रूप में लागू किया गया ट्यूटोरियल (यूएसबी केबल के साथ उपयोग के लिए आईपी बदलें या इसे हटा दें और वाई-फाई के साथ उपयोग करने के लिए लाइन को अनइंस्टॉल करें)।

#!/bin/bash
W=1280
H=800
O=VIRTUAL1
if [ "$1" == "create" ]; then
    gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode
    # sed: get third line, delete 'Modeline', get first word, remove first and last characters
    gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --addmode $O
    gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --output $O --left-of LVDS1 --mode
elif [ "$1" == "on" ]; then
    x11vnc -listen 192.168.42.149 -clip ${W}x${H}+0+0
    # For use in Wi-Fi LAN.
    #x11vnc -clip ${W}x${H}+0+0 #**WARNING** Unencrypted stream. VNC accessible without password through port 5900 in all internet interfaces.
else
    echo "missing argument: [create | on]"
fi

@Prometheus, के x11vnc -clip 1280x1024+0+0साथ प्रतिस्थापित किया जा सकता है x11vnc -clip xinerama1। इसके अलावा, --left-of LVDS1यदि आप बाद में Monitorsजहाँ भी चाहें अतिरिक्त मॉनिटर की स्थिति निर्धारित करने के लिए सेटिंग ऐप का उपयोग करने जा रहे हैं, तो यह कड़ाई से आवश्यक नहीं है ।
लियो रॉकैल

6
xrandr: cannot find output "VIRTUAL1"जब मैं नंबर 3 में टाइप कर रहा था तो लौटा था। कोई विचार?
डेट टुट्रबस 12

3
xrandr: cannot find output "VIRTUAL1"से लौटेxrandr --addmode VIRTUAL1 1280x800_60.00
Tooniis

यह काम करता है, सिवाय इसके कि आपके पास काम करने के लिए लक्षित वीडियो मोड में अप्रयुक्त आउटपुट होना चाहिए। VIRTUAL1इस तरह के आउटपुट के लिए एक प्लेसहोल्डर लगता है, न कि एक विशिष्ट प्रणाली में मौजूद कुछ।
रुस्लान

1
@cprn हाँ, आप माउस कर्सर को साझा कर सकते हैं और विंडोज़ को खींच सकते हैं। यह ऐसा है जैसे कि आपके पास एक दूसरा मॉनिटर जुड़ा हुआ है
एलिजास

13
  1. स्थापित करें vnc4serverऔर x2x
  2. फिर, एक .vnc/xstartupकॉन्फिग फ़ाइल सेट करें । मेरा ऐसा दिखता है

    #!/bin/sh
    # Uncomment the following two lines for normal desktop:
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    # exec /etc/X11/xinit/xinitrc
    
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    #vncconfig -iconic &
    #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    #x-window-manager &
    exec gnome-session
    

    यह गनोम-फ़ॉलबैक डेस्कटॉप लॉन्च करता है (मुझे नहीं पता है कि vnc में गनोम 3 लॉन्च कैसे किया जाए)।

  3. Vnc सर्वर लॉन्च करने के लिए, vnc4server -geometry 800x480कमांड का उपयोग करें । बेशक, 800x480 के बजाय आपको अपने टैबलेट का रिज़ॉल्यूशन सेट करना होगा।
  4. लॉन्च करें x2x -east -to :1। वह आदेश कहता है कि आपका कंप्यूटर प्रदर्शन के रूप में कार्य करता है: 1 स्क्रीन के दाईं ओर था (उपयोग -westविकल्प यदि आप इसे बाईं ओर रखना चाहते हैं)। आप ऐप्स को एक डिस्प्ले से दूसरे में स्थानांतरित नहीं कर पाएंगे, लेकिन आप उन दोनों को नियंत्रित करने के लिए एक माउस और एक कीबोर्ड का उपयोग कर सकते हैं।
  5. vnc4serverअपने टेबलेट से बनाए गए डिस्प्ले से कनेक्ट करें (पोर्ट नंबर 5900 + डिस्प्ले नंबर है (उदाहरण के लिए: 1 पोर्ट नंबर 5901 होगा) (डिस्प्ले नंबर vnc4server's आउटपुट में दिखाया गया है ')।
  6. से बाहर निकलने के लिए x2x, दबाएँ Ctrl-C। वैकल्पिक रूप से, आप इसे पृष्ठभूमि में लॉन्च कर सकते हैं ( x2x -east -to :1 &)। फिर आपको पहले इसे अग्रभूमि ( fg) में स्थानांतरित करने की आवश्यकता होगी , या इसे मारना होगा kill $!(सतर्क रहें, यह पृष्ठभूमि में लॉन्च की गई अंतिम प्रक्रिया को मारता है)।
  7. बनाई गई डिस्प्ले को हटाने के लिए, कॉल करें vnc4server -kill :1, जहाँ :1आप के बजाय अपने नए डिस्प्ले का नंबर सेट कर सकते हैं।

1
X2x के लिए धन्यवाद ... पूरे इंटरनेट पर कोई और इसका उल्लेख क्यों नहीं करता है ??? मुझे बड़ा समय बचाया। सिनर्जी को आपके टेबलेट पर साइनोजेनमॉड या समान की आवश्यकता होती है। साथ ही इसका कोई उल्लेख नहीं करता है।
स्टेफानोस कलंतज़िस

1
मुझे पहले से ही पता है x2x, इस पोस्ट को google पर x2x android के लिए खोज कर खोजें ... लेकिन +1 के लिए .vnc/xstartup, विशिष्ट रूप से unset DBUS_SESSION_BUS_ADDRESS!! छोटे लेकिन समृद्ध और बहुत उपयोगी पोस्ट, धन्यवाद!
एफ। हौरी

7

यह xdmx (वितरित मल्टीहेड एक्स) का उपयोग करके सिद्धांत रूप में संभव है जो आपको अलग-अलग मशीनों पर चलने वाले दो एक्स-सर्वरों का उपयोग करके एकल डेस्कटॉप बनाने की अनुमति देता है।

तीन परिदृश्य सिद्धांत रूप में संभव हैं, लेकिन कोई भी iDisplay की तरह सहज नहीं है, क्योंकि उन्हें कम से कम आपके X- सत्र को पुनरारंभ करने की आवश्यकता होती है। मैं पूरी तरह से काम करने में सक्षम नहीं हुआ हूं, लेकिन मैं उबंटू 10.10 चला रहा हूं और विभिन्न कारणों से अपग्रेड नहीं कर सकता। तीन हैं:

1: एंड्रॉइड पर एक एक्स-सर्वर चलाएं (ऐप स्टोर में अब दो उपलब्ध हैं) और अपने डेस्कटॉप या लैपटॉप डिस्प्ले के साथ संयोजन के लिए एक्सडीएमएक्स का उपयोग करें। - मेरे लिए काम नहीं किया क्योंकि xdmx तब क्रैश हो गया जब पॉइंटर डेस्कटॉप के टेबलेट हिस्से में चला गया।

2: अपने कंप्यूटर पर vnc बैकएंड के साथ एक दूसरा एक्स-सर्वर चलाएं, जिसे अपने कंप्यूटर स्क्रीन के साथ एक डेस्कटॉप में संयोजित करने के लिए xdmx का उपयोग करें, फिर टैबलेट पर vnc व्यूअर के साथ आभासी भाग देखें - मेरे लिए काम नहीं किया क्योंकि xdmx सभी एक्स-सर्वरों को एक ही रंग के दृश्यों की आवश्यकता होती है, जो कि vncserver और वास्तविक प्रदर्शन के लिए मामला नहीं है, और मैं vncserver को बदलने के लिए मनाने में सक्षम नहीं था।

3: दो vncservers चलाएं, प्रत्येक स्क्रीन के लिए एक, फिर उन्हें xdmx से कनेक्ट करें और प्रत्येक भाग को संबंधित मशीन पर vncviewer के साथ देखें। - यह मेरे लिए काम करने के करीब आया, दुर्भाग्य से अशुभ था। यह भी वाईफ़ाई पर असली रंग में काफी धीमी थी। मैंने xdmx और vncs को शुरू करने के लिए इस स्क्रिप्ट का उपयोग किया:

#!/bin/sh 
vncserver :2 -geometry 1024x768 -depth 24 && \
vncserver :3 -geometry 1920x1120 -depth 24 && \
startx -- \
/usr/bin/X11/Xdmx :1 \
-input :2 \
-display :2 \
-display :3 \
-ignorebadfontpaths \
-norender \
-noglxproxy \
+xinerama \
-nomulticursor
vncserver -kill :2 
vncserver -kill :3

YMMV


3

मैंने टैबलेट को दूसरी डिस्प्ले बनाने के लिए एक साधारण बैश स्क्रिप्ट बनाई। ipad_monitor.shमेरे ब्लॉग पोस्ट में कॉपी (चिंता न करें। यह एंड्रॉइड के साथ भी काम करता है) ।

अन्य पोस्ट से भिन्न यह है कि आप अतिरिक्त तर्क के साथ दूसरी स्क्रीन की स्थिति को बहुत आसानी से सेट कर सकते हैं।

संपादित करें: मैंने ipad_monitor.shयहां मूल को शामिल किया है। इस कमांड को चलाएं जैसे:

  • ./ipad_monitor.sh --right या ./ipad_monitor.sh --left
  • ./ipad_monitor.sh --right --portrait
  • ./ipad_monitor.sh --right --portrait --hidpi

इस स्क्रिप्ट का मूल विचार दूसरों के समान है, चल रहा है xrandrऔर x11vncलेकिन मैंने विकल्प शामिल किए हैं कि आप स्क्रीन को किस तरफ जोड़ना चाहते हैं।

#!/bin/sh
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <k.bumsik@gmail.com> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. - Bumsik Kim
# ----------------------------------------------------------------------------

# Configuration
WIDTH=1024  # 1368 for iPad Pro
HEIGHT=768  # 1024 for iPad Pro
MODE_NAME="mode_ipad"       # Set whatever name you like, you may need to change
                            # this when you change resolution, or just reboot.
DIS_NAME="VIRTUAL1"         # Don't change it unless you know what it is
RANDR_POS="--right-of"      # Default position setting for xrandr command

# Parse arguments
while [ "$#" -gt 0 ]; do
  case $1 in
    -l|--left)      RANDR_POS="--left-of"  ;;
    -r|--right)     RANDR_POS="--right-of" ;;
    -a|--above)     RANDR_POS="--above"    ;;
    -b|--below)     RANDR_POS="--below"    ;;
    -p|--portrait)  TMP=$WIDTH; WIDTH=$HEIGHT; HEIGHT=$TMP
                    MODE_NAME="$MODE_NAME""_port"  ;;
    -h|--hidpi)     WIDTH=$(($WIDTH * 2)); HEIGHT=$(($HEIGHT * 2))
                    MODE_NAME="$MODE_NAME""_hidpi" ;;
    *) echo "'$1' cannot be a monitor position"; exit 1 ;;
  esac
  shift
done

# Detect primary display
PRIMARY_DISPLAY=$(xrandr | perl -ne 'print "$1" if /(\w*)\s*connected\s*primary/')

# Add display mode
RANDR_MODE=$(cvt "$WIDTH" "$HEIGHT" 60 | sed '2s/^.*Modeline\s*\".*\"//;2q;d')
xrandr --addmode $DIS_NAME $MODE_NAME 2>/dev/null
# If the mode doesn't exist then make mode and retry
if ! [ $? -eq 0 ]; then
  xrandr --newmode $MODE_NAME $RANDR_MODE
  xrandr --addmode $DIS_NAME $MODE_NAME
fi

# Show display first
xrandr --output $DIS_NAME --mode $MODE_NAME
# Then move display
sleep 5 # A short delay is needed. Otherwise sometimes the below command is ignored.
xrandr --output $DIS_NAME $RANDR_POS $PRIMARY_DISPLAY

# Cleanup before exit
function finish {
  xrandr --output $DIS_NAME --off 
  xrandr --delmode $DIS_NAME $MODE_NAME
  echo "Second monitor disabled."
}

trap finish EXIT

# Get the display's position
CLIP_POS=$(xrandr | perl -ne 'print "$1" if /'$DIS_NAME'\s*connected\s*(\d*x\d*\+\d*\+\d*)/')
echo $CLIP_POS
# Share screen
x11vnc -multiptr -repeat -clip $CLIP_POS
# Possible alternative is x0vncserver but it does not show the mouse cursor.
#   x0vncserver -display :0 -geometry $DIS_NAME -overlaymode -passwordfile ~/.vnc/passwd
if ! [ $? -eq 0 ]; then
  echo x11vnc failed, did you \'apt-get install x11vnc\'?
fi

1
क्या आपके पास स्क्रिप्ट / ऐप या किसी वैकल्पिक लिंक का नाम है जिसे आप लिंक रोट से बचने में मदद करने के लिए पोस्ट कर सकते हैं? यहां हम आम तौर पर स्वयं को जितना संभव हो सके निहित होने का प्रयास करते हैं ताकि अन्य साइटों पर निर्भर न रहें, खासकर अगर उन साइटों में जानकारी का एक बड़ा हिस्सा होता है जो एक उत्तर के लिए प्रासंगिक होगा जहां उस जानकारी को वास्तव में उत्तर में नहीं डाला जाता है। ।
sbergeron

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - समीक्षा से
अनाम 2

2
@sbergeron मैं देख रहा हूँ। मैं यहां मूल कोड शामिल करता हूं।
बुमसिक किम

1
@ अनाम 2 आप सही कह रहे हैं। मैंने यहां बैश कोड शामिल किया है।
बुमसिक किम

आह, बहुत बेहतर। मुझे लगता है कि यह इस तरह से घूमने में सक्षम होना चाहिए।
अनाम 2

2

मैं xorg डमी ड्राइवर और x11vnc -clip का उपयोग करता हूं। माउस बिंदु किनारे पर अटक नहीं है।

sudo apt-get install xserver-xorg-video-dummy

/etc/X11/xorg.confदूसरी स्क्रीन पर डमी ड्राइवर के लिए है:

अनुभाग "डिवाइस"
        पहचानकर्ता "कॉन्फ़िगर वीडियो डिवाइस"
    चालक "रैडॉन" # इस श्रेणी
EndSection

अनुभाग "मॉनिटर"
        पहचानकर्ता "कॉन्फ़िगर मॉनिटर"
EndSection

अनुभाग "स्क्रीन"
        पहचानकर्ता "डिफ़ॉल्ट स्क्रीन"
        मॉनिटर "कॉन्फ़िगर मॉनिटर"
        डिवाइस "कॉन्फ़िगर वीडियो डिवाइस"
EndSection


## Xdummy: ##
अनुभाग "डिवाइस"
  पहचानकर्ता "Videocard0"
  ड्राइवर "डमी"
  # विदेओरम 4096000
  वीडियोराम 256000
EndSection

## Xdummy: ##
अनुभाग "मॉनिटर"
  पहचानकर्ता "मॉनिटर0"
# हॉरिज़कॉन्स 10.0 - 300.0
# वर्टफ्रेश 10.0 - 200.0
# प्रदर्शन ४३३५ १० .४
EndSection

## Xdummy: ##
अनुभाग "स्क्रीन"
  पहचानकर्ता "स्क्रीन 0"
  डिवाइस "Videocard0"
  मॉनिटर "मॉनिटर 0"
EndSection



अनुभाग "ServerLayout"
  पहचानकर्ता "dummy_layout"
  स्क्रीन 0 "डिफ़ॉल्ट स्क्रीन"
  स्क्रीन 1 "स्क्रीन 0" राइटऑफ "डिफ़ॉल्ट स्क्रीन"
    विकल्प "झिनेरमा" "1"
EndSection

फिर एक्स सत्र में प्रवेश करें और चलाएं:

x11vnc -clip 1024x768+1280+0

बिना xorg.conf के ऐसा करने का कोई तरीका? अगर मैं अपने कंप्यूटर पर एक बनाता हूं तो मेरे ग्राफिक्स पूरी तरह से गड़बड़ हो जाते हैं।
daboross

क्या अब भी झिनेरमा समर्थित है? कैसे xrandr के बारे में?
ग्रिंगो सुवे

1

ये निर्देश एक VNC क्लाइंट के माध्यम से टैबलेट या किसी भी कंप्यूटर का उपयोग करके आपके लिनक्स मशीन के लिए "अतिरिक्त" स्क्रीन बनाने के लिए हैं।

मैंने Mageia3 32Bit (64 बिट की कोशिश नहीं की है) में ये कदम उठाए, लेकिन अन्य डिस्ट्रो के लिए भी समान होना चाहिए (यानी उबंटू)।

सुनिश्चित करें कि आपके पास निम्नलिखित टर्मिनल कमांड के साथ सभी आवश्यक पैकेज हैं:

sudo apt-get install gcc autoconf automake x11-font-util libtool libxi-devel ibopenssl-devel libxfont1-devel libpam-devel x11-util-macros x11-xtrans-devel x11-server-xvfb x11-server-xdmx x11-server-devel x11-server-source

एक बार जब आपके पास सभी उपरोक्त पैकेज होते हैं, तो इन आदेशों को जारी करें:

cd /usr/share/x11-server-sources/
./autogen.sh
./configure --with-fontrootdir=/usr/share/fonts --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/usr/share/X11/xkb/compiled --enable-dmx
make

यदि आपको कोई त्रुटि नहीं मिलती है, तो XDMx को पैच करें (सीधे शब्दों में कहें, यह कुछ समय के लिए "टूट गया"):

खोलें /usr/share/x11-server-sources/hw/dmx/input/dmxevents.c, और लाइन 730 बदलें: इसे बदलें:

POINTER_ABSOLUTE | POINTER_SCREEN, &mask);

इसके लिए:

POINTER_RELATIVE | POINTER_DESKTOP, &mask);

IF लाइन 730 इस लाइन का उपयोग सही लाइन खोजने के लिए करती है: Orginal section - लाइन को बदलने के लिए * के साथ चिह्नित

    case ButtonPress:
    case ButtonRelease:
        detail = dmxGetButtonMapping(dmxLocal, detail);
        valuator_mask_zero(&mask);
        QueuePointerEvents(p, type, detail,
 *                         POINTER_RELATIVE | POINTER_DESKTOP, &mask);
        return;

चलाकर Xdmx के अपने संस्करण की जाँच करें ./configure --versionमें /usr/share/x11-server-source/के लिए, Xdmx 1.13 और पुराने आप भी इन परिवर्तन करने की आवश्यकता (1.14 के लिए और नए आप "बनाने" कदम नीचे करने के लिए छोड़ सकते हैं):

खुली /usr/share/x11-server-sources/dix/getevents.c, पंक्ति 1395: इसे बदलें:

if (flags & POINTER_SCREEN ) {    /* valuators are in screen coords */

इसके लिए:

if (flags & ( POINTER_SCREEN | POINTER_DESKTOP) ) {    /* valuators are in screen coords */

(मूल खंड - * के साथ चिह्नित बदलने के लिए लाइन)

    /* valuators are in driver-native format (rel or abs) */

    if (flags & POINTER_ABSOLUTE) {
*       if (flags & POINTER_SCREEN ) {    /* valuators are in screen coords */
            sx = valuator_mask_get(&mask, 0);
            sy = valuator_mask_get(&mask, 1);

खुली /usr/share/x11-server-sources/Xext/xtest.c, पंक्ति 311: इसे बदलें:

flags = POINTER_ABSOLUTE | POINTER_SCREEN;

इसके लिए:

flags = POINTER_ABSOLUTE | POINTER_DESKTOP;

(मूल अनुभाग - * के साथ चिह्नित बदलने के लिए लाइन)

       case MotionNotify:
            dev = PickPointer(client);
            valuators[0] = ev->u.keyButtonPointer.rootX;
            valuators[1] = ev->u.keyButtonPointer.rootY;
            numValuators = 2;
            firstValuator = 0;
            if (ev->u.u.detail == xFalse)
*               flags = POINTER_ABSOLUTE | POINTER_DESKTOP;
            break;

/usr/share/x11-server-sources/include/input.h, लाइन 73: लाइन के साथ शुरू होने के बाद इस लाइन को जोड़ें #define POINTER_EMULATED:

#define POINTER_DESKTOP         (1 << 7)

उपरोक्त बदलाव करने के बाद, फिर से निष्पादित (में /usr/share/x11-server-sources/):

make

आपके पास एक नया XDMx फ़ाइल होना चाहिए /usr/share/x11-server-sources/hw/dmx/। हमें उस विश्व स्तर पर आसानी से स्थापित करने की आवश्यकता है, इसलिए मैं आपके मौजूदा नाम को बदलने की सलाह देता हूं:

sudo mv /bin/Xdmx /bin/Xdmx-old

और इसके स्थान पर नया कॉपी करें:

cp /usr/share/x11-server-sources/hw/dmx/Xdmx /bin

अब आप अपना पहला परीक्षण करने के लिए तैयार हैं, निम्नलिखित कमांड आपको अपने मुख्य / मौजूदा प्रदर्शन ( :0) को चालू रखने और मल्टी-मॉनिटर समर्थन के साथ एक नया प्रदर्शन खोलने की अनुमति देते हैं । मैं इन आदेशों के साथ icewm का उपयोग कर रहा हूं ताकि इसे थोड़ा और हल्का बनाया जा सके (मैं अपने मुख्य प्रदर्शन पर केडीई का उपयोग करता हूं :0और नए मल्टी-हेड डिस्प्ले में किसी भी बड़े-मल्टी-मॉनिटर एप्लिकेशन को खोलता हूं )। आप निश्चित रूप से उपयोग की आसानी के लिए इन आदेशों को स्क्रिप्ट कर सकते हैं (यह मैंने क्या किया है) - इनमें से किसी भी आदेश को किसी भी डिस्प्ले के कंसोल और / या टर्मिनल विंडो पर निष्पादित किया जा सकता है, केवल आवश्यकता यह है कि उन्हें क्रम में निष्पादित किया जाए।

यह कमांड आपके नए डिस्प्ले को आपके VNC डिस्प्ले के लिए फ्रेम बफर के रूप में बनाता है :2(स्क्रीन का आकार वांछित के रूप में समायोजित करें):

Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &

यह प्रदर्शन के रूप में आपके भौतिक प्रदर्शन पर एक नया हल्का X सत्र शुरू करता है :1(ऐसा करने के विभिन्न तरीके हैं):

startx 'icewm' -- :1

यह कमांड आपकी भौतिक स्क्रीन और वर्चुअल स्क्रीन के बीच मल्टी-डिस्प्ले को शुरू करता है और विंडो मैनेजर के लिए icewm शुरू करता है:

Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm

अब एक टर्मिनल विंडो खोलें और vnc सर्वर शुरू करें (इच्छानुसार पासवर्ड बदलें):

x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe &

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

अपने मुख्य मॉनीटर और अपने नए वर्चुअल सेकंड मॉनीटर के बीच खिड़कियों को खींचने का आनंद लें (जबकि दूसरे मॉनीटर में चीजों पर क्लिक करने / टाइप करने के लिए टैबलेट का उपयोग करने में सक्षम होने के कारण)।

Xdmx प्रेस बंद करने के लिए Ctrl+ Alt+ Backspaceदो बार।

स्वचालन:

मैं इस बैश स्क्रिप्ट का उपयोग पूरी प्रक्रिया को शुरू करने के लिए करता हूं (एक्सवेफ़ब को बाहर निकलने पर भी मारता है):

Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &
xinit dual -- :1
ps | grep Xvfb | awk '{print $1}' | xargs kill

फिर मेरे पास इसके ~/.xinitrcसाथ एक कस्टम फ़ाइल है:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [[ $1 == "" ]]
then
  exec startkde 
elif [[ $1 == "xterm" ]]
then
  exec xterm
elif [[ $1 == "dual" ]]
then
  exec Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm & x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe
else
  exec $1
fi

समस्या निवारण:

  • XDMx चलाते समय यदि आपको कोई त्रुटि मिलती है , तो आपको sh: /usr/local/bin/xkbcomp: No such file or directoryनिष्पादित करने की आवश्यकता हो सकती है: cd /usr/local/bin" and "ln -s /bin/xkbcompफिर से XDMx आज़माएं।

  • Ctrl+ Alt+ के F1माध्यम F7से XDMx में काम करने के लिए माना जाता है कि अन्य कंसोल / xsession पर स्विच करें लेकिन किसी कारण से यह काम नहीं करता है, जो मैं करता हूं वह बस sudo chvt Xमेरे मुख्य प्रदर्शन पर स्विच करने के लिए निष्पादित होता है (जहां एक्स एक कंसोल / xsession संख्या है)। जब आप एक्सडीएमएक्स पर वापस जाते हैं, तो आपको किसी भी खुली खिड़कियों पर कुछ ड्राइंग मुद्दे मिल सकते हैं, मैं बस फिर से एक redraw मजबूर खिड़की को छिपाने / दिखाने के लिए टास्कबार पर क्लिक करता हूं।


0

ट्यूटोरियल दोस्तों के लिए धन्यवाद, मैं साझा करूंगा कि मेरे लिए Ubuntu 14.04 पर क्या काम हुआ

अपने टेबलेट के लिए यहां AndroidVNC प्राप्त करें

चलकर अपने Ubuntu पीसी के लिए x11vnc प्राप्त करें

sudo apt-get install x11vnc

मुझे Xorg डमी ड्राइवर विधि का उपयोग करना था। यहाँ मेरा /etc/X11/xorg.conf फ़ाइल जैसा दिखता है:

Section "ServerLayout"
Identifier     "X.org Configured"
Screen      0  "Screen0" 0 0
**Screen        1  "Screen1" rightof "Screen0"**
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0" "CoreKeyboard"
**Option         "Xinerama" "1"**
EndSection

Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath     "/usr/share/fonts/X11/misc"
FontPath     "/usr/share/fonts/X11/cyrillic"
FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/Type1"
FontPath     "/usr/share/fonts/X11/100dpi"
FontPath     "/usr/share/fonts/X11/75dpi"
FontPath     "built-ins"
EndSection

Section "Module"
Load  "glx"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option      "Protocol" "auto"
Option      "Device" "/dev/input/mice"
Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier   "Monitor0"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
DisplaySize 1680 1050
EndSection

**Section "Monitor"
Identifier "Monitor1"
VendorName "Dummy"
ModelName "Dummy"
DisplaySize 2704 1050
EndSection**

Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
    ### <percent>: "<f>%"
    ### [arg]: arg optional
    #Option     "NoAccel"               # [<bool>]
    #Option     "SWcursor"              # [<bool>]
    #Option     "EnablePageFlip"        # [<bool>]
    #Option     "ColorTiling"           # [<bool>]
    #Option     "ColorTiling2D"         # [<bool>]
    #Option     "RenderAccel"           # [<bool>]
    #Option     "SubPixelOrder"         # [<str>]
    #Option     "AccelMethod"           # <str>
    #Option     "EXAVSync"              # [<bool>]
    #Option     "EXAPixmaps"            # [<bool>]
    #Option     "ZaphodHeads"           # <str>
    #Option     "EnablePageFlip"        # [<bool>]
    #Option     "SwapbuffersWait"       # [<bool>]
Identifier  "Card0"
Driver      "radeon"
BusID       "PCI:1:0:0"
EndSection

**Section "Device"
  Identifier "Dummy"
  Driver "dummy"
EndSection**

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
SubSection "Display"
    Viewport   0 0
    Depth     1
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     4
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     8
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     15
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     16
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     24
EndSubSection
EndSection

**Section "Screen"
Identifier "Screen1"
Device "Dummy"
Monitor "Monitor1
EndSection**

आप शायद वहाँ सब कुछ की जरूरत नहीं है, बस अपने सिस्टम autoconfig पाने के लिए X -configure चलाते हैं और अपनी फाइल में डमी सेक्शन (तारांकन के बीच का सामान) जोड़ते हैं। Xorg.conf में डमी स्क्रीन के लिए रिज़ॉल्यूशन आपकी मुख्य मॉनिटर चौड़ाई + आपका टैबलेट रिज़ॉल्यूशन चौड़ाई होना चाहिए, मेरे मामले में 1680 + 1024 = 2704 अपना मुख्य मॉनिटर ऊंचाई, 1050 मेरे मामले में रखें। Restart X सर्वर / रिबूट / पुलिंग प्लग, जो भी आप अधिक सूट :)।

X11vnc चलाकर करें

x11vnc -rfbauth ~/.vnc/passwd -clip 1024x550+1680+0

यहां रिज़ॉल्यूशन आपके टेबलेट की चौड़ाई x टैबलेट की ऊंचाई + मुख्य प्रदर्शन चौड़ाई + 0 होना चाहिए

AndroidVNC क्लाइंट का उपयोग करके अपने पीसी से कनेक्ट करें, स्थानीयकरण विकल्प को सक्षम करना सुनिश्चित करें। यह होना चाहिए, अब Android पर लिनक्स चलाने की अजीब महसूस करते हैं :)


0

मेरे पास यहां सूचीबद्ध अन्य तकनीकों के साथ बहुत सारे मुद्दे थे। काश मेरे पास एक बेहतर समाधान होता, लेकिन मेरा धीमा और सरल समाधान एक अच्छी शुरुआत है।

वीएनसी सर्वर के लिए, मैंने vncserverपैकेज की कोशिश की, लेकिन स्क्रीन काली हो जाएगी और मुझे gdmफिर से काम करने के लिए कुछ भी प्राप्त करना होगा। मैंने स्विच किया tightvncserverऔर पहली बार बिना कॉन्फ़िगरेशन के काम किया।

स्क्रीन के बीच माउस / कीबोर्ड साझा करने के लिए मैंने x2vnc का उपयोग किया । यह आपके लिनक्स पीसी के बगल में विंडोज पीसी के साथ माउस / कीबोर्ड साझा करने के लिए win2vnc के साथ भी इस्तेमाल किया जा सकता है ।

अंतिम आदेश:

sudo apt-get install tightvncserver
tightvncserver
sudo apt-get install x2vnc
x2vnc -east localhost:1

इस बिंदु पर आपको कनेक्ट करके VNC प्रोग्राम में दूसरी स्क्रीन खोलने में सक्षम होना चाहिए YOUR_IP_ADDRESS:1। VNC स्क्रीन पर प्रोग्राम शुरू करने के लिए, टर्मिनल खोलें, सेट करें DISPLAY, और फिर कमांड चलाएँ। उदाहरण के लिए, xtermVNC "स्क्रीन" पर खोलने के लिए , चलाएँ:

export DISPLAY=:1
xterm

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


0

अभी भी इस विषय पर किसी को भी आश्चर्य नहीं है: xrandr और x11vnc क्लिप काम करता है; माउस को वहां ले जाने में सक्षम करने के लिए आपको माउस ट्रैकिंग क्षेत्र सेट करने के लिए पैनिंग तर्क का उपयोग करने की आवश्यकता है:

xrandr --fb 2560x1024 --output LVDS1 --panning 1280x1024+0+0/2560x1024+0+0

तब जब xvnc का उपयोग चल रहा हो:

x11vnc -clip 1280x1024+1281+0 -nocursorshape -nocursorpos

यह वीएनसी को अपने स्वयं के कर्सर ट्रैकिंग का उपयोग करने के प्रयास से रोकता है और स्क्रीन की छवि के हिस्से के रूप में कर्सर को पेंट करता है।

मैं यहाँ नोट्स बना http://mikescodeoddities.blogspot.ae/2015/04/android-tablet-as-second-ubuntu-screen.html


0

टीएल; डीआर :

    $ sudo apt-get install x11vnc
    $ WINDOW_ID=$(xwininfo | awk '/Window.id/{print $4}') && x11vnc -viewonly -nopw -avahi -id $WINDOW_ID >/dev/null 2>&1 &

अब, उस विंडो पर क्लिक करें जिसे आप साझा करना चाहते हैं।


पूर्ण :

मैं एक iPad और Chromebook है, और मैं उन्हें, मेरे पर नज़र रखता है के रूप में उपयोग सिर्फ कुछ टर्मिनल आदेशों यूएसओ के लिए चाहते हैं htop, iptstate, nmon, आदि। तो, मैं आलसी आदमी हूं और इसका उपयोग कर रहा हूं:

  1. पैकेज वृत्ति: sudo apt-get install x11vnc
  2. कुछ टर्मिनल खोलें और xwininfo | awk '/Window.id/{print $4}'उस विंडो पर क्लिक करें जिसे आप साझा करना चाहते हैं। आउटपुट कुछ इस तरह होगा:

    $ xwininfo | awk '/Window.id/{print $4}'
    0x4402f34
    
  3. अब आप अपना x11vncसत्र शुरू कर सकते हैं :

    $ x11vnc -viewonly -nopw -avahi -id 0x4402f34 >/dev/null 2>&1 &
    
  4. संभव के रूप में सबसे अच्छी छवि के लिए विंडो (0x4402f34) का आकार बदलें।

ध्यान रहे जुड़े बंदरगाह अपने का सत्र : 5900 -> :0, 5901 -:1, 5902 -> :2...

इसके अलावा, X11 ऐप्स के साथ ठीक काम करता है: फ़ायरफ़ॉक्स, ओपनऑफ़िस, आदि।


0

Vnc_virtual_display_linker का उपयोग करें

उपकरण VNC से जुड़ने के लिए दूसरा वर्चुअल मॉनिटर सेट करता है जैसा कि पिछले उत्तरों में से कई में वर्णित है। यह भी USB केबल का उपयोग करके Android उपकरणों से कनेक्शन का समर्थन करता है।

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