[FreeNX-kNX] Keyboard Layout using RDP connections

Phil Stricker stril at gmx.de
Fri Aug 31 16:05:45 UTC 2007


Hi!

>> I changed that option. The trace ist attached to the mail.
>> Sorry for the large attachment, but i did not want to cut the wrong
>> parts...
>>     
>
> Thanks. I took a long look and the result is devastating :-(:
>
> According to the strace nxdesktop loads the german keymap just fine.
>
> Which NX client do you use?
>
> I guess a windows one ...?
>
> There might be a keyboard=load parameter needed, which I had not reverse engineered at that time.
>   
I tried Nomachine Client 2.0.9 and 3.0 for Windows. The result was the 
same. Choosing a fix keyboard layout in client 2.0.9 did not work, too...
>   
>>> Create a shell script called start-rdesktop in /usr/bin/ (don't forget
>>>       
>> to make it executable), where you start rdesktop with all nedded parameters.
>> Thank you! That works, but only for one user / for one Terminalserver.
>>     
>
> Hm, sure ...
>
> If we can't fix the issue with the client (which would be the best), you could try to change nxserver:
>
> Around the start of startsession (after the lonely echo_x) do a:
>
> if [ "$(getparam type)" = "windows" ]
> then
>    type="unix-application"
>    application="rdesktop -f -u $(getparam agent_user) -k $(getparam keyboard) $(getparam agent_server)"
>    CMDLINE="$CMDLINE&type=$type&application=$application"
> fi
>
> It might be that the parameter is not keyboard, but called differently. Look at your session log for more information and add any other parameters you need for rdesktop.
>   
I try to give you the right parts of the logfiles:
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'XAUTHORITY' to 
'/cygdrive/C/DOKUME~1/pstricke/.Xauthority'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 
'LD_LIBRARY_PATH' to 'C:\Programme\NX Client for 
Windows\bin:C:\Programme\NX Client for Windows\bin'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'HOME' to 
'C:\Dokumente und Einstellungen\pstricke'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'PATH' to 
'C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\IVI\bin;C:\VXIPNP\WinNT\Bin;C:\Programme\NX 
Client for Windows\bin;C:\Programme\NX Client for 
Windows;C:\PROGRA~1\NXCLIE~1;C:\Programme\NX Client for 
Windows\bin;C:\Programme\NX Client for Windows'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'NX_TEMP' to 
'C:\DOKUME~1\pstricke\NX73F8~1\temp'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'TEMP' to 
'C:\DOKUME~1\pstricke\NX73F8~1\temp'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'CYGWIN' to 
'server'
[Fr 31. Aug 17:51:34 2007]: Setting environment variable 'NX_VERSION' to 
'2.1.0'
[Fr 31. Aug 17:51:35 2007]: Setting environment variable 'HOME' to 
'C:/Dokumente und Einstellungen/pstricke'
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got [Posix 
path=/mnt/NX/fonts/base path=C:\Programme\NX Client for 
Windows\X11R6\lib\X11\fonts\base]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got [Posix 
path=/mnt/NX/fonts/TTF path=C:\Programme\NX Client for 
Windows\X11R6\lib\X11\fonts\TTF]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got [Info: Using 
fontpath: /mnt/NX/fonts/base,/mnt/NX/fonts/TTF]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[0][C:\Programme\NX Client for Windows/bin/NXWin.exe]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[1][-nowinkill]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[2][-clipboard]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[3][-noloadxkb]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[4][-agent]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[5][-hide]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[6][-noreset]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[7][-auth]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[8][/cygdrive/C/DOKUME~1/pstricke/.Xauthority]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[9][-nolisten]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[10][tcp]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[11][-fp]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[12][/mnt/NX/fonts/base,/mnt/NX/fonts/TTF]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[13][-fullscreen]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[14][-name]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[15][root at 129.206.29.123:]]
[Fr 31. Aug 17:51:36 2007]: NXService::readParameters: got 
[Service::addArgument[16][:0]]

[Fr 31. Aug 17:51:39 2007]: Parameters passed to NX server [  
--link="adsl" --backingstore="1" --nodelay="1" --cache="16M" 
--images="64M" --media="0" --session="TSE6" --type="windows" 
--agent_server="199.99.99.227" --agent_domain="DOMAIN" 
--geometry="1280x994" --fullscreen="1" --kbload=" --kbload=pc102/de" 
--kbtype="pc102/de" --keybd="1"
]
sshlog:
NX> 105 listsession --user="root" --status="suspended,running" 
--geometry="1280x1024x32+render+fullscreen" --type="windows"
NX> 105 startsession  --link="adsl" --backingstore="1" --nodelay="1" 
--cache="16M" --images="64M" --media="0" --session="TSE6" 
--type="windows" --agent_server="199.99.99.99" --agent_domain="DOMAIN" 
--geometry="1280x994" --fullscreen="1" --kbload=" --kbload=pc102/de" 
--kbtype="pc102/de" --keybd="1" 
--screeninfo="1280x1024x32+render+fullscreen"
NX> 1006 Session status: running
/usr/bin/nxserver: line 1203:  5424 Terminated              sleep 
$AGENT_STARTUP_TIMEOUT
NX> 105 bye

> With that (as long as you don't use any spaces in parameters to rdesktop you should be good to go.
>
> If you need to automatic filling in of the password, you have more work to do:
>
> Use a rdesktop-start script like in first solution add "-p -" as parameter and add in nxnode:
>
> agent_password=$(getparam agent_password)
> +export agent_password
>
> Then do in rdesktop-start:
>
> #!/bin/sh
>
> echo $agent_password | rdesktop "$@"
>
> Thats all.
>   
Thank you very much. Thats great, but i am using NX in a "larger" 
environment. There are about 20 users who connect to different servers.

It would just be great, if the users could change destinations, etc in 
their client.

Thank you for your support!

Greetings
Phil



More information about the FreeNX-kNX mailing list