僅限 LAN 的 VNC 設置
目標:
我在 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 上執行。您可以通過導航設置->共享菜單來執行此操作,您可以從中選擇啟用“螢幕共享”。
軟呢帽
Ubuntu
**注意:**您可以從命令行呼叫 vino 的首選項,如下所示:
$ vino-preferences
客戶端設置
在電腦 B 上設置 VNC 伺服器後,您現在應該可以使用
vinagre
VNC 客戶端從電腦 A 連接到它。您可以從命令行執行此操作,如下所示:$ vinagre vnc://greeneggs.bubba.net
其中
vnc://...
是由 提供的伺服器字元串vino
,如上面的螢幕截圖所示。補充筆記
- 如果您需要直接從命令行呼叫 VNC 伺服器的對話框,則呼叫
vino-preferences
.vinagre
也是一個可以裸啟動的 GUI,並且可以為您可能經常使用的 VNC 伺服器維護書籤。要啟動它,請使用命令vinagre
。
方法 #2 - 來自 ComputerA -> B 的 VNC
使用者尚未登錄 B
伺服器設置
Ubuntu
- 安裝
x11vnc
$ sudo apt-get install x11vnc
- 創建
/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
- 重啟(rebooting)後,
x11vnc
應該會監聽標準的VNC埠,5900。- 你可以確認
$ 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
然後啟動的新貴事件機制。參考