เปิดใช้งาน VNC ระยะไกลจาก commandline หรือไม่


66

ฉันมีคอมพิวเตอร์หนึ่งเครื่องที่ใช้ Ubuntu 10.04 และใช้งานVinoซึ่งเป็นเซิร์ฟเวอร์ VNC เริ่มต้น

ฉันมีกล่อง Windows ตัวที่สองซึ่งใช้งานไคลเอนต์ VNC แต่ไม่มีความสามารถใด ๆ ของ X11 ฉันกำลังเข้าสู่โฮสต์ Ubuntu จากโฮสต์ Windows แต่ฉันลืมเปิดใช้งานการเข้าถึง VNC บนโฮสต์ Ubuntu

บนโฮสต์ Ubuntu มีวิธีให้ฉันเปิดใช้งานการเชื่อมต่อ VNC จาก commandline Ubuntu หรือไม่

ปรับปรุง:

ในฐานะที่เป็น @koanhead กล่าวว่าด้านล่างไม่มีหน้าคนสำหรับvino(เช่นman -k vinoและinfo vinoไม่มีอะไรคืน) และvino --helpไม่แสดงความช่วยเหลือใด ๆ )

คำตอบ:


25

เพียงแค่วิ่ง

/usr/lib/vino/vino-server

ควรทำงาน

เมื่อคุณสามารถเข้าถึงเซิร์ฟเวอร์ของฉันฉันขอแนะนำให้คุณเพิ่มลงในแอปที่เริ่มอัตโนมัติเพื่อที่จะเริ่มต้นได้เสมอ

คุณอาจต้องการเปลี่ยนการตั้งค่าด้วย:

vino-preferences

ระวังให้มากเมื่อคุณเรียกใช้ vino-preferences บนเครื่องระยะไกลหากคุณยกเลิกการเลือก "อนุญาตให้ผู้ใช้รายอื่นควบคุมเดสก์ท็อปของคุณ" คุณจะไม่สามารถตรวจสอบได้

หรือเพื่อแก้ไข:

~/.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 ฉันเห็นบางฟอรัมที่ผู้คนเปลี่ยนได้สำเร็จ แต่ฉันมีปัญหากับมัน

ที่นี่ตัวเข้ารหัส base64 ออนไลน์:

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
Tuan Anh Hoang-Vu

@hvtuananh คุณมีจอแสดงผลที่คุณสามารถแบ่งปันได้หรือไม่? คุณตั้งค่า DISDAY ตัวแปร EVD แล้วหรือยัง? คำตอบของฉันสมมติว่าคุณมีการแสดงเริ่มต้นโดยค่าเริ่มต้น แต่คุณไม่มีสตริงและใช้บรรทัดคำสั่งเพื่อให้พร้อมใช้งาน
Guillaume Coté

1
สิ่งนี้ใช้ไม่ได้ (อย่างน้อย) 13.10 ดูคำตอบโดย ouzmoutous ด้านล่างแทน
Emil Styrke

ถ้าใครมีปัญหาสังเกตเห็นข้อผิดพลาด: bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663
Rmano

3
vino-preferences: command not found
endolith

28

คำตอบสั้น ๆ :

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

ตามคำตอบที่ยอมรับหาก vino ไม่ได้เริ่มทำงานบนเครื่องระยะไกลให้ใช้

/usr/lib/vino/vino-server

คำตอบยาวและข้อมูลเพิ่มเติม:

ชุดย่อยของการตั้งค่าสำหรับเซิร์ฟเวอร์การเข้าถึงระยะไกลในตัวปัจจุบัน (vino) สามารถมองเห็นได้จากการตั้งค่า vino รายการที่สมบูรณ์ของการตั้งค่าสถานะ gconf สามารถเห็นได้ด้วยgconf-editorคำสั่งที่แสดงภายใต้ / desktop / gnome / remote_access คุณสามารถดูคีย์ 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

นี่คือวิธีการแสดงรายการเอกสาร schema ทั้งหมดภายใต้ / desk / gnome / remote / access (ผ่าน command-line / bin / bash):

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-serverไม่ทำงานจาก SSH มันบอกว่าCannot open display:
endolith

24

ฉันยังต้องการเปิดใช้งาน vino ด้วยบรรทัดคำสั่งโดยไม่ต้องไปที่ vino-preferences

เมื่อฉันเริ่ม/usr/lib/vino/vino-serverมันบอกว่าฉันไม่ได้เปิดใช้บริการแชร์เดสก์ท็อป

ด้วย Unity gconftoolไม่สามารถใช้งานได้อีกต่อไป gsettingsเราต้องทำมันผ่าน

ดังนั้นก่อนอื่นให้เปิดใช้งาน vino:

gsettings set org.gnome.Vino prompt-enabled true

จากนั้นเริ่มต้น vino:

/usr/lib/vino/vino-server

ตอนนี้คุณสามารถเข้าถึงคอมพิวเตอร์ของคุณจากระยะไกล

หากคุณต้องการดูการกำหนดค่าทั้งหมดสำหรับ Vino:

gsettings list-keys org.gnome.Vino

2
ในการทำสิ่งนี้ผ่าน SSH หรือจากเทอร์มินัลโหมดข้อความที่ไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม DISPLAY คุณต้องเพิ่ม DISPLAY =: 0 ในคำสั่ง set มิฉะนั้นคุณจะได้รับ "ไม่สามารถยอมรับการเปลี่ยนแปลงของ dconf"
Emil Styrke

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คำสั่งที่จะล้มเหลวโดยไม่ต้อง:
vaab

คำตอบที่ดีที่สุดโดยไกล แต่คุณจะทำให้ Vino เริ่มต้นอัตโนมัติเมื่อรีบูตได้อย่างไร
pferrel

ด้วยสิ่งนี้พอร์ต vnc เปิดอยู่ แต่ไคลเอนต์ vnc ของฉันหยุดทำงานตลอดไป probem คืออะไร
David Portabella

หากไคลเอนต์ VNC ของคุณไม่ได้เชื่อมต่อกับเดสก์ท็อปอาจเป็นเพราะการเข้ารหัสยังคงเปิดใช้งานอยู่ - ทุกครั้งที่คุณออกจากระบบและเข้าสู่ระบบอีกครั้งคุณจะต้องปิดการใช้งานการเข้ารหัสอีกครั้ง - คุณสามารถใส่คำสั่งเหล่านี้ในเปลือกและเรียกมันเมื่อเดสก์ทอปเริ่มต้น มองหา "การตั้งค่าแอปพลิเคชันเริ่มต้น" ในเดสก์ท็อป Ubuntu ของคุณ
Jaime

13

ทำไมเพื่อความรักของทุกสิ่งที่ดีในโลกที่ยากลำบากนี้ไม่มีการเข้าสู่ระบบ vino หรือ vino-server หรือคำสั่งใด ๆ ที่ระบุไว้ใน dpkg -L vinoเอาต์พุตของ? สำหรับเรื่องนั้นเหตุใดจึงควรติดตั้งแพคเกจใด ๆบนระบบ Ubuntu ทุกครั้งที่ละเว้น man page อย่างน้อยสำหรับคำสั่งที่เกี่ยวข้อง? ตกลงพูดจาโผงผาง คำตอบที่ดีที่สุดที่ฉันพบตอนนี้อยู่ที่นี่: http://ubuntuforums.org/archive/index.php/t-266981.html

ฉันหวังว่าสิ่งนี้จะช่วยได้และฉันหวังว่าในอนาคตชุมชน Ubuntu จะทำเอกสารคำสั่งกำพร้าเหล่านี้ทั้งหมด "ความง่ายในการใช้งาน" ไม่ได้หมายถึงการละทิ้งบรรทัดคำสั่งและแน่นอนไม่ได้หมายความว่าการทิ้งเอกสารที่เข้าถึงได้ง่าย </ บ่น>


ลองใช้ / usr / lib / vino / vino-server สำหรับความช่วยเหลือและเอกสารที่มีให้ใช้ vino-server --help-all
koanhead

4
การเชื่อมโยงไปยังแหล่งอื่นนั้นไม่ดีแหล่งที่มานั้นอาจออฟไลน์ในอนาคตและคำตอบของคุณจะไม่ถูกต้องอีกต่อไป
Phil Hannent

หนึ่งจุดพิเศษสำหรับการคุยโว
Marnix A. van Ammers

มันอยู่ใน / usr / lib ดังนั้นจึงไม่ใช่คำสั่งที่ผู้ใช้จะเรียกใช้ตามปกติดังนั้นจึงไม่จำเป็นต้องมี manpage …อย่างน้อยนั่นคือเหตุผล FWIW ฉันเห็นด้วยกับคุณ
Matthias Urlichs

9

ดูเหมือนจะไม่ทำงานจากระยะไกลผ่าน ssh เนื่องจากข้อผิดพลาดเกี่ยวกับการแสดงผลและอื่น ๆ นี่คือสิ่งที่ฉันทำ:

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

ส่วนใหญ่ทำงานตอนนี้!


ใช่ - ในที่สุด! หากไม่มีexport DISPLAY=:0.0เดสก์ท็อป "ระยะไกล" ที่ฉันได้รับจริง ๆ แล้วคือเดสก์ท็อปท้องถิ่นของฉัน (ฉันใช้ssh -X) นอกจากนี้ก็มีความจำเป็นต้อง "อนุญาตให้ผู้ใช้อื่น ๆ" ผ่านvino-preferences(หรือคำสั่งเชลล์ที่แนะนำในคำตอบอื่น ๆ ) ก่อนที่จะ/usr/lib/vino/vino-serverทำงาน หมายเหตุ: อาจเป็นไปได้ว่าไคลเอนต์ VNC ใด ๆ ที่ทำงานกับสิ่งนี้เมื่อตั้งค่าอย่างถูกต้อง แต่vinagreดูเหมือนจะให้ UI ที่เหมาะสมที่สุด
nobar

5

ฉันสามารถตั้งค่าการติดตั้ง Ubuntu 16.04 ใหม่จากการเชื่อมต่อ ssh ระยะไกลด้วยสคริปต์ต่อไปนี้:

#! / bin / ทุบตี
ส่งออก DISPLAY =: 0
อ่าน -e -p "รหัสผ่าน VNC: รหัสผ่าน" -i "อูบุนตู"
dconf write / org / gnome / desktop / remote-access / enabled จริง
dconf write / org / gnome / desktop / remote-access / prompt-enabled false
dconf write / org / gnome / desktop / remote-access / authentication-methods "['vnc']"
dconf เขียน / org / gnome / desktop / remote-access / require-encryption เท็จ
dconf เขียน / org / gnome / desktop / remote-access / vnc-password \ "\ '$ (echo -n $ รหัสผ่าน | base64) \' \"
dconf dump / org / gnome / desktop / remote-access /
sudo service lightdm ทำการรีสตาร์ท

การอ้างอิงเป็นสิ่งสำคัญสำหรับการตั้งค่าสตริงใด ๆ (เห็บเดียวภายในเครื่องหมายคำพูด) สำหรับ dconf เพื่อให้สามารถเขียนได้จำเป็นต้องเข้าถึง XWindows ดังนั้นจึงจำเป็นต้องมีส่วนส่งออก DISPLAY ฉันคิดว่าคุณยังต้องเข้าสู่เดสก์ท็อปบนเครื่อง Ubuntu จริงเพื่อเชื่อมต่อกับ VNC หลังจากนี้ คำสั่ง dump นั้นอยู่ที่นั่นเพื่อยืนยันการตั้งค่าทั้งหมดที่คุณมีคุณไม่ต้องการ

เป็นทางเลือกคุณอาจต้องการทำสิ่งนี้หากคุณต้องการให้จอแสดงผลอยู่ตลอดเวลา:

dconf write / org / gnome / desktop / screensaver / lock-enabled false
dconf write / org / gnome / desktop / screensaver / ubuntu-lock-on-suspend false
dconf write / org / gnome / desktop / session / idle-delay "uint32 0"

1

สำหรับทุกคนที่ใช้ Linux Mint 15 ฉันได้รับสิ่งนี้ทั้งหมดเพื่อทำงานกับ MintBox2 ของฉันโดยทำสิ่งต่อไปนี้ ตอนนี้ฉันสามารถเรียกใช้ MintBox 2 ได้อย่างไม่มีที่สิ้นสุดด้วย: ssh + vino + Tight VNC

พิมพ์ลงในสีโป๊วผ่านการเชื่อมต่อ ssh ไปยังเครื่อง LinuxMint MintBox2:

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 !!!!!!!!!!]

ตอนนี้กลับไปที่ผงสำหรับอุดรูแล้วพิมพ์:

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

=> ตอนนี้โหลด & คุณสามารถใช้ window 7 Tight VNC Viewer เพื่อเข้าถึง Linux Mint และอื่น ๆ

ฉันหวังว่านี่จะช่วยให้ใครบางคนที่นั่น ...


1

ฉันมีปัญหาเดียวกันกับ xubuntu หลังจากอัพเกรด 18.04 ก่อนติดตั้ง vino ของฉันถูกลบออกเมื่ออัพเกรดโดยไม่ต้องแจ้งให้ทราบล่วงหน้า แม้หลังจากติดตั้ง vino แล้วคำสั่ง vino-preferences ก็ไม่ทำงานเช่นกัน

นี่เป็นวิธีแก้ปัญหาง่ายๆ:

  • ติดตั้ง dconf-editor

    sudo apt install dconf-editor 
    
  • แล้วเปิดไปที่เข้าถึงและ/org/gnome/desktop/remoteturn off encryption

นอกจากนี้ยังมีตัวเลือกระยะไกลอื่น ๆ อีกมากมายที่คุณสามารถตั้งค่าใน dconf-editor อย่างไรก็ตามจนกว่าคุณจะติดตั้ง vino การเข้าถึงระยะไกลจะไม่แสดงใน dconf-editor

ฉันหวังว่าใครบางคนสามารถอธิบายสิ่งที่เกิดขึ้นกับการตั้งค่า vino


-1
gsettings reset-recursively org.gnome.Vino

5
มันจะมีประโยชน์ถ้าคุณสามารถแก้ไขคำตอบของคุณเพื่ออธิบายสิ่งนี้ทำอะไรและมันจะตอบคำถามอย่างไร
David Edwards
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.