Cho phép VNC từ xa từ dòng lệnh?


66

Tôi có một máy tính chạy Ubuntu 10.04 và đang chạy Vino , máy chủ VNC mặc định.

Tôi có hộp Windows thứ hai đang chạy ứng dụng khách VNC, nhưng không có bất kỳ khả năng X11 nào. Tôi đã vào máy chủ Ubuntu từ máy chủ Windows, nhưng tôi quên không cho phép truy cập VNC trên máy chủ Ubuntu.

Trên máy chủ Ubuntu, có cách nào để tôi kích hoạt các kết nối VNC từ dòng lệnh Ubuntu không?

Cập nhật:

Như @koanhead nói bên dưới, không có trang man nào cho vino(ví dụ man -k vinoinfo vinokhông trả lại gì), và vino --helpkhông hiển thị bất kỳ trợ giúp nào).

Câu trả lời:


25

Chỉ cần chạy

/usr/lib/vino/vino-server

nên làm công việc.

Khi bạn có quyền truy cập vào máy chủ của mình, tôi khuyên bạn nên thêm nó vào Ứng dụng tự khởi động để nó luôn được khởi động.

Bạn có thể muốn thay đổi một số cài đặt với:

vino-preferences

hãy cẩn thận khi bạn chạy ưu tiên vino trên máy từ xa, nếu bạn bỏ chọn "Cho phép người dùng khác điều khiển máy tính để bàn của bạn", bạn sẽ không thể kiểm tra lại.

hoặc để chỉnh sửa:

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

Đây là một tập tin mẫu:

<?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>

Hãy cẩn thận, mật khẩu được mã hóa base64. Đối với tập tin này, mật khẩu là qwerty. Tôi thấy trên một số diễn đàn rằng mọi người đã thay đổi nó thành công, nhưng tôi đã gặp vấn đề với nó.

Đây là một bộ mã hóa base64 trực tuyến:

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


6
Tôi đã gặp lỗi sau khi thực hiện /usr/lib/vino/vino-server:No protocol specified ** (vino-server:2040): WARNING **: Could not open X display
Tuấn Anh Hoàng-Vũ

@hvtuananh Bạn có màn hình nào bạn có thể chia sẻ không? Bạn có cài đặt HIỂN THỊ biến evd phù hợp không? Câu trả lời của tôi cho rằng bạn đã có màn hình bắt đầu theo mặc định, nhưng bạn không có chuỗi và sử dụng dòng lệnh để làm cho nó có sẵn.
Guillaume Coté

1
Điều này không hoạt động trong (ít nhất) 13.10. Xem câu trả lời của ouzmoutous dưới đây thay thế.
Emil Styrke

Nếu ai đó có vấn đề, hãy chú ý đến lỗi: bug.launchpad.net/ubfox/+source/vino/+orms/1607663 .
Rmano

3
vino-preferences: command not found
endolith

28

Câu trả lời ngắn:

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

như câu trả lời được chấp nhận đề cập, nếu vino không khởi động trên máy từ xa, hãy sử dụng

/usr/lib/vino/vino-server

Trả lời dài và biết thêm thông tin:

Một tập hợp con của các cài đặt cho máy chủ truy cập từ xa tích hợp hiện tại (vino) có thể được nhìn thấy, như đã đề cập, từ các tùy chọn vino. Một danh sách đầy đủ các cờ gconf có thể được nhìn thấy bằng gconf-editorlệnh, được liệt kê dưới / desktop / gnome / remote_access. Bạn cũng có thể thấy các khóa remote_access khác bằng lệnh này (hoặc một biến thể của nó):

gconftool-2 -a /desktop/gnome/remote_access

(Vì lý do gì, -Rcũng sẽ làm việc.)

Bạn cũng có thể lấy tài liệu khóa lược đồ thông qua --long-docsarg.

Ví dụ: đối với khóa thay thế:

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.

Vì vậy, ví dụ, đây là cách thay đổi cổng mặc định thông qua dòng lệnh:

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 sẽ cung cấp cho bạn các khóa trong một thư mục nhất định. Đây là phần '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

Dưới đây là cách liệt kê tất cả các tài liệu lược đồ dưới / Desk / gnome / remote / access (thông qua dòng lệnh / 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-servernó không hoạt động từ SSH, nó nóiCannot open display:
endolith

24

Tôi cũng muốn kích hoạt vino với dòng lệnh mà không cần đi theo sở thích của vino.

Khi tôi bắt đầu /usr/lib/vino/vino-server, nó nói rằng tôi không kích hoạt dịch vụ chia sẻ máy tính để bàn.

Với Unity gconftoolkhông thể sử dụng được nữa. Chúng tôi phải làm điều đó thông qua gsettings.

Vì vậy, trước tiên, kích hoạt vino:

gsettings set org.gnome.Vino prompt-enabled true

Sau đó bắt đầu vino:

/usr/lib/vino/vino-server

Bây giờ bạn có thể truy cập từ xa vào máy tính của bạn.

Nếu bạn muốn xem tất cả các cấu hình có sẵn cho Vino:

gsettings list-keys org.gnome.Vino

2
Để thực hiện việc này qua SSH hoặc từ thiết bị đầu cuối ở chế độ văn bản nơi biến môi trường HIỂN THỊ không giải quyết, bạn cần phải thêm lệnh HIỂN THỊ =: 0 vào lệnh đã đặt, nếu không, bạn sẽ nhận được "thất bại trong việc thay đổi dcs".
Emil Styrke

Vì vậy, ngoài những điều trên tôi đã phải export DBUS_SESSION_BUS_ADDRESS=.... Để có được giá trị biến này, tôi đã sao chép từ môi trường của quy trình đang chạy ( pgrep -u myUserName -lđể lấy danh sách quy trình, sau đó chọn một số tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS). Sau đó xuất DBUS_SESSION_BUS_ADDRESS với giá trị được trả về. Rồi lệnh chạy.
RJFalconer

Lệnh đầu tiên mang lại cho tôi: Không có khóa nào như vậy được kích hoạt trên máy tính
stiv

19

Trên Ubuntu 14.04, tôi thấy biến thể sau hoạt động với tôi:

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

Nếu điều này không hoạt động, phiên X của bạn có thể đang chạy trên một cái gì đó khác :0, vì vậy nhanh chóng ps aux | grep Xsẽ hiển thị một :1hoặc:2


1
Bạn nên bắt đầu với các export DISPLAY=:0lệnh gsinstall sẽ thất bại nếu không có : failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY.
vaab

Câu trả lời tốt nhất cho đến nay. Nhưng làm thế nào để bạn làm cho Vino tự động khởi động lại khi khởi động lại?
pferrel 20/03/2015

với điều này, cổng vnc được mở, nhưng máy khách vnc của tôi dừng lại mãi mãi. những gì có thể là con mồi?
David Portabella

nếu ứng dụng khách VNC của bạn không kết nối với máy tính để bàn, có thể là do mã hóa vẫn được kích hoạt. - Mỗi lần bạn đăng xuất và đăng nhập lại, bạn phải vô hiệu hóa lại mã hóa - Bạn có thể đặt các lệnh này vào một vỏ và gọi nó khi máy tính để bàn khởi động. Tìm "Tùy chọn ứng dụng khởi động" trong máy tính để bàn Ubuntu của bạn.
Jaime

13

Tại sao, vì tình yêu của tất cả những gì tốt đẹp trong thế giới khó khăn này, không có người đàn ông nào cho vino hoặc vino-server hoặc cho bất kỳ lệnh nào được liệt kê trong dpkg -L vinođầu ra của? Đối với vấn đề đó, tại sao mọi gói nên được cài đặt trên một hệ thống Ubuntu, bao giờ, mà bỏ qua một trang man ít nhất là cho các lệnh có liên quan? Ok, giận dữ hơn. Câu trả lời tốt nhất tôi tìm thấy cho đến nay là ở đây: http://ubuntuforums.org/archive/index.php/t-266981.html

Tôi thực sự hy vọng điều này có ích, và tôi hy vọng rằng trong tương lai cộng đồng Ubuntu sẽ ghi lại tất cả các lệnh mồ côi này. "Dễ sử dụng" không có nghĩa là từ bỏ dòng lệnh và chắc chắn không có nghĩa là từ bỏ tài liệu dễ truy cập. </ càu nhàu>


Hãy thử chạy / usr / lib / vino / vino-server. Đối với những gì ít trợ giúp và tài liệu có sẵn, hãy sử dụng vino-server --help-all.
koanhead

4
Liên kết đến một nguồn khác là xấu, nguồn đó có thể ngoại tuyến trong tương lai và câu trả lời của bạn sẽ không còn hiệu lực.
Phil Hannent

Thêm một điểm cho bài hát.
Marnix A. van Ammer

Đó là trong / usr / lib, do đó, không phải là lệnh mà người dùng thường chạy, do đó không cần manpage, ít nhất đó là lý do. FWIW, tôi đồng ý với bạn.
Matthias Urlichs

9

Điều này dường như không hoạt động từ xa thông qua ssh do lỗi về màn hình và như vậy. Đây là những gì tôi đã làm:

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

Chủ yếu là làm việc bây giờ!


Vâng - cuối cùng! Không export DISPLAY=:0.0, máy tính để bàn "từ xa" mà tôi nhận được thực sự là máy tính để bàn cục bộ của tôi (tôi sử dụng ssh -X). Ngoài ra, cần phải "Cho phép người dùng khác" thông qua vino-preferences(hoặc các lệnh shell được đề xuất trong các câu trả lời khác) trước khi chạy /usr/lib/vino/vino-server. Lưu ý: Có thể bất kỳ ứng dụng khách VNC nào cũng hoạt động với điều này một khi nó được thiết lập chính xác, nhưng vinagredường như cung cấp giao diện người dùng hợp lý nhất.
tộc

5

Tôi đã có thể thiết lập cài đặt Ubuntu 16.04 mới từ kết nối ssh từ xa với tập lệnh sau:

#! / bin / bash
xuất HIỂN THỊ =: 0
đọc -e -p "Mật khẩu VNC: mật khẩu" -i "ubfox"
dconf write / org / gnome / desktop / remote-access / enable true
dconf write / org / gnome / desktop / remote-access / prompt-enable false
dconf write / org / gnome / desktop / remote-access / xác thực-phương thức "['vnc']"
dconf write / org / gnome / desktop / remote-access / request-mã hóa sai
dconf write / org / gnome / desktop / remote-access / vnc-password \ "\ '$ (echo -n $ password | base64) \' \"
dconf dump / org / gnome / desktop / remote-access /
sudo dịch vụ lightdm khởi động lại

Việc trích dẫn rất quan trọng đối với bất kỳ cài đặt chuỗi nào (đánh dấu đơn bên trong dấu ngoặc kép). Để dconf có thể viết, nó cần quyền truy cập vào XWindows, vì vậy đó là lý do tại sao phần HIỂN THỊ xuất khẩu là cần thiết. Tôi nghĩ bạn vẫn cần phải đăng nhập vào máy tính để bàn trên máy Ubuntu thực tế để kết nối với VNC sau này. Lệnh dump chỉ ở đó để xác nhận tất cả các cài đặt đã được giữ, bạn không thực sự cần điều đó.

Tùy chọn bạn có thể muốn làm điều này nếu bạn muốn giữ cho màn hình hiển thị mọi lúc:

dconf write / org / gnome / desktop / Screensaver / lock-enable false
dconf write / org / gnome / desktop / Screensaver / ubfox-lock-on-đình chỉ sai
dcs viết / org / gnome / desktop / session / idle-delay "uint32 0"

1

Đối với bất kỳ ai sử dụng Linux Mint 15, tôi đã có tất cả để hoạt động trên MintBox2 của mình bằng cách thực hiện như sau. Bây giờ tôi có thể chạy MintBox 2 hoàn toàn không đầu với: ssh + vino + VNC chặt chẽ.

Nhập vào putty thông qua kết nối ssh với máy 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]

Bây giờ, nếu bạn thích (điều này không cần thiết) trên thiết bị đầu cuối LinuxMint (tức là không phải trên putty):

echo $DISPLAY

=> Bạn nhận được kết quả đầu ra là: 1 [tức là điều này gây cho tôi rất nhiều rắc rối để tìm hiểu tức là đây không phải là 0: 0 !!!!!!!!!!]

Bây giờ, quay trở lại putty và gõ:

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

=> Bây giờ nó tải và bạn có thể sử dụng cửa sổ 7 Trình xem VNC chặt chẽ để truy cập Linux Mint, v.v.

Tôi hy vọng giúp đỡ ai đó ngoài kia...


1

Tôi gặp vấn đề tương tự với xubfox sau khi nâng cấp 18.04. Đầu tiên cài đặt vino. Của tôi đã được gỡ bỏ khi nâng cấp mà không có bất kỳ thông báo nào. Ngoài ra, ngay cả sau khi cài đặt vino, lệnh vino-Preferences không hoạt động.

Đây là một cách giải quyết dễ dàng:

  • Cài đặt trình soạn thảo

    sudo apt install dconf-editor 
    
  • sau đó mở nó và /org/gnome/desktop/remotetruy cập và turn off encryption.

Ngoài ra còn có một số tùy chọn từ xa khác mà bạn có thể thiết lập trong trình biên tập dconf. Tuy nhiên, cho đến khi bạn cài đặt vino, truy cập từ xa không hiển thị trong trình soạn thảo dconf.

Tôi hy vọng ai đó có thể giải thích những gì đã xảy ra với sở thích của vino.


-1
gsettings reset-recursively org.gnome.Vino

5
Sẽ rất hữu ích nếu bạn có thể chỉnh sửa câu trả lời của mình để giải thích điều này và cách trả lời câu hỏi.
David Edwards
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.