कमांडलाइन से दूरस्थ VNC सक्षम करें?


66

मेरे पास एक कंप्यूटर है जो Ubuntu 10.04 चल रहा है, और Vino , डिफ़ॉल्ट VNC सर्वर चला रहा है।

मेरे पास एक दूसरा विंडोज बॉक्स है जो VNC क्लाइंट चला रहा है, लेकिन इसमें X11 क्षमताएं नहीं हैं। मैं विंडोज होस्ट से उबंटू होस्ट में ssh'd हूँ, लेकिन मैं Ubuntu होस्ट पर VNC पहुँच को सक्षम करना भूल गया।

उबंटू होस्ट पर, क्या मेरे लिए उबंटू कमांडलाइन से वीएनसी कनेक्शन सक्षम करने का कोई तरीका है?

अपडेट करें:

जैसा कि @koanhead नीचे कहता है, इसके लिए कोई मैन पेज नहीं है vino(उदाहरण के लिए man -k vinoऔर info vinoकुछ भी नहीं लौटाएं), और vino --helpकोई मदद नहीं दिखाता है)।

जवाबों:


25

बस चल रही है

/usr/lib/vino/vino-server

काम करना चाहिए।

एक बार जब आप अपने सर्वर तक पहुँच प्राप्त कर लेते हैं, तो मैं सुझाव दूंगा कि आप इसे स्वतः आरंभ किए गए एप्लिकेशन में जोड़ें ताकि यह हमेशा प्रारंभ हो।

आप शायद कुछ सेटिंग्स बदलना चाहेंगे:

vino-preferences

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

या संपादित करने के लिए:

~/.gconf/desktop/gnome/remote_access/%gconf.xml

यहाँ एक नमूना फ़ाइल:

<?xml version="1.0"?>
<gconf>
    <entry name="vnc_password" mtime="1289267042" type="string">
        <stringvalue>cXdlcnR5</stringvalue>
    </entry>
    <entry name="view_only" mtime="1289262982" type="bool" value="false"/>
    <entry name="prompt_enabled" mtime="1254965869" type="bool" value="false"/>
    <entry name="authentication_methods" mtime="1289267034" type="list" ltype="string">
        <li type="string">
            <stringvalue>vnc</stringvalue>
        </li>
    </entry>
    <entry name="enabled" mtime="1289263574" type="bool" value="true"/>
</gconf>

सावधान रहें, पासवर्ड बेस 64 एनकोडेड है। इस फ़ाइल के लिए, पासवर्ड qwerty है। मैं कुछ मंच पर देखता हूं कि लोगों ने इसे सफलतापूर्वक बदल दिया है, लेकिन मैंने इसे जारी किया था।

यहाँ एक ऑनलाइन बेस 64 एनकोडर है:

http://www.motobit.com/util/base64-decoder-encoder.asp


6
निष्पादित करते समय मुझे निम्नलिखित त्रुटि मिली /usr/lib/vino/vino-server:No protocol specified ** (vino-server:2040): WARNING **: Could not open X display
तुआन अन्ह होआंग-वु

@hvtuananh क्या आपके पास एक डिस्प्ले है जिसे आप साझा कर सकते हैं? क्या आपके पास evd चर प्रदर्शन तदनुसार निर्धारित है? मेरा उत्तर यह मानता है कि आपके पास पहले से ही डिफ़ॉल्ट रूप से शुरू होने वाला डिस्प्ले है, लेकिन आपके पास स्ट्रिंग नहीं है और इसे उपलब्ध कराने के लिए कमांड लाइन का उपयोग करें।
गुइल्यूम कोटे डे

1
यह (कम से कम) 13.10 में काम नहीं करता है। इसके बजाय नीचे ouzmoutous द्वारा उत्तर देखें।
एमिल स्टायरके

यदि किसी को समस्या है, तो बग को देखें: बग्सलाउन्चैप्ड.नेट / जुबांट / +ource / vino / + bug/ 1607663
रमनो

3
vino-preferences: command not found
एंडोलिथ

28

संक्षिप्त जवाब:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/enabled true

स्वीकार किए गए उत्तर के रूप में उल्लेख किया गया है, यदि दूरस्थ मशीन पर vino प्रारंभ नहीं हुआ है, तो उपयोग करें

/usr/lib/vino/vino-server

लंबे उत्तर और अधिक जानकारी:

वर्तमान में निर्मित रिमोट एक्सेस सर्वर (vino) के लिए सेटिंग्स का एक सबसेट, जैसा कि उल्लेख किया गया है, vino-वरीयताओं से देखा जा सकता है। Gconf झंडे की एक पूरी सूची gconf-editorकमांड के साथ देखी जा सकती है , जो कि डेस्कटॉप / gnome / Remote_access के अंतर्गत सूचीबद्ध है। आप इस कमांड के साथ अन्य रिमोट_सक्सेस कीज़ (या इस पर भिन्नता) भी देख सकते हैं:

gconftool-2 -a /desktop/gnome/remote_access

(जो भी कारण के लिए, -Rयह भी काम करेगा।)

आप --long-docsआर्ग के माध्यम से स्कीमा कुंजी प्रलेखन भी प्राप्त कर सकते हैं ।

जैसे, altern_port कुंजी के लिए:

gconftool-2 --long-docs /desktop/gnome/remote_access/alternative_port

       The port which the server will listen to if the
       'use_alternative_port' key is set to true.
       Valid values are in the range from 5000 to 50000.

इसलिए, उदाहरण के लिए, कमांड लाइन के माध्यम से डिफ़ॉल्ट पोर्ट को कैसे बदलना है:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/use_alternative_port true
gconftool-2 --set --type=int /desktop/gnome/remote_access/alternative_port 5999

gconftool आपको दिए गए डायरेक्टरी के तहत चाबी देगा। यहाँ 'Remote_access' अनुभाग है:

gconftool-2 -a /desktop/gnome/remote_access
 use_upnp = false
 vnc_password = 
 authentication_methods = [vnc]
 network_interface = 
 require_encryption = false
 disable_background = false
 enabled = true
 use_alternative_port = false
 mailto = 
 disable_xdamage = false
 lock_screen_on_disconnect = false
 icon_visibility = always
 view_only = false
 prompt_enabled = true
 alternative_port = 5900

यहां बताया गया है कि सभी स्कीमा डॉक्स को / डेस्क / सूक्ति / रिमोट / एक्सेस (कमांड-लाइन / बिन / वॉश के माध्यम से) कैसे सूचीबद्ध करें:

for key in ` gconftool-2 -a /desktop/gnome/remote_access | awk '{print $1}'  ` ; do echo $key ; gconftool-2 --long-docs /desktop/gnome/remote_access/$key ; done

/usr/lib/vino/vino-serverSSH से काम नहीं करता है, यह कहता हैCannot open display:
Endolith

24

मैं भी vino-वरीयताओं में जाने के बिना कमांड लाइन के साथ vino को सक्षम करना चाहता था।

जब मैंने शुरुआत की /usr/lib/vino/vino-server, तो यह कहता है कि मेरे पास डेस्कटॉप साझाकरण सेवा सक्षम नहीं थी।

एकता के साथ gconftoolअब और प्रयोग करने योग्य नहीं है। हमें इसके जरिए करना होगा gsettings

इसलिए, पहले, सक्षम करें:

gsettings set org.gnome.Vino prompt-enabled true

फिर शुरू करें:

/usr/lib/vino/vino-server

अब आप दूरस्थ रूप से अपने कंप्यूटर तक पहुँच सकते हैं।

यदि आप विनो के लिए उपलब्ध सभी विन्यास देखना चाहते हैं:

gsettings list-keys org.gnome.Vino

2
SSH पर ऐसा करने के लिए या एक टेक्स्ट-मोड टर्मिनल से, जहां DISPLAY वातावरण चर व्यवस्थित नहीं है, आपको DISPLAY =: 0 को सेट कमांड पर प्रस्तुत करने की आवश्यकता है, अन्यथा आपको "dconf में परिवर्तन करने में विफल" हो जाएगा।
एमिल स्टायरके

तो उपरोक्त के अलावा मुझे करना था export DBUS_SESSION_BUS_ADDRESS=...। इस परिवर्तनशील मूल्य को पाने के लिए मैंने एक रनिंग प्रोसेस 'एनवायरनमेंट से कॉपी किया ( pgrep -u myUserName -lप्रोसेस लिस्ट पाने के लिए, एक नंबर चुनें, फिर tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS)। फिर DBUS_SESSION_BUS_ADDRESS को लौटाए गए मान के साथ निर्यात करें। फिर आज्ञा चली।
RJFalconer

पहले आदेश मुझे देता है: ऐसा कोई कुंजी "सक्षम"
Stiv

19

Ubuntu 14.04 पर, मैंने पाया कि निम्नलिखित भिन्नता ने मेरे लिए काम किया:

export DISPLAY=:0
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server

यदि यह काम नहीं करता है, तो आपका X सत्र इसके अलावा किसी अन्य चीज़ पर चल रहा हो सकता है :0, इसलिए एक त्वरित ps aux | grep Xको :1या दिखाना चाहिए:2


1
आप के साथ शुरू करना चाहिए के export DISPLAY=:0रूप में gsettings आदेश के बिना असफल हो जाएगा failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY:।
वाब

अब तक का सबसे अच्छा जवाब। लेकिन आप कैसे रिबूट पर वीनो ऑटो शुरू करते हैं?
pferrel

इसके साथ, vnc port खुला है, लेकिन मेरा vnc क्लाइंट हमेशा के लिए रुक जाता है। प्रोबम क्या हो सकता है?
डेविड पोर्टेबेला

यदि आपका VNC क्लाइंट डेस्कटॉप से ​​कनेक्ट नहीं होता है, तो यह संभवतः इसलिए है क्योंकि एन्क्रिप्शन सक्रिय रहता है। - हर बार जब आप लॉग-आउट करते हैं और लॉग-इन करते हैं, तो आपको एन्क्रिप्शन को फिर से अक्षम करना होगा - आप इन कमांड को शेल में डाल सकते हैं और डेस्कटॉप शुरू होने पर इसे इनवॉइस कर सकते हैं। अपने उबंटू डेस्कटॉप में "स्टार्टअप एप्लिकेशन प्राथमिकताएं" देखें।
Jaime

13

क्यों, इस कठिन दुनिया में अच्छा है कि सभी के प्यार के लिए, कोई आदमी प्रवेश या vino- सर्वर या किसी भी कमांड के dpkg -L vinoआउटपुट में सूचीबद्ध के लिए है ? उस मामले के लिए, किसी भी पैकेज को उबंटू सिस्टम पर क्यों स्थापित किया जाना चाहिए , कभी भी, जो कम से कम संबंधित आदेशों के लिए एक आदमी पृष्ठ को छोड़ देता है? ठीक है, शेख़ी अब तक मैंने जो सबसे अच्छा उत्तर पाया है, वह यहां है: http://ubuntuforums.org/archive/index.php/t-2x9179.html

मुझे वास्तव में उम्मीद है कि यह मदद करता है, और मुझे उम्मीद है कि भविष्य में उबंटू समुदाय इन सभी अनाथ आज्ञाओं को दस्तावेज़ करता है। "उपयोग में आसानी" का अर्थ कमांड लाइन को छोड़ना नहीं है, और इसका मतलब निश्चित रूप से आसानी से सुलभ प्रलेखन को छोड़ने का मतलब नहीं है। </ भुनभुनाना>


रनिंग / usr / lib / vino / vino-server आज़माएँ। जो थोड़ी मदद और डॉक्स उपलब्ध है, उसके लिए vino-server --help-all का उपयोग करें।
कोनाहेड

4
दूसरे स्रोत से लिंक करना बुरा है, वह स्रोत भविष्य में ऑफ़लाइन हो सकता है और आपका उत्तर मान्य नहीं होगा।
फिल हैनेंट

शेख़ी के लिए एक अतिरिक्त बिंदु।
मार्निक्स ए। वैन अमर्स

यह / usr / lib में है, इस प्रकार यह एक कमांड नहीं है जिसे उपयोगकर्ता सामान्य रूप से चलाएगा, इस प्रकार मैनपेज की आवश्यकता नहीं है ... कम से कम यह तर्क है। एफडब्ल्यूआईडब्ल्यू, मैं आपसे सहमत हूं।
Matthias Urlichs

9

यह प्रदर्शन के बारे में त्रुटियों और इतने पर ssh के माध्यम से दूरस्थ रूप से काम नहीं करता है। यहाँ मैंने क्या किया है:

export DISPLAY=:0.0 && /usr/lib/vino/vino-server

ज्यादातर अब काम करता है!


हां आखिरकार! बिना export DISPLAY=:0.0, "रिमोट" डेस्कटॉप जो मुझे मिल रहा था, वह वास्तव में मेरा स्थानीय डेस्कटॉप था (मैं उपयोग करता हूं ssh -X)। साथ ही, चलाने से पहलेvino-preferences (या अन्य उत्तर में सुझाए गए शेल कमांड) अन्य उपयोगकर्ताओं को "अनुमति दें" आवश्यक है । नोट: संभवत: कोई भी VNC क्लाइंट इसे सही तरीके से सेट करने के बाद काम करता है, लेकिन सबसे समझदार UI प्रदान करता है। /usr/lib/vino/vino-servervinagre
नोबार

5

मैं निम्नलिखित स्क्रिप्ट के साथ दूरस्थ ssh कनेक्शन से एक नया Ubuntu 16.04 स्थापित करने में सक्षम था:

#! / Bin / bash
निर्यात प्रदर्शन =: 0
read -e -p "VNC पासवर्ड:" -i "ubuntu" पासवर्ड
dconf लिखना / org / सूक्ति / डेस्कटॉप / रिमोट-एक्सेस / सक्षम सच
dconf लिखना / org / सूक्ति / डेस्कटॉप / रिमोट-एक्सेस / शीघ्र-सक्षम झूठी
dconf लिखना / org / सूक्ति / डेस्कटॉप / रिमोट-एक्सेस / प्रमाणीकरण-विधि "['vnc']"
dconf लिखना / org / सूक्ति / डेस्कटॉप / रिमोट-एक्सेस / आवश्यकता-एन्क्रिप्शन झूठा
dconf लिखना / org / सूक्ति / डेस्कटॉप / रिमोट-एक्सेस / vnc-password \ "$" (गूंज -n $ पासवर्ड | base64) \ '\ "
dconf डंप / org / सूक्ति / डेस्कटॉप / रिमोट-एक्सेस /
sudo सेवा lightdm पुनरारंभ

किसी भी स्ट्रिंग सेटिंग्स (उद्धरण के अंदर एकल टिक) के लिए उद्धरण महत्वपूर्ण है। Dconf के लिए यह लिखने में सक्षम होने के लिए XWindows की पहुंच की आवश्यकता होती है, इसलिए निर्यात DISPLAY भाग की आवश्यकता होती है। मुझे लगता है कि आपको इसके बाद भी वीएनसी से जुड़ने के लिए वास्तविक उबंटू मशीन पर डेस्कटॉप में लॉग इन करना होगा। डंप कमांड केवल सभी सेटिंग्स की पुष्टि करने के लिए है, आपको वास्तव में इसकी आवश्यकता नहीं है।

वैकल्पिक रूप से आप ऐसा करना चाह सकते हैं यदि आप हर समय प्रदर्शन को बनाए रखना चाहते हैं:

dconf लिखना / org / सूक्ति / डेस्कटॉप / स्क्रीनसेवर / लॉक-सक्षम गलत
dconf लिखना / org / सूक्ति / डेस्कटॉप / स्क्रीनसेवर / ubuntu- लॉक-ऑन-सस्पेंड झूठा
dconf लिखना / org / सूक्ति / डेस्कटॉप / सत्र / निष्क्रिय-देरी "uint32 0"

1

लिनक्स टकसाल 15 का उपयोग करने वाले किसी के लिए, मुझे यह काम निम्नलिखित में से मेरे मिंटबॉक्स 2 पर काम करने के लिए मिला। मैं अब मिंटबॉक्स 2 को पूरी तरह से बिना सिर के चला सकता हूं: ssh + vino + टाइट VNC।

LinuxMint MintBox2 मशीन के लिए ssh कनेक्शन के माध्यम से पोटीन में टाइप करें:

sudo su
[enter your root password]
echo $DISPLAY
export DISPLAY=:0.0
startx &   }This loads up LinuxMint on screen as "root" user
[press the return key again to get back to BASH prompt]

अब, यदि आप LinuxMint टर्मिनल पर (यह आवश्यक नहीं है) (जैसे कि पोटीन पर नहीं) टाइप करें:

echo $DISPLAY

=> आपको इसका आउटपुट मिलता है: 1 [अर्थात इससे मुझे यह पता लगाने में बहुत परेशानी होती है कि यह 0 नहीं है: 0: 0 !!!!!!!!!!!!]

अब, पोटीन पर वापस जाएँ और टाइप करें:

echo $DISPLAY
export DISPLAY=:1
/usr/lib/vino/vino-server

=> अब यह लोड होता है और आप लिनक्स टकसाल आदि का उपयोग करने के लिए विंडो 7 टाइट वीएनसी व्यूअर का उपयोग कर सकते हैं

मुझे उम्मीद है कि यह वहाँ से बाहर कुछ मदद करता है ...


1

मैं 18.04 उन्नयन के बाद xubuntu के साथ एक ही मुद्दा था। पहले vino स्थापित करें। बिना किसी नोटिस के अपग्रेड पर माइन को हटा दिया गया। Vino स्थापित करने के बाद भी, कमांड vino-प्राथमिकताएं काम नहीं करती हैं।

यहाँ एक आसान समाधान है:

  • Dconf- एडिटर स्थापित करें

    sudo apt install dconf-editor 
    
  • फिर इसे खोलें और /org/gnome/desktop/remoteएक्सेस करें और turn off encryption

कई अन्य दूरस्थ विकल्प भी हैं जिन्हें आप dconf-editor में सेट कर सकते हैं। हालाँकि, जब तक आप vino इंस्टॉल नहीं करते हैं, तब तक रिमोट-एक्सेस dconf-editor में नहीं दिखता है।

मुझे उम्मीद है कि कोई समझा सकता है कि क्या-क्या हुआ।


-1
gsettings reset-recursively org.gnome.Vino

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