Petter Reinholdtsen | 24 May 2013 14:35

Some patches for xrdp for you to consider


Hi.  At work we use xrdp to allow Windows users access to Linux
desktops.  To get it working as we want with tigervnc, we had to patch
it a bit.  The last few days I have submitted these patches to Debian,
but guess I also should mention them here.

<URL:
http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=xrdp&include=tags:patch&exclude=tags:pending&pend-exc=done&repeatmerged=no >
is the complete list of patches I've submitted so far.

 #709595 xrdp: Implement server side desktop resize event and rdesktop workaround
 #709588 xrdp: Please add norwegian keyboard definition
 #709590 xrdp: Make it possible to change the default keyboard layout
 #709594 xrdp: Allow users to reconnect with different desktop geometry sizes

Please consider including them in a future version of xrdp.

The patches were written by my college Dag-Erling Smørgrav, but he ran
out of time and did not have time to push them upstream.  Thus here I am
trying to help. :)

--

-- 
Happy hacking
Petter Reinholdtsen

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
(Continue reading)

Gustavo Homem | 23 May 2013 18:33
Picon
Favicon

Re: Improving XRDP performance

Hi Abraham,

> Hi everybody,
>
> I’m trying to improve the performance of XRDP.
>
>
>
> Let me explain the problem. When a user is writing in an OpenOffice
> document and things like that, the performance is OK, but if a user
> tries to watch a Youtube video the performance could be a problem.
>
> With the “bitmap_compression=yes” configuration parameter set in
> “xrdp.ini”, and monitoring with the “top” Linux command, the CPU
> used by XRDP process was up to 60%.
>
>
>
> First of all, I set the “-O3” GCC option to get the code optimized,
> and with the same test (and the same video) the CPU used by xrdp was
> up to 45%.

Do you get this consistently in a reproducible manner? Are you sure you are playing the same exact video
without any other load varations on the host?

Can you garantee that the client and network are not at 100% load when you were testing the second time?

Sorry for the overchecking :-) A potencial 15% performance gain is worth being well understood.

We did some performance testing here and it is quite easy to have the test disturbed by network or client CPU
(Continue reading)

Abraham Macías Paredes | 23 May 2013 15:08
Picon
Favicon

Improving XRDP performance

Hi everybody,

I’m trying to improve the performance of XRDP.

 

Let me explain the problem. When a user is writing in an OpenOffice document and things like that, the performance is OK, but if a user tries to watch a Youtube video the performance could be a problem.

With the “bitmap_compression=yes” configuration parameter set in “xrdp.ini”,  and monitoring with the “top” Linux command, the CPU used by XRDP process was up to 60%.

 

First of all, I set the “-O3” GCC option to get the code optimized, and with the same test (and the same video) the CPU used by xrdp was up to 45%.

 

Them I’ve made some little changes to “xrdp_bitmap_compress” function to improve the performance of the RLE compression algorithm. When I repeated the test the CPU used was up to 36%.

 

Now I realize that using RLE compression with real video frames is not a good idea, because it consumes a lot of CPU and doesn’t compress very much. So I’m thinking in modifying “libxrdp_send_bitmap” function to test the image before to compress it.

 

I mean, set a test like:

  If (is_rle_compression_worthy()) {

     /* Performs RLE compression */

  } else {

     /* Send as RAW image */

}

 

Anyone knows how may I implement the “is_rle_compression_worthy”?

 

Thank you very much!

 

Abraham Macías Paredes

 

 

T: 955 11 11 55

F: 954 37 11 42

 

Solutia Innovaworld Technologies S.L.

Parque Empresarial Los Llanos

C/ Extremadura, 108 - 41909 - Salteras (Sevilla)

 

Sus datos personales contenidos en esta comunicación han sido recogidos de los contactos mantenidos por Vd. o por personas de su entorno, con personal de SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. y han sido incorporados al fichero de GESTIÓN COMERCIAL con la finalidad de realizar la gestión, seguimiento y mantenimiento de nuestra relación comercial, o a otro fichero correspondiente al tipo de relación que mantiene con nosotros, de lo que Vd. fue convenientemente informado al recibir bien el documento contractual entregado al inicio de los contactos bien en una comunicación inmediatamente posterior en que se daba cumplimiento al derecho de información y se le solicitaba consentimiento para tratar sus datos personales, tratamiento que se efectuará de acuerdo a las finalidades allí expresadas.

 

 

 

En el caso en que ésta sea la primera comunicación que recibe por nuestra parte, le solicitamos su consentimiento para proceder al tratamiento de sus datos de acuerdo a las condiciones detalladas al inicio. Entenderemos que nos presta su consentimiento si en el plazo de un mes a contar desde la recepción de esta comunicación no nos expresa su voluntad en contra. Le informamos que puede revocar en cualquier momento su consentimiento respondiendo a este mail indicando que no desea recibir más información acerca de nuestra empresa, supuesto en el que será automáticamente dado de baja de nuestra lista de correo.

 

Podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante el Responsable del fichero, SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. en la dirección: Parque Empresarial Los Llanos – C/ Extremadura, 108 – Buzón 120 – Módulo 5 – 41909 – Salteras (Sevilla), indicando en la comunicación la referencia "LOPD".

 

 

 

 

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
xrdp-devel mailing list
xrdp-devel@...
https://lists.sourceforge.net/lists/listinfo/xrdp-devel
Sling Box | 16 May 2013 15:12
Picon

Connection issue


Hi,

I just installed the latest version of xrdp on a SUSE Linux Enterprise Server 11 SP2 install, but I get the following when trying to connect from a client system:

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to sesman
login successful for display 10
started connecting
rdpx11 channel is not present 
X11 RDP server started
Screen depth is not 24

I hit OK (the only option), and the connection terminates.

Can anyone point me in the right direction? I followed the install instructions here:


Andy
------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
xrdp-devel mailing list
xrdp-devel@...
https://lists.sourceforge.net/lists/listinfo/xrdp-devel
Abraham Macías Paredes | 15 May 2013 16:38
Picon
Favicon

Xvnc or X11rdp

Hi everybody,

I’ve read that XRDP Works with Xvnc or X11rdp.

Which one offers a better performance?

 

I’ve looked at the source code and I can’t understand how it works.

In what C source code file is made the communication between the Xvnc server of the user session and the XRDP server?

Where and how it’s done the transformation from the application X windows system calls into RDP packages?

Is there any detailed documentation?

 

Thank you very much!

 

Abraham Macías Paredes

 

 

T: 955 11 11 55

F: 954 37 11 42

 

Solutia Innovaworld Technologies S.L.

Parque Empresarial Los Llanos

C/ Extremadura, 108 - 41909 - Salteras (Sevilla)

 

Sus datos personales contenidos en esta comunicación han sido recogidos de los contactos mantenidos por Vd. o por personas de su entorno, con personal de SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. y han sido incorporados al fichero de GESTIÓN COMERCIAL con la finalidad de realizar la gestión, seguimiento y mantenimiento de nuestra relación comercial, o a otro fichero correspondiente al tipo de relación que mantiene con nosotros, de lo que Vd. fue convenientemente informado al recibir bien el documento contractual entregado al inicio de los contactos bien en una comunicación inmediatamente posterior en que se daba cumplimiento al derecho de información y se le solicitaba consentimiento para tratar sus datos personales, tratamiento que se efectuará de acuerdo a las finalidades allí expresadas.

 

 

 

En el caso en que ésta sea la primera comunicación que recibe por nuestra parte, le solicitamos su consentimiento para proceder al tratamiento de sus datos de acuerdo a las condiciones detalladas al inicio. Entenderemos que nos presta su consentimiento si en el plazo de un mes a contar desde la recepción de esta comunicación no nos expresa su voluntad en contra. Le informamos que puede revocar en cualquier momento su consentimiento respondiendo a este mail indicando que no desea recibir más información acerca de nuestra empresa, supuesto en el que será automáticamente dado de baja de nuestra lista de correo.

 

Podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante el Responsable del fichero, SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. en la dirección: Parque Empresarial Los Llanos – C/ Extremadura, 108 – Buzón 120 – Módulo 5 – 41909 – Salteras (Sevilla), indicando en la comunicación la referencia "LOPD".

 

 

 

 

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
xrdp-devel mailing list
xrdp-devel@...
https://lists.sourceforge.net/lists/listinfo/xrdp-devel
Philipp Hahn | 14 May 2013 16:22
Picon
Favicon
Gravatar

Re: xrdp don't work when running as user xrdp but work fine as root

Hello

Am Dienstag 14 Mai 2013, 15:31:43 schrieb Nicolas DEFFAYET:
> I have installed your package
>
http://appcenter.software-univention.de/univention-repository/3.1/maintained/component/xrdp/source/xrdp_0.7.0~20130117git-0.4.30.201301301232.dsc
after rebuild it without any change on a Debian Wheezy x64.

It has a companion package called univention-xrdp ...

> xrdp run as user xrdp (default settings in /etc/init.d/xrdp)
> xrdp      2362     1  0 13:02 ?        00:00:00 /usr/sbin/xrdp
> root      2610     1  0 13:02 ?        00:00:00 /usr/sbin/xrdp-sesman
...
> connection denied
...
> If i start xrdp as root it work fine
...
> On
>
http://www.mail-archive.com/xrdp-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f <at> public.gmane.org/msg01199.html,
you wrote:
> 
> "Because X11rdp is foked from xrdp-sesman, which runs your session as
> your regular user. Thus the socket /tmp/.xrdp/... is created as $USER:
> $GROUP with permissions 0700.
> With Debian xrdp runds as xrdp:xrdp, which is not enough to connect to
> that socket.
> Running xrdp by-passes that permission check, but then you're running
> the daemon as root with all the bad security implications.
...
> I'm loss, it's not possible to run xrdp as user ?

Yes (if you want to use X11rdp)

> So why /etc/init.d/xrdp start xrdp as user ?

Because I took the original Debian packacking, replaced xrdp with the version from GIT and than enabled X11rdp.
Since Debian never built X11rdp, they never experienced the permission problem and took the right
approach to not run an network facing daemon with root permissions.
In our UCS package we took the easy root and run xrdp as root, but I'd advise you not make that network port
publically available.

> Did you have tried to have beautiful login screen something like Suse do
> for xrdp login:

That's part of our univention-xrdp package, which also contains the integration into our management system.

Sincerely
Philipp
--

-- 
Philipp Hahn           Open Source Software Engineer      hahn@...
Univention GmbH        be open.                       fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
Lee | 9 May 2013 19:53
Picon
Favicon

How to disable clipboard on xrdpv0.6.0

Is there a way to disable clipboard and drive redirection on xrdp version
0.6.0? 

--
View this message in context: http://xrdp-devel.766250.n3.nabble.com/How-to-disable-clipboard-on-xrdpv0-6-0-tp4025111.html
Sent from the XRDP Devel mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
Jay Sorg | 8 May 2013 01:40
Picon

pulse sink

Hello,

I create some pulse sink notes at
http://www.xrdp.org/index.php?option=com_content&view=article&id=19:xrdp-pulse-sink&catid=2:documents&Itemid=7

configure xrdp without --enable-simplesound for this.  I think I'll
remove the pulse simple API option if the sink method works.

With the simple API, it was a pulse monitor that had to pull the pulse
audio server.  That mean that even if no audio is playing, the loop is
running.  With the sink model, all threads are resting nicely when
nothing is playing.

In the future I could see this sink going into the pulse upstream and
even add a way to detect if it's an xrdp session and default to the
appropriate sink.

Jay

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
Benjamin Richards | 6 May 2013 04:13

/etc/init.d/xrdp in version 0.6.0?

I am upgrading our CentOS 6.4 servers from version 0.5.0 (in the CentOS yum repositories) to version 0.6.0, compiled from source. In 0.5.0, there was a script dropped in /etc/init.d called ‘xrdp’ as part of the installation process which controlled xrdp/sesman start and stop. I looked and it was different from /etc/xrdp/xrdp.sh. However, in 0.6.0, I don’t a similar script. /etc/xrdp/xrdp.sh does exist, but it appears to not work quite as seamlessly nor does it color-code start and stop messages. I’ve tried copying it to /etc/init.d and adding the service using chkconfig, but it appears to not work reliably. It will falsely report that xrdp or xrdp-sesman are already loaded if I attempt to start the service (with service xrdp.sh start). Stopping doesn’t help. I only have it reliably starting and stopping by manually running /etc/xrdp/xrdp.sh start/stop.

 

Is there something that I could be missing here? Or am I doing the right thing? I am not familiar with chkconfig scripts very well so I was hoping that for a (simple, hopefully) question like mine, there would be someone out there who already knows the answer. Thanks!

 

Sincerely,

 

Benjamin Richards

brichards-vP4JFDv8bHa9qTQudXazLQC/G2K4zDHf@public.gmane.org

 

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
xrdp-devel mailing list
xrdp-devel@...
https://lists.sourceforge.net/lists/listinfo/xrdp-devel
Jay Sorg | 2 May 2013 21:03
Picon

startwm.sh

I've noticed the localtion of Xsession on Suse 12.1 is
/etc/X11/xdm

Debian / Ubuntu is
/etc/X11

EL is
/etc/X11/xinit

Is this right?
I can change the script to auto detect it's location.

I don't know what we can do with the pam.d file.

As part of installation, maybe a manual step.

Jay

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
Jay Sorg | 1 May 2013 02:26
Picon

/etc/pam.d/xrdp-sesman

I've seen some issues with the pam.d file being the way it is.
Some reports from users as well.
I seen the problem in Suse 12.1.
I'm planning to put the file
/etc/pam.d/xrdp-sesman
back like it was.
Also, I seen a system that does not have
/etc/X11/Xsession
so I think I'll check for the existence and if it's not there, do the old way.

Jay

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1

Gmane