沒有 X Window 系統的 VNC 伺服器
VNC 伺服器在沒有安裝 X 伺服器的情況下可以工作嗎?我知道 vnc 可以與 X Server 一起使用,但是沒有它怎麼辦?
不,您通常需要在遠端使用 VNC 的伺服器上安裝 X,因為它只是顯示來自該伺服器的 X 桌面。
在計算中,虛擬網路計算 (VNC) 是一種圖形桌面共享系統,它使用遠端幀緩衝協議 (RFB) 來遠端控制另一台電腦。它將鍵盤和滑鼠事件從一台電腦傳輸到另一台電腦,通過網路將圖形螢幕更新轉發回另一個方向。
這一點可能會讓人們感到困惑:
請注意,執行 VNC 伺服器的機器不需要有物理顯示器。在正常的操作方法中,查看器連接到伺服器上的埠(預設埠 5900)。
當他們提到“顯示器”時,他們指的是物理顯示器。遠端伺服器仍然需要安裝和配置 X,以便可以執行 GUI 桌面。
Xvnc、X11vnc 和 vncserver 呢?
Xvnc Xvnc是一個可以獨立執行的 X11 伺服器,但它仍然需要一個桌面來執行它,否則當你啟動它時,你只會看到一個黑色的視窗。所以 Xvnc 在技術上不需要安裝 X,因為它包含自己的 X 伺服器。
所以 Xvnc 真的是兩台伺服器合二為一。對於應用程序來說,它是一個 X 伺服器,而對於遠端 VNC 使用者來說,它是一個 VNC 伺服器。按照慣例,我們已經安排 VNC 伺服器顯示編號與 X 伺服器顯示編號相同,這意味著您可以使案例如。snoopy:2 指的是 X 世界和 VNC 世界中機器“snoopy”上的顯示 2。
通常,您將使用 vncserver 腳本啟動 Xvnc,該腳本旨在簡化流程,並用 Perl 編寫。您可能需要對其進行編輯以適合您的偏好和當地條件。我們推薦使用 vncserver 而不是直接執行 Xvnc,但是 Xvnc 具有與標準 X 伺服器基本相同的選項,只是有一些擴展。執行 Xvnc -h 將顯示一個列表。
$ export DISPLAY=localhost:1.0 $ /usr/bin/Xvnc :1 -ac -auth "/root/.Xauthority" \ -geometry "1200x700" -depth 8 -rfbwait 120000 \ -rfbauth /root/.vnc/passwd 2> /root/.vnc/ServerDaemon.log & $ /bin/sleep 10 $ /usr/bin/fvwm 2> /root/.vnc/fvwm.log &
x11vnc Xvnc 包含自己的 X 伺服器,而x11vnc不包含。它是一個 VNC 伺服器,與已經執行的 X 伺服器、Xvnc 或 Xvfb 集成。它確實具有能夠連接到具有幀緩衝區的東西的獨特功能。
摘抄
x11vnc 在 RAM 中保留 X 伺服器的幀緩衝區的副本。X11 程式介面 XShmGetImage 用於檢索幀緩衝區像素數據。x11vnc 將 X 伺服器的幀緩衝區與其副本進行比較,以查看哪些像素區域已更改(因此需要發送到 VNC 查看器。)
摘抄
它允許從遠端客戶端遠端訪問託管 X Window 會話和 x11vnc 軟體的電腦,不斷輪詢 X 伺服器的幀緩衝區以進行更改。這允許使用者從使用者自己的網路上的遠端電腦或通過 Internet 控制他們的 X11 桌面(KDE、GNOME、XFCE 等),就像使用者坐在它前面一樣。x11vnc 還可以輪詢非 X11 幀緩衝設備,例如網路攝像頭或電視調諧器卡、iPAQ、Neuros OSD、Linux 控制台和 Mac OS X 圖形顯示器。
x11vnc 不會為遠端控制創建額外的顯示器(或 X 桌面)。相反,它使用現有的 X11 顯示器實時顯示在類 Unix 電腦的顯示器上,這與 TightVNC 伺服器等其他 Linux 替代品不同。但是,可以使用 Xvnc 或 Xvfb 創建一個“虛擬”額外顯示,並讓 x11vnc 連接到它,從而使 X-11 能夠訪問無頭伺服器。
vnc伺服器
vncserver
只是一個前端 Perl 腳本,有助於簡化在您將使用 VNC 連接的遠端伺服器上設置 VNC + X 的複雜性。vncserver 用於啟動 VNC(虛擬網路計算)桌面。vncserver 是一個 Perl 腳本,它簡化了啟動 Xvnc 伺服器的過程。它使用適當的選項執行 Xvnc,並在 VNC 桌面上啟動一個視窗管理器。
參考