跳轉到內容

網際網路技術/VNC

來自華夏公益教科書,開放的書籍,開放的世界

虛擬網路計算 (VNC) 是一種遠端桌面協議,用於遠端控制另一臺計算機。VNC 用於將圖形使用者介面的桌面環境從一臺計算機傳輸到網路上另一臺計算機上的檢視器應用程式。許多平臺都有客戶端和伺服器,包括 Linux、Microsoft Windows、Berkeley Software Distribution 變體和 MacOS X。事實上,你會很難找到任何圖形介面作業系統沒有可用的檢視器。VNC 協議允許完全的平臺獨立性。任何作業系統的 VNC 檢視器都可以連線到任何其他作業系統的 VNC 伺服器。也可以允許多個客戶端同時連線到一個 VNC 伺服器。該技術的常用用途包括遠端技術支援,以及在家裡或旅途中訪問工作電腦上的檔案。甚至還有一個用於 VNC 的 Java 檢視器,因此您可以從 Web 瀏覽器連線到 VNC 伺服器,而無需安裝任何軟體。最初的 VNC 程式碼是開源的,如今市面上許多 VNC 版本也是開源的。

它是如何工作的

[編輯 | 編輯原始碼]

VNC 實際上分為兩部分,一個客戶端和一個伺服器。伺服器是共享其螢幕的機器,而客戶端或檢視器是正在觀看並可能與伺服器互動的程式。VNC 實際上是一個非常簡單的協議,並且基於一個且只有一個圖形原語,“在給定的 x,y 位置放置一個畫素資料矩形”。這意味著 VNC 獲取螢幕的小矩形(實際上是幀緩衝區),並將它們從伺服器傳輸到客戶端。在最簡單的形式中,這會導致使用大量頻寬,因此已經發明瞭各種方法來加快此過程。現在有許多不同的“編碼”或方法來確定傳輸這些矩形的最高效方式。VNC 協議允許客戶端和伺服器協商將使用哪種編碼。最簡單和最通用的方法是原始編碼方法,其中畫素資料按從左到右的掃描線順序傳送,並在初始設定後,僅傳輸已更改的矩形。

如何複製和貼上

[編輯 | 編輯原始碼]

如何將執行在伺服器上的應用程式(在本地 VNC 視窗中可見)中的內容複製和貼上到本地執行的應用程式(在 VNC 視窗之外)中,反之亦然?

有些人[1] [2]建議使用 xcutsel 或 autocutsel 作為一種變通方法

在 VNC 伺服器端(在 VNC 視窗內)執行“xcutsel &”。讓它一直執行。

  • 1. 如果你想從 VNC 複製到本地,選擇要複製的內容,然後在 xcutsel 中點選“將 PRIMARY 複製到 0”,然後在本地貼上。
  • 2. 如果你想從本地複製到 VNC,選擇要複製的內容,然後在 xcutsel 中點選“將 0 複製到 PRIMARY”,然後在 VNC 視窗中貼上。

其他人[3]推薦使用 autocutsel(或者它是 autcutsel?),並指向VNC 常見問題解答

有關 X 視窗系統中剪下和貼上的細微差別,請參閱 Jamie Zawinski 在 2002 年撰寫的“X 選擇、剪下緩衝區和殺死環”(如果你正在編寫 X11 應用程式,這將非常有用)。

[編輯 | 編輯原始碼]
華夏公益教科書