XRDP, 11.2 and 105 key UK keyboard?

Hi all,
I am using XRDP 0.4.1-85.1 from here and I am having problems with the keyboard mapping from remote clients.

After lots of* looking at*, I am stuck with this clue: if I run xev and type 1234, I see this (abridged) output:


KeyPress event, serial 31, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13051717, (161,-14), root:(165,256),
    state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XmbLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13051891, (161,-14), root:(165,256),
    state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False
------------------------------------------------------------------------
KeyPress event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13052853, (161,-14), root:(165,256),
    state 0x0, keycode 118 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13052995, (161,-14), root:(165,256),
    state 0x0, keycode 118 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
-------------------------------------------------------------------------
KeyPress event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13053699, (161,-14), root:(165,256),
    state 0x0, keycode 119 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13053859, (161,-14), root:(165,256),
    state 0x0, keycode 119 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
------------------------------------------------------------------------
KeyPress event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13054709, (161,-14), root:(165,256),
    state 0x0, keycode 13 (keysym 0x34, 4), same_screen YES,
    XLookupString gives 1 bytes: (34) "4"
    XmbLookupString gives 1 bytes: (34) "4"
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x2c00001,
    root 0xfa, subw 0x0, time 13054867, (161,-14), root:(165,256),
    state 0x0, keycode 13 (keysym 0x34, 4), same_screen YES,
    XLookupString gives 1 bytes: (34) "4"
    XFilterEvent returns: False
 

My question is this: Where are the XLookupString and XmbLookupString NOT being found? And if it is a file, can it be ammended to return a vaid charecter?

The second clue I have is when I run XKEYCAPS. It reports that:

A keybord type was not specified, and the vendor string:
*DMX Project* is not recognised.

Any advice would be most welcome …
Best regards, Martin

Hi all,

A quick question to the mods: Is this a valid topic for this forum?

I have more information to add. But that is pointing me towards problems with this (/malcolmlewis%3a/Playground/openSUSE_11.2/) repo.

Should I post here or is there a more relevant place?

Regards, Martin

Hi
One of the inherent problems with unmaintained code :frowning: if you have a
patch that can be added I can look at integrating it. Aside from that,
there is a fork called FreeRDP, might be worth a look at?
http://freerdp.sourceforge.net/


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.32.12-0.7-default
up 1 day 7:45, 3 users, load average: 0.01, 0.04, 0.00
GPU GeForce 8600 GTS Silent - Driver Version: 195.36.31

Hi Malcolm,

Oh I wish I were that cleaver. I’m still trying to figure out what is (or not) happening! May I take a moment to ask a few more questions?

The xrdp.ini file that is installed by -85.1 looks like this:


[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xsessions]
path=/usr/share/xsessions
lib=libdmx.so
username=ask
password=ask
ip=127.0.0.1
port=-1

[failsafe]
name=FailSafe Terminal
exec=xterm -rv
lib=libdmx.so
username=ask
password=ask
ip=127.0.0.1
port=-1

Through trial and error, I have found that all sessions started using the [xsessions] parameters had faulty keyboard mapping. However, a session started using the [failsafe] parameters was okay.

The only significant difference between them is the lib= value. Setting both sections to use the libvnc.so code produced significant improvements.

So what are these *.so files? Yes, I know what “so” stand for. Looking a the list of files in the -85.1 package, I see 2 softlinks and a “real” binary file or each library variant. As the package maintainer, can you throw any light on this?

Regards, Martin

Hi
Those links would be created by the install/ldconfig of the rpm to the
respective shared library.

I’m not sure if modifying the default ini file (from the developer) is
a good plan, I have no idea how many other users use the package, so if
you find a particular config works for you then it’s best if you make
manual changes. Else you would need to request a change to the upstream
developer.

Maybe if some other xrdp users can jump in and advise their configs? I
also have no idea why it’s not being maintained for 11.2 although I see
it’s in factory…


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (i586) Kernel 2.6.32.12-0.7-pae
up 3 days 13:03, 2 users, load average: 0.04, 0.03, 0.00
ASUS eeePC 1000HE ATOM N280 1.66GHz | GPU Mobile 945GM/GMS/GME

Hi again Malcolm,
Thanks for your patience and helpfull comments.

Goodness, no. That wasn’t my intention.

Maybe if some other xrdp users can jump in and advise their configs?
That would be very helpful. Although, I wonder how many xrdp users there may be out there? I’ve been banging away at this problem, in this and other forums (fora?), for several years now - with little success.

I also have no idea why it’s not being maintained for 11.2 although I see it’s in factory…
Dho … I’m really sorry to be a thicko, but what does this mean?

Regards, Martin

Hi
I just regurgitated it as it was being built for < 11.1 and Factory
(next release, eg at the moment it’s 11.3) but not 11.2. I’m just
building it as a favor to other users in my Home project. It’s there
for openSUSE:Factory/standard
http://software.opensuse.org/search?q=xrdp&baseproject=openSUSE%3AFactory&exclude_filter=home%3A&exclude_debuginfo=true

There are lots of things I have built for openSUSE users from the
fora but don’t use myself :wink: xrdp being one of them…


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.32.12-0.7-default
up 2 days 8:57, 3 users, load average: 0.04, 0.05, 0.00
GPU GeForce 8600 GTS Silent - Driver Version: 195.36.31

Hi Malcolm,

Thank you very much for answering my inane questions. Still more, I’m afraid!
Just ignore me when you’ve had enough.

What does the term “Factory” refer to?

I’m just building it as a favor to other users in my Home project.

And thank you very much for that. Much appreciated.

I have tried compiling myself - but (you guessed it) without much success. On the question of building and these shared library files: Are the creation of the softlinks all pointing to the same binary, a function of your build process or is it indication that we are using different source code?
For example, when I compile the 0.4.1 xrdp package, I only get the one library file libvnc.so. In your -85.1 package file list there are effectively three: libvnc.so (softlink pointing to >) libvnc.so.0 (another softlink pointing to >) libvnc.so.0.0.0

Best regards, Martin

Hi
That’s probably a result of all the patches applied to it. Download the
src rpm and unpack it. The is a big diff file bzipped up as well as six
other ones…


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.32.12-0.7-default
up 3 days 9:22, 3 users, load average: 0.08, 0.16, 0.10
GPU GeForce 8600 GTS Silent - Driver Version: 195.36.31

Hi Malcolm,

Thank you for keeping the suggestions coming. That idea has opened new horizons. And more questions!

Version Numbers?
How does this work in this arena? Looking around, I think that the easy bit to answer, is that the number before the first hyphen ‘-’ is the application version. In this case 0.4.1 as set by the application developer. Again in this case, Jay Sorg & Co. And I guess relates to the functionality of the application. Okay so far?

It seems that the next set of numbers are the release number? Who controls/sets this? The package maintainer? Is there any convention that indicates differences in releases? Or is it a case of picking a repository you trust and using the highest number?

For example I have found xrdp rpms (all at version 0.4.1) but release: -4.4 (Factory), -16.5, 37.7 (11.1) and -85.1 (malcolmlewis:Playground & hfiguire:Factory). Which do I choose and why?

Lastly, can you confirm that “Factory” repositories mean development/experimental and should be avoided by numpties like me? Also does “Factory” in the last Repo title also indicate “development”?

Regards, Martin

While waiting for any words of wisdom, I thought I’d look into the .src.rpm area.

Just for the hell of it, I downloaded xrdp-0.4.1-85.1.src.rpm AND xrdp-0.4.1-85.1.i586.rpm to my system (/myRPMs/).
I then “installed” the .src.rpm which populated the /usr/src/package area and ran:

Supermicro:/usr/src/package/SPECS # rpmbuild -ba xrdp.spec

Of course this produced the new .rpm & .src.rpm files. However, when I compared my build with the downloaded one, I find that they are different! How so?

Extracting files from /myRPMs/xrdp-0.4.1-85.1.i586.rpm into from.39CKC
Extracting files from /usr/src/packages/RPMS/i586/xrdp-0.4.1-85.1.i586.rpm into to.I4TWz
Performing diff -uNr between xrdp-0.4.1-85.1.i586.rpm and xrdp-0.4.1-85.1.i586.rpm

diff -uNr xrdp-0.4.1-85.1.i586.rpm/_RPM_METADATA xrdp-0.4.1-85.1.i586.rpm/_RPM_METADATA
--- xrdp-0.4.1-85.1.i586.rpm/_RPM_METADATA	2010-07-01 11:15:28.000000000 +0100
+++ xrdp-0.4.1-85.1.i586.rpm/_RPM_METADATA	2010-07-01 11:15:28.000000000 +0100
@@ -1,17 +1,17 @@
 Name        : xrdp                         Relocations: (not relocatable)
-Version     : 0.4.1                             Vendor: obs://build.opensuse.org/home:malcolmlewis
-Release     : 85.1                          Build Date: Thu Apr  8 17:00:52 2010
-Install Date: (not installed)               Build Host: build37
+Version     : 0.4.1                             Vendor: (none)
+Release     : 85.1                          Build Date: Thu Jul  1 10:12:06 2010
+Install Date: (not installed)               Build Host: supermicro.homeip.net
 Group       : System/X11/Utilities          Source RPM: xrdp-0.4.1-85.1.src.rpm
-Size        : 1412053                          License: GPL v2 or later
-Signature   : DSA/SHA1, Thu Apr  8 17:01:01 2010, Key ID c0487961d83ee527
+Size        : 2025368                          License: GPL v2 or later
+Signature   : (none)
 URL         : http://xrdp.sourceforge.net/
 Summary     : Open Source remote desktop protocol (RDP) server
 Description :
 A full functionnal Linux terminal server, capable of accepting
 connection from rdesktop and Microsoft's own terminal server / remote
 desktop clients.
-Distribution: home:malcolmlewis:Playground / openSUSE_11.2
+Distribution: (none)
 * Wed Jul 08 2009 coolo@novell.com
 - fix build with automake 1.11
 
@@ -181,11 +181,13 @@
 libcommon.so.0  
 libcrypto.so.0.9.8  
 libdbus-1.so.3  
+libdl.so.2  
 libpam.so.0  
 libpam.so.0(LIBPAM_1.0)  
 libpthread.so.0  
 libpthread.so.0(GLIBC_2.0)  
 libpthread.so.0(GLIBC_2.1)  
+librt.so.1  
 libscp.so.0  
 libxcb.so.1  
 libxrdp.so.0  
Files xrdp-0.4.1-85.1.i586.rpm/usr/bin/xrdp-keygen and xrdp-0.4.1-85.1.i586.rpm/usr/bin/xrdp-keygen differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/bin/xrdp-sesrun and xrdp-0.4.1-85.1.i586.rpm/usr/bin/xrdp-sesrun differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/bin/xrdp-sestest and xrdp-0.4.1-85.1.i586.rpm/usr/bin/xrdp-sestest differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libcommon.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libcommon.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libcommon.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libcommon.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libcommon.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libcommon.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libdmx.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libdmx.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libdmx.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libdmx.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libdmx.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libdmx.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libmc.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libmc.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libmc.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libmc.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libmc.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libmc.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/librdp.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/librdp.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/librdp.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/librdp.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/librdp.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/librdp.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libscp.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libscp.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libscp.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libscp.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libscp.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libscp.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libvnc.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libvnc.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libvnc.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libvnc.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libvnc.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libvnc.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxrdp.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxrdp.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxrdp.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxrdp.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxrdp.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxrdp.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxup.so and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxup.so differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxup.so.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxup.so.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxup.so.0.0.0 and xrdp-0.4.1-85.1.i586.rpm/usr/lib/xrdp/libxup.so.0.0.0 differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/sbin/xrdp and xrdp-0.4.1-85.1.i586.rpm/usr/sbin/xrdp differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/sbin/xrdp-sesman and xrdp-0.4.1-85.1.i586.rpm/usr/sbin/xrdp-sesman differ
Files xrdp-0.4.1-85.1.i586.rpm/usr/sbin/xrdp-sessvc and xrdp-0.4.1-85.1.i586.rpm/usr/sbin/xrdp-sessvc differ

Interestingly (depending on your point of view!), a lot of the differences are in the shared objects libraries that earlier in this thread, I had raised concerns over.

Any advice, would be most welcome.

Regards, Martin