Ubuntu 安裝可讓 Windows 遠端桌面登入的 xrdp

  • 因為建立一個 VM 來測試 Ubuntu Desktop 的功能, 想看看有沒有比 VNC 效能好一點的服務, 後來找到 xrdp 可以測試看看
  • 安裝環境 : Ubuntu-18.04.1-Desktop
  • 安裝 xfce4 與 xrdp

    sudo apt install xfce4 xrdp

  • 配置登入環境

    echo xfce4-session > ~/.xsession
    sudo vi /etc/xrdp/startwm.sh

    :
    if test -r /etc/profile; then
            . /etc/profile
    fi
    
    startxfce4
    test -x /etc/X11/Xsession && exec /etc/X11/Xsession
    exec /bin/sh /etc/X11/Xsession
  • 啟動 xrdp 服務

    sudo service xrdp restart

  • 確認服務正常運行

    netstat -na | grep 3389
    :
    tcp6       0      0 :::3389                 :::*                    LISTEN     
    :

  1. 使用 windows 遠端桌面連上 Ubuntu IP Exp. 192.168.11.55
  2. 登入 Ubuntu 內的帳號密碼
  • 如果需要透過背景執行 xwin 的相關程式, 就需要找到 DISPLAY 的 ID, 方法其實很簡單, 直接在 rdp 底下開啟 terminal 輸入 echo $DISPLAY 就可以查到
  • 之後可以使用 ssh 連入主機端執行一個 xwin 程式進行驗證 Exp.
    DISPLAY=:10.0 xterm &


  • 安裝中文字型相關套件

    sudo apt-get install  language-pack-zh-han*
    sudo apt install $(check-language-support)
    sudo apt-get install font-manager

  • 更改預設為中文環境

    sudo vi /etc/default/locale

    LANG="zh_TW.UTF-8"
    LANGUAGE="zh_TW:zh:en_US:en"
    sudo vi /etc/environment
    LANG="zh_TW.UTF-8"
    LANGUAGE="zh_TW:zh"
    LC_NUMERIC="zh_TW"
    LC_TIME="zh_TW"
    LC_MONETARY="zh_TW"
    LC_PAPER="zh_TW"
    LC_NAME="zh_TW"
    LC_ADDRESS="zh_TW"
    LC_TELEPHONE="zh_TW"
    LC_MEASUREMENT="zh_TW"
    LC_IDENTIFICATION="zh_TW"
    LC_ALL="zh_TW.UTF-8"
    sudo dpkg-reconfigure locales

    選擇 zh_TW.UTF-8 UTF-8

    sudo fc-cache -fv
  • 重新開機讓設定生效

    sudo reboot

  • 重新連入後就可以看到中文訊息
  1. 需要先透過遠端桌面登入 (產生 X Server) Exp. DISPLAY=:10.0
  2. 執行 xcreensaver-demo 來產生 ~/.xscreensaver 設定檔

    DISPLAY=:10.0 xscreensaver-demo

    使用 CTRL-C 中斷後就會產生

  3. 修改 ~/.xscreensaver 設定檔內的 mode 預設為 random

    vi ~/.xscreensaver

    :
    mode:         off
    :
  4. 可以再次執行 xcreensaver-demo 來確認已經關閉 Screen Saver 設定,

    DISPLAY=:10.0 xscreensaver-demo

    一樣使用 CTRL-C 中斷後就會關閉畫面

  • tech/ubuntu_xrdp.txt
  • 上一次變更: 2021/10/02 21:20
  • jonathan