ubuntu16.04.1安裝xrdp實現遠程桌面訪問

之前測試過xfce4桌面,但是其實ubuntu16.04.1默認的unity桌面也是可以的.首先需要安裝 tigervncserver_1.6.80

wget -c http://www.c-nergy.be/downloads/tigervncserver_1.6.80-4_amd64.zip #下載
unzip tigervncserver_1.6.80-4_amd64.zip #解壓
sudo apt install ./tigervncserver_1.6.80-4_amd64.deb #安裝,自動解決依賴

然後安裝xrdp

sudo apt install xrdp

修改xrdp配置文件/etc/xrdp/startwm.sh,解決xrdp遠程後無圖像,無頂欄的問題..

#!/bin/sh

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

/usr/lib/gnome-session/gnome-session-binary --session=ubuntu &
/usr/lib/x86_64-linux-gnu/unity/unity-panel-service &
/usr/lib/unity-settings-daemon/unity-settings-daemon &

for indicator in /usr/lib/x86_64-linux-gnu/indicator-*;
do
        basename=`basename ${indicator}`
        dirname=`dirname ${indicator}`
        service=${dirname}/${basename}/${basename}-service
        ${service} &
done

. /etc/profile
unity
. /etc/X11/Xsession

修改 /etc/pam.d/sesman 文件,添加兩行,解決環境變量不全的問題

#%PAM-1.0
session       required   pam_env.so readenv=1 envfile=/etc/environment
session       required   pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
@include common-account
@include common-session
@include common-password

添加配置文件 /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf

polkit.addRule(function(action, subject) {
if ((action.id == “org.freedesktop.color-manager.create-device” ||
action.id == “org.freedesktop.color-manager.create-profile” ||
action.id == “org.freedesktop.color-manager.delete-device” ||
action.id == “org.freedesktop.color-manager.delete-profile” ||
action.id == “org.freedesktop.color-manager.modify-device” ||
action.id == “org.freedesktop.color-manager.modify-profile”) &&
subject.isInGroup(“{users}”)) {
return polkit.Result.YES;
}
});

重啓服務

sudo service xrdp restart
sudo service polkitd restart

連接成功後如下圖顯示

可以看到有正常的頂欄(任務欄,可以用來註銷當前用戶),而且環境變量也是正確的.系統的版本是Ubuntu16.04.1

以上就是ubuntu16.04 安裝xrdp 的步驟.

但是在實際使用中發現存在以下嚴重問題

相同的賬戶並不能共享畫面,即用ip(192.168.1.3),賬號test,連接遠程桌面;然後再用ip(192.168.1.4)賬號test,連接遠程桌面.這兩個畫面可以同時顯示,且不一樣,但都是相同的 test賬號的.這與微軟的遠程桌面不一致.微軟的遠程桌面同一個賬號只能有一個畫面,後來登錄者會踢掉前者的畫面.相同賬號具有排他性.所以對於不想麻煩的同學,推薦一個寫好的腳本.網站在這裏

http://c-nergy.be/blog/?p=11719,我測試的 是 

http://www.c-nergy.be/downloads/install-xrdp-1.9.2.zip

因爲腳本使用git,所以不同時間拉取的代碼可能不一樣.我測試發現,默認運行後並不能遠程桌面訪問,會提示 發生身份驗證錯誤,給函數提供的標誌無效

查詢後得知,需要修改 /etc/xrdp/xrdp.ini 

; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1

將默認的 TLSV1.3修改爲TLSv1或者用逗號分隔後添加 TLSv1

之後就可以正常的遠程訪問桌面,並且相同賬號只能有一個畫面,方便在不同的地方遠程使用.

But,再次測試發現,通過 mstsc 看到的畫面 和直接在服務器上登錄相同的賬號看到的畫面不一致,也就是說相同的賬號最多有兩個畫面,一個服務器本地登錄的畫面,一個遠程桌面的畫面.以上的腳本基本滿足要求了.和windows的還是不一致.windows 相同的賬號只有一個畫面不區分本地和遠程桌面.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章