For a while I’ve been stuck with an odd problem in that after starting an xrdp session, if I try to reconnect to that session then I’m unable to do so, and find that xrdp-sesman has crashed/segfaulted.
It was odd because it works perfectly on another machine I use with an earlier version of Ubuntu, but I found a solution
Follow this link at the Ubuntu bugs reporting system;
Konstantin Kasatkin wrote on 2010-11-20:
Hi brothers by misfortune, finally I’ve found the root of evil!!!
I guest all of you have samba installed in the System (If no it can be any additional package that has own pam authorizatuion schema). I will show what is wrong on the example with samba.
When you install samba package the installer adds an authorization method string into /etc/pam.d/common-auth file, it looks like:
auth optional pam_smbpass.so migrate
From the outer hand file /etc/pam.d/sesman contains inctruction:
So this way the samba authorization method take part in authorization and sesman crashes on it.
The solution is just move string [auth optional pam_smbpass.so migrate] from file /etc/pam.d/common-auth to file /etc/pam.d/samba rigth under string [@include common-auth] and all will be fine.
BTW, I recomment you get from CVS repository last version 0.6.0 xrdp package, compile it and install, it has a fix allowing you to use MS RD Client version 7 comming with Windows 7 for connectivity. I’ve set it up and it works perfectly. And whats more developers changed content of file /etc/pam.d/sesman (btw now it is named /etc/pam.d/xrdp-sesman). They removed all includes and added all auth strings directly, so if you use any additional auth schema, like pam_mysql for example, keep it into account.
Note that he mentions this isn’t just caused by the samba package, but that any package which installs an additional entry in /etc/pam.d/common-auth might cause the same problem with xrdp on Ubuntu 10.10.
The solution worked perfectly for me.