遠程管理linux主機通常不需要遠程桌面連接,對linux熟悉的人可能只用ssh遠程登陸就夠了。但是有些人想要像管理windows主機一樣使用windows設備管理linux主機,那么xrdp這款軟件就是一個(gè)很好的選擇。xrdp可以讓你用windows上的遠程桌面連接(rdp)登陸linux系統,以圖形界面遠程操作linux主機。安裝xrdp很簡(jiǎn)單,各大發(fā)行版的軟件源都有,以Ubuntu為例,終端輸入:
sudo apt install xrdp
這樣xrdp就安裝好了(如果沒(méi)有桌面環(huán)境需要先安裝桌面環(huán)境),然后輸入:
/etc/init.d/xrdp restart
啟動(dòng)xrdp,這樣就可以在windows上遠程連接了。
在ubuntu的終端輸入
ifconfig
獲得linux主機IP;
在windows上開(kāi)始菜單搜索“遠程桌面連接”,如圖:
RDClient
點(diǎn)擊進(jìn)入,在計算機一欄填入要連接的linux主機IP地址:端口,例如:127.0.0.1:3389。如下圖:
輸入IP地址
3389是默認端口可以不寫(xiě),只寫(xiě)主機IP。然后點(diǎn)擊連接,出現如下圖后輸入用戶(hù)名和密碼后即可登陸。
登陸Linux主機
其它平臺(Android、ios、mac、linux)的RDP客戶(hù)端使用方法大同小異就不多說(shuō)了。
登陸之后嘗試一下各種操作,似乎和本地登陸是一樣的,好像沒(méi)什么問(wèn)題,但是如果沒(méi)問(wèn)題我為什么寫(xiě)這篇文章呢?嘗試播放音樂(lè )和網(wǎng)頁(yè)視頻就會(huì )發(fā)現沒(méi)有聲音。打開(kāi)遠程桌面連——顯示選項——本地資源——設置,如圖所示:
本地資源
在此計算機上播放
選擇在此計算機上播放,點(diǎn)擊確定。重新連接就會(huì )發(fā)現還是沒(méi)有聲音。
大家都知道rdp是支持傳輸聲音的,那么xrdp支持傳輸聲音嗎?我們在安裝xrdp時(shí)會(huì )發(fā)現有一個(gè)推薦安裝的軟件包“xrdp-pulseaudio-installer”,關(guān)于這個(gè)軟件包我并沒(méi)有找到出處,但是看到”audio“這個(gè)單詞大家肯定會(huì )覺(jué)得和聲音有關(guān)系,所以果斷安裝:
sudo apt install xrdp-pulseaudio-installer
安裝之后似乎沒(méi)有任何效果,重啟xrdp服務(wù)沒(méi)用,重啟主機沒(méi)用,刪除會(huì )話(huà)也沒(méi)用,是不是安裝這個(gè)軟件包沒(méi)用呢?肯定是有用的,只是沒(méi)有找到使用的方法。我們用find命令查找名字中帶有xrdp所有文件和文件夾,發(fā)現/etc/xrdp/這個(gè)目錄,在這個(gè)目錄中有一個(gè)叫pulse的文件夾,pulse是linux系統的聲音服務(wù)之一,這說(shuō)明xrdp是支持聲音傳輸的。在這個(gè)目錄里有一個(gè)文件“default.pa”,我們打開(kāi)看一下:
vim /etc/xrdp/pulse/default.pa
會(huì )看到如下內容:
default.pa
說(shuō)明xrdp在連接時(shí)會(huì )檢測“/var/lib/xrdp-pulseaudio-installer/”這個(gè)目錄,如果有module-xrdp-sink.so和module-xrdp-source.so兩個(gè)文件就加載這兩個(gè)文件,沒(méi)有就加載默認的module-native-protocol-unix模塊,但是“cd”進(jìn)入“/var/lib/xrdp-pulseaudio-installer/”目錄發(fā)現并沒(méi)有這兩個(gè)文件。
我在github上x(chóng)rdp項目文檔中找到了相關(guān)內容,大家可以看看這篇文章:“
先把下邊的看完了再點(diǎn)我”。
安裝xrdp時(shí)默認不會(huì )安裝pulse擴展模塊,編譯這兩個(gè)文件需要下載xrdp和pulseaudio的源代碼。xrdp中的pulse模塊編譯依賴(lài)pulseaudio的源代碼,不同的系統環(huán)境使用的pulseaudio版本是不同的,所以xrdp源代碼包里不包含pulseaudio的源代碼,需要同時(shí)使用xrdp和pulseaudo的源代碼來(lái)編譯兩個(gè)module-*.so文件。但是文章在最后安裝時(shí)并沒(méi)有提到xrdp-pulseaudio-installer這個(gè)軟件包,可能官方文檔還沒(méi)更新?編譯完成后我并沒(méi)有按照文章最后說(shuō)的方法去安裝,而是直接將編譯得到的兩個(gè)“.so”文件復制到了“/var/lib/xrdp-pulseaudio-installer/”目錄下(Ubuntu):
cd ~/xrdp/sesman/chansrv/pulse
sudo cp module-xrdp-sink.so /var/lib/xrdp-pulseaudio-installer/
sudo cp module-xrdp-source.so /var/lib/xrdp-pulseaudio-installer/
然后重啟主機和xrdp服務(wù),試試遠程連接(只要是RDP客戶(hù)端都可以)看看有沒(méi)有聲音效果。其他發(fā)行版如果有xrdp-pulseaudio-installer這個(gè)軟件包應該也可以使用這種方法。
本文介紹的方法只在Ubuntu18.04虛擬機中測試通過(guò),并沒(méi)有在其他發(fā)行版和WSL(Windows Subsystem for Linux)中測試,希望測試過(guò)的朋友能告訴我其他發(fā)行版和WSL是否能正常使用。本人水平有限,如有錯誤請一定在評論指出,我會(huì )盡快改正,如果有疑問(wèn)也請評論,我會(huì )盡快回復。。