五分鐘建置屬於你的Ubuntu遠端桌面(RDP)系統

這幾年接觸不少NAS的技術外
應用虛擬化- docker 也是使用相當多的關鍵技術
從一開始微軟Windows 10 不支援、虛擬主機一路到 WSL2
微軟逐步擁抱開源的政策下 docker成了我最喜歡的服務部署工具
無論是技術測試驗證、還是服務部署,第一個動作一定是先找看看有沒有對應的映像檔在dockerhub

一些特殊的使用情境,例如資訊安全考量,特定的網頁僅能在特定IP下才能存取
直接在該區域網路建置一台主機是相對暴力且直接的解法
建置不難,存取方便才是關鍵
以ubuntu來說,原生系統提供的是ssh服務,要在黑底白字的環境操作,相當仰賴經驗
以Windows來說,這就相對容易多,作業系統本身提供Remote Desktop Protocol技術
啟動遠端桌面功能後,就能快速存取區域網路內的遠端電腦

ubuntu其實也能做到
常見是透過VNC技術,它是一款圖形化遠端桌面系統,透過Remote framebuffer 技術達到
可以簡單理解就是將遠端桌面的影像像影片一樣進行連續傳輸
但它可以在傳輸過程同時提供鍵盤與滑鼠事件的觸發
這技術好用嗎?
答案是肯定的,很多開源環境都使用它
例如樹梅派要進行遠端程式部署,VNC絕對是你的首選
它的問題在哪呢?
在於RFB技術它相對是一個不安全的協議

RDP是微軟提出的協議
從安全性來看,相較RFB技術,它提供更為嚴謹的加密技術
從windows用戶來看,哪怕你要遠端連線的電腦不是windows
你也可以很輕鬆地透過”遠端桌面”軟體來進行連線,連安裝都不用安裝其他軟體
甚至iPad、Android裝置都有提供這類型的APP(RD Client)

在微軟的作業系統
RDP基本上是百分之百支援的
如果要部署的環境在ubuntu怎麼辦?
其實也不難,透過Gnome, ubuntu-desltop, xrdp等套件
還有一堆繁瑣的設定都能協助你達成這樣的建置

回到正題
如果只是描述這樣子的安裝流程 網路上其實滿多的
有沒有更快的方式
有的,你可以選用docker來快速建置這套服務
在找了也測試了多款映像檔後,推薦rattydave/docker-ubuntu-xrdp-mate-custom
基本上它都協助你完成重要的參數配置
甚至可以讓你透過volume的技術管理存取使用者帳戶、共用資料夾與啟動批次腳本
容器啟動的腳本相當簡單
參考下面的指令,抽換CREATEUSERS(服務使用者帳戶權限)、STARTUP(啟動腳本)與共用目錄(HOME DIRECTORY)就完成服務的啟動與建置了

docker run --name RattyDAVE20.04 \
           --privileged=true \
           -p 3389:3389 \
           -e TZ="Europe/London" \
           -v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \
           -v %LOCAL_PATH_TO_STARTUP.SH_FILE%:/root/startup.sh \
           -v %LOCAL_PATH_TO_HOME_DIRECTORY%:/home \
           -dit --restart unless-stopped \
           rattydave/docker-ubuntu-xrdp-mate-custom:20.04

短短一道命令
你不會遇到奇奇怪怪的問題
網路速度快一點的,整個建置可以壓在三分鐘內
大幅提升效率

如果依照官網的建議
我想你會遇到一個問題 為什麼我的中文網頁通通都是亂碼
這也是我提筆撰寫這則訊息的關鍵
原因在於系統語系設定

apt-get update
apt-get -y install language-pack-de language-pack-gnome-de
locale-gen de_DE.UTF-8
update-locale LANG=de_DE.UTF-8

可以看到上面是建議的startup.sh配置
應該不難發現他使用的語系是德國語系,這也是為什麼繁體中文是亂碼
解決方式不難,但一開始沒經驗,也花了我不少時間

apt-get update
apt upgrade -y

apt-get -y install language-pack-zh-han* language-pack-gnome-zh-han*
sudo apt install fonts-wqy-*
locale-gen zh_TW.UTF-8
update-locale LANG=zh_TW.UTF-8

網路上找到滿多簡體中文的解決方案,繁體中文的方案如上
可以看到我安裝了繁體中文的語系檔,還有一個隱藏關鍵- 字型檔
短短一行程式碼可以讓你像鬼打牆一樣花上半個多小時在除錯

sudo apt-get install fonts-wqy-zenhei fonts-wqy-microhei

這篇文章提供給遇到坑的工程師
也提醒自己正確的繁體中文語系設定流程應該長這樣

在〈五分鐘建置屬於你的Ubuntu遠端桌面(RDP)系統〉中有 3 則留言

發佈留言