1. 程式人生 > WINDOWS開發 >Linux和Windows間的遠端桌面訪問

Linux和Windows間的遠端桌面訪問

在Windows上面,我們都用過系統自帶的遠端桌面連線或者TeamViewer這樣的工具,可以方便的讓我們用圖形化方式遠端操作其他計算機。但是在Linux上,我們一般都是使用SSH來操作終端。那麼在Linux上有沒有一些工具可以讓我們像Windows那樣用圖形化的方式來訪問桌面呢?答案當然是有的,這就是這篇文章要介紹的。

遠端桌面連線主要使用兩種協議,第一種就是微軟在Windows上的RDP(Remote Desktop Protocol)協議,第二種就是VNC(Virtual Network Console)協議。從使用效果上來說,VNC協議更加優秀,所以如果有條件的話我還是推薦大家使用使用VNC協議的工具。下面將會逐一介紹。

RDP協議

rdesktop

首先要介紹的一個工具是Rdesktop,它實現了RDP協議,允許我們在Linux系統上遠端登入Windows系統。以深度系統為例,安裝Rdesktop使用下面的命令。

sudo apt install rdesktop

安裝完成之後,使用類似下面的命令來訪問遠端Windows系統。

rdesktop -g 1440x900 -P -z -x l -r sound:off -u windowsuser 192.168.31.100:3389

登入之後介面類似下面這樣。當然對應的Windows系統別忘了開啟允許遠端連線到本計算機,否則用什麼客戶端也是無法連線的。如果連線有問題,在Windows上取消“僅允許執行使用網路級別身份驗證的遠端桌面的計算機連線”選項。

技術分享圖片 rdesktop

下面簡單解釋一下這些引數意義。

引數意義
-g 後面代表要使用的解析度
-P 啟用點陣圖快取
-z 啟用RDP資料流壓縮
-x l 使用區域網級別的影象質量
-r sound:off 關閉聲音
-u windowuser 指定要使用的使用者
IP地址 要連線的計算機的IP地址和埠號

特別提一下,如果希望使用全屏方式來遠端登入,可以在-g引數那裡使用100%。如果需要更詳細的使用說明,請用man rdekstop查詢自帶的幫助頁面。

這裡還是推薦ArchWiki這個網站,雖然它是ArchLinux的百科網站,但是很多知識是完全可以通用到其他Linux系統上的。我這裡也參考了ArchWiki的相關內容

wiki.archlinux.org/index.php/Rdesktop

grdesktop

當然,命令列方式使用有些時候還是比較麻煩的。對於Rdesktop來說自然也有對應的圖形化前端工具,grdesktop就是一個不錯的工具,它是Gnome桌面的遠端登入前端。我們可以使用下面的命令來安裝。

sudo apt install grdesktop

開啟是一個類似這樣的介面,輸入相關資訊然後連線即可。

技術分享圖片 grdesktop

連線之後類似下圖。

技術分享圖片 grdesktop

krdc

krdc是KDE桌面的rdp和vnc連線工具。我們使用下面的命令安裝krdc.

sudo apt install krdc

開啟之後如圖所示。使用時需要先輸入要連線的計算機地址,然後按回車在彈出的對話方塊中進行進一步設定。

技術分享圖片 krdc

連線成功之後主視窗右半部分應該會顯示遠端桌面的內容,但是不知道什麼情況我的krdc始終沒辦法連線成功,所以沒辦法截圖了。

xrdp

前面的rdesktop工具可以讓我們在Linux系統上遠端桌面登入Windows系統,如果反過來,希望在Windows上用RDP協議遠端登入到Linux系統,就比較麻煩了。這就需要xrdp來幫助我們了。它是一個RDP服務端,可以讓我們用遠端桌面方式登入到Linux系統。

首先要安裝xrdp。

sudo apt install xrdp

然後啟動xrdp服務。

sudo systemctl enable xrdp
sudo systemctl start xrdp

現在你應該可以使用Windows自帶的遠端桌面工具來連線到Linux系統了。


技術分享圖片 xrdp

輸入使用者名稱和密碼之後稍等片刻,應該就會顯示出Linux的桌面了。

技術分享圖片 xrdp訪問桌面

好了,以上就是關於使用RDP協議的一些工具的介紹。從截圖上,我們可以看到,RDP協議的一個缺點,就是如果平臺不同的話,顯示效果其實是很差的。我這還是區域網的兩臺電腦,假如間隔距離更長,效果會更差。RDP協議還是在Windows間使用比較適合。跨平臺的話,還是下面介紹的VNC協議更加強大。

VNC

tigervnc和x11vnc

先來說說Linux上的VNC服務端,比較常用的就是tigervnc和x11vnc。x11vnc可以讓遠端訪問者控制本地的實際顯示器,而tigervnc既可以遠端控制實際顯示器,還可以控制平行獨立於當前物理顯示器的虛擬顯示器。不過由於在我的筆記本上測試tigervnc沒有成功,所以這裡我只介紹一下x11vnc。如果想要了解tigervnc的詳細資訊,可以參考一下ArchWiki TigerVNC

首先用下面的命令安裝x11vnc。

sudo apt install x11vnc

安裝好之後就可以啟動了,啟動也很簡單,-passwd引數指定密碼,-forever引數指定這個會話始終開啟。

x11vnc -passwd PASSWORD -display :0 -forever

開啟之後就可以使用客戶端進行連線了,預設埠號是5900,會在終端中顯示出來。

Linux上的VNC客戶端

Linux上的VNC客戶端軟體選擇就比較豐富了,各大Linux桌面系統都推出了自己的VNC客戶端。我們可以根據自己需要來使用。

首先介紹一下Vinagre,這是Gnome桌面環境的遠端桌面客戶端,同時支援SSH、RDP和VNC協議。使用下面的命令安裝Vinagre。

sudo apt install vinagre

軟體開啟的介面如圖所示。


技術分享圖片 Vinagre建立連線

這是連線效果圖,這是用VNC協議連線到我的Windows系統。


技術分享圖片 Vinagre

然後是KRDC,這是前面介紹的KDE桌面的遠端連線軟體,它同時支援RDP和VNC協議。這是它使用VNC的連線效果圖。

技術分享圖片 KRDP

最後是Remmina,它也同時支援RDP和VNC協議。我們可以用下面的命令安裝它。

sudo apt install remmina

下面是它的連線效果圖。


技術分享圖片 Remmina

Windows上的VNC軟體

前面介紹了Linux上一些支援VNC協議的軟體。在Windows上同樣有一些支援VNC協議的軟體,常用的有RealVNC(收費)、UltraVNC(免費)和TightVNC(免費),它們同時既是服務端又是客戶端。這三個軟體我都試了一下,感覺免費的TightVNC效果不錯。收費的RealVNC和TeamViewer差不多,主要功能都在雲端協作這方面,如果只是單純的遠端連線,TightVNC完全夠用了,這是TightVNC的下載連結

下面是幾張RealVNC的截圖,有興趣的同學可以註冊個賬戶試用30天。

技術分享圖片 RealVNC 技術分享圖片 RealVNC服務端和客戶端

然後來介紹一下TightVNC。安裝好之後開始選單會多出幾個選單項。首先點選Start TightVNC Service啟動服務,然後系統托盤會多出一個圖示,這就是TightVNC的圖示。然後雙擊它開啟設定。最主要的就是埠號和密碼了,其實埠號也不需要設定,主要就是密碼。設定完成後點選OK即可。

技術分享圖片 TightVNC伺服器設定

如果需要遠端登入其他系統,使用TightVNC Viewer。開啟之後如圖所示,按照IP地址::埠號的格式輸入地址,然後輸入密碼即可。主要這裡是雙冒號,不是單冒號。

技術分享圖片 TightVNC Viewer

連線成功之後如圖所示。

技術分享圖片 TightVNC Viewer連線

好了,以上就是Linux和Windows上RDP和VNC的一些軟體的介紹和使用,希望對大家有所幫助。



作者:樂百川
連結:https://www.jianshu.com/p/f60cec98eccd
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。