Ubuntu

僅限 LAN 的 VNC 設置

  • November 25, 2018

目標:

我在 LAN 環境中有 2 台電腦(我將它們稱為

$$ computer A $$和$$ computer B $$) 我想登錄$$ computer B $$通過$$ computer A $$. 我有一個 VNC 客戶端

$$ computer A $$ Remote Desktop Viewer我已經設置Desktop Sharing Preferences了$$ computer B $$,請參閱下面的螢幕截圖。區域網路IP地址$$ computer A $$是 192.168.0.1 和 LAN IP 地址$$ computer B $$是 192.168.0.2。 兩台電腦互相ping都沒有問題!


問題:

我的問題是,我如何連接到

$$ computer B $$從$$ computer A $$?


錯誤資訊:

當我嘗試連接時,我目前收到以下錯誤消息:

connection to 192.168.0.2 was closed

192.168.0.2 是 IP 地址

$$ computer B $$.


埠/防火牆:

我執行時看不到列出的埠 5900 sudo lsof -i -P | grep -i listen。我也沒有安裝防火牆。我現在在兩者上都安裝了 Gufw

$$ computer A $$和$$ computer B $$. 我不確定如何配置它。我是否將其設置為允許 vnc 的傳入連接$$ computer B $$並允許 vnc 的傳出連接$$ computer A $$?


其他資訊:

Computer A = 192.168.0.1 = Ubuntu 12.04
Computer B = 192.168.0.2 = Debian Stable

兩者都已全面更新


IPTABLES(伺服器和客戶端相同):

Chain INPUT (policy ACCEPT)
target - prot opt source - destination

Chain FORWARD (policy ACCEPT)
target - prot opt source - destination

Chain OUTPUT (policy ACCEPT)
target - prot opt source - destination

監聽埠

sudo lsof -i -P | grep -i listen
rpcbind   1853        root    8u  IPv4   5755      0t0  TCP *:111 (LISTEN)
rpcbind   1853        root   11u  IPv6   5762      0t0  TCP *:111 (LISTEN)
rpc.statd 1884       statd    8u  IPv4   5818      0t0  TCP *:56428 (LISTEN)
rpc.statd 1884       statd   10u  IPv6   5826      0t0  TCP *:39576 (LISTEN)
cupsd     2615        root    6u  IPv6  17952      0t0  TCP localhost:631 (LISTEN)
cupsd     2615        root    8u  IPv4  17953      0t0  TCP localhost:631 (LISTEN)
mysqld    3042       mysql   10u  IPv4   7466      0t0  TCP localhost:3306 (LISTEN)
exim4     3855 Debian-exim    3u  IPv4   8075      0t0  TCP localhost:25 (LISTEN)

截圖:

這是我的客戶端軟體

$$ computer A $$: 在此處輸入圖像描述 這是我擁有的軟體(我猜是伺服器軟體)

$$ computer B $$: 在此處輸入圖像描述

方法 #1 - 來自 ComputerA -> B 的 VNC

使用者已經在 B 上登錄的位置

您沒有指定您正在使用的 VNC 客戶端,但其中一個比較流行的客戶端是 Vinagre。它通常包含在基於 GNOME 桌面的發行版中,它應該涵蓋大多數較大的發行版。

安裝

首先,您需要確保已vinagre安裝 GNOME 的 VNC 客戶端以及 VNC 伺服器,vino.

在我的 Fedora 19 系統上,這些軟體包需要安裝。

$ sudo yum install vinagre vino

在 Ubuntu 上,您將安裝相同的軟體包,使用apt.

$ sudo apt-get install vinagre vino

伺服器設置

安裝後,您需要確保 VNC 伺服器正在電腦 B 上執行。您可以通過導航設置->共享菜單來執行此操作,您可以從中選擇啟用“螢幕共享”。

軟呢帽

     葡萄酒的ss

Ubuntu

              ubuntu 首選項的 ss

**注意:**您可以從命令行呼叫 vino 的首選項,如下所示:

$ vino-preferences

客戶端設置

在電腦 B 上設置 VNC 伺服器後,您現在應該可以使用vinagreVNC 客戶端從電腦 A 連接到它。您可以從命令行執行此操作,如下所示:

$ vinagre vnc://greeneggs.bubba.net

其中vnc://...是由 提供的伺服器字元串vino,如上面的螢幕截圖所示。

補充筆記

  • 如果您需要直接從命令行呼叫 VNC 伺服器的對話框,則呼叫vino-preferences.
  • vinagre也是一個可以裸啟動的 GUI,並且可以為您可能經常使用的 VNC 伺服器維護書籤。要啟動它,請使用命令vinagre

      醋的SS

方法 #2 - 來自 ComputerA -> B 的 VNC

使用者尚未登錄 B

伺服器設置

Ubuntu

  1. 安裝x11vnc
$ sudo apt-get install x11vnc
  1. 創建/etc/init/x11vnc.conf文件。
start on login-session-start
script
x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log
end script
  1. 重啟(rebooting)後,x11vnc應該會監聽標準的VNC埠,5900。
  2. 你可以確認
$ sudo netstat -tapn | grep 5900
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2379/x11vnc     
tcp6       0      0 :::5900                 :::*                    LISTEN      2379/x11vnc     

**注意:**該腳本基於 Lightdm 發出login-session-start事件,x11vnc然後啟動的新貴事件機制。

參考

引用自:https://unix.stackexchange.com/questions/106799