1. 程式人生 > >xrdp實現windows遠端桌面連線問題

xrdp實現windows遠端桌面連線問題

在這裡,我將介紹XRDP的安裝配置方法。我們可以很方便的通過windows遠端桌面 linux。

xrdp安裝配置方法

開啟終端:依次安裝

sudo apt-get install xrdp

sudo apt-get install vnc4server tightvncserver

設定xrdp

echo "gnome-session --session=gnome-classic" > ~/.xsession

該命令的作用是由於安裝了 gnome桌面,ubuntu12.04中同時存在unity、GNOME多個桌面管理器,需要啟動的時候指定一個,不然

即使遠端登入驗證成功以後,也只是背景。

xrdp的配置文件在/etc/xrdp目錄下的xrdp.ini和sesman.in,一般選擇預設。

重啟 xrdp

sudo /etc/init.d/xrdp restart

執行Windows的mstsc

即windows 遠端桌面,開啟輸入遠端的Ip,連線,輸入使用者密碼 即可遠端linux.

 

遇到的錯誤

1,xrdp 訪問 ubuntu 只看到背景,看不到選單欄的解決辦法 

方法:安裝gnome-panel
sudo apt-get install gnome-panel

2,出現錯誤:連線錯誤

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to sesman
login successful for display 14
started connecting
connecting to 127.0.0.1 5914
error - problem connecting

xrdp-sesman.log下錯誤為:

[INFO ] starting Xvnc session...
[ERROR] X server for display 10 startup timeout[INFO ] starting xrdp-sessvc - xpid=2924 - wmpid=2923
[ERROR] X server for display 10 startup timeout
[ERROR] another Xserver is already active on display 10
[DEBUG] aborting connection...
如果你的log也有類似 X server for display 10 startup timeout

another Xserver is already active on display 10

問題根源在於tightvnc,出現問題的版本跟X字型有衝突,導致連線Xserver出錯

解決方法:

apt-get purge tightvnc xrdp
apt-get install tightvncserver xrdp

最後:

啟動xrdp服務,sudo /etc/init.d/xrdp restart,此時會啟用相應埠,配置方面預設即可。

通過命令:netstat  -tnl

檢視 3350 3389 5910 這三個埠處於LISTEN,一般就沒問題了。

3. 執行一段時間後,出現xrdp_mm_process_login_response: login failed

問題原因:遠端桌面沒有正確關閉,雖然在windows 系統關閉遠端桌面連線,但是在裡linux上的程序還在執行,導致連線數量達到上限,出現問題。

解決:通過設定sesman.in檔案內的引數,解決。

[email protected]:~# cat /etc/xrdp/sesman.ini
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh

[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins

[Sessions]
X11DisplayOffset=10
MaxSessions=50
KillDisconnected=1
IdleTimeLimit=0
DisconnectedTimeLimit=0

[Logging]
LogFile=/var/log/xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG

[X11rdp]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp

[Xvnc]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp
param5=-localhost
param6=-dpi
param7=96

可以修改會話設定  :將最大會話限制該大  MaxSessions=50
將KillDisconnected=1;則每次斷開連線時,linux都會關閉會話程序。

然後重啟/etc/init.d/xrdp restart    就可解決問題