Subject: keyboard layout selected in x2go client isn't applied to the session

From: "Maciej S. Szmigiero" <[email-masked]>
Date: Mon, 05 Aug 2013 01:45:45 +0200

Package: x2goserver
Version: 4.0.1.3

It seems that the keyboard layout selected in x2go client isn't applied to the session.

I've tracked the issue to "keyboard" blocking directory being created by x2gostartagent script:
if [ "$X2GO_SET_KBD" == "0" ] || [ "$X2GO_KBD_TYPE" != "auto" ]; then
	$X2GO_LIB_PATH/x2gosyslog "$0" "info" "blocking creation of agent's keyboard file ${SESSION_DIR}/keyboard as requested by session startup command"
	mkdir -p ${SESSION_DIR}/keyboard
fi

X2GO_KBD_TYPE contains the actual keyboard type, so its not "auto" and the blocking directory gets created.
I've changed it to "[ "$X2GO_KBD_TYPE" == "auto" ]" and the keyboard layouts gets applied on session startup.

There is also similar code in x2goresume-session:
# set client-side keyboard model, type, variant, etc.
if [ "$X2GO_SET_KBD" != "0" ] && [ "$X2GO_KBD_TYPE" == "auto" ]; then

Here it should probably be "[ "$X2GO_KBD_TYPE" != "null\/null" ]", as few lines earlier the script
will change X2GO_KBD_TYPE to this value when it is set to "auto" or when X2GO_SET_KBD is zero.

Best regards,
Maciej Szmigiero

---

From: Mike Gabriel <[email-masked]>
Date: Mon, 05 Aug 2013 12:16:56 +0200

Control: tag -1 confirmed

Hi Maciej,

I have taken a look at this issue this morning and I think in some  
parts you are right, in some parts you are wrong.

On Mo 05 Aug 2013 01:45:45 CEST "Maciej S. Szmigiero" wrote:

> 	$X2GO_LIB_PATH/x2gosyslog "$0" "info" "blocking creation of agent's  
> keyboard file ${SESSION_DIR}/keyboard as requested by session  
> startup command"

x2gostartagent: here I do not see an issue. Not that in X2Go Server  
there are three ways to set up your keyboard:

   1) no setup at all (setxkb=false in sessions file)
   2) setup a specific setup (e.g. type=pc105/us, layout=us)
   3) automatic setup (-> type=auto, layout=)

The server-side script ,,x2gosetkeyboard'' is only used for 3).

The keyboard setup for 2) is managed from the client side by issuing  
setxkbmap commands via the open SSH channel.

On x2gostartagent, everything (after testing with PyHoca-GUI and X2Go  
Client) works as expected.

> Here it should probably be "[ "$X2GO_KBD_TYPE" != "null/null" ]", as  
> few lines earlier the script

For x2goresume-session, however, you dug out a minor issue. This issue  
has been fixed now, see the automatic follow-up mail which will point  
you to the code change in X2Go Git.

Thanks for contributing to X2Go,
Mike

-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

---

From: "Maciej S. Szmigiero" <[email-masked]>
Date: Mon, 05 Aug 2013 13:13:50 +0200

Hello Mike,

Thanks for a quick look, see also comments below, inlined.

W dniu 05.08.2013 12:16, Mike Gabriel pisze: 
> Hi Maciej,
> 
> I have taken a look at this issue this morning and I think in some parts you are right, in some parts you are wrong.
> 
(..)
> x2gostartagent: here I do not see an issue. Not that in X2Go Server there are three ways to set up your keyboard:
> 
> The keyboard setup for 2) is managed from the client side by issuing setxkbmap commands via the open SSH channel.

I've grepped x2goclient-4.0.1.0 sources and found only setxkbmap call on client side (via "QProcess::startDetached").

There is also remote xmodmap call on Maemo, but it only remaps two keys.

> On x2gostartagent, everything (after testing with PyHoca-GUI and X2Go Client) works as expected.

Unfortunately not for me (that's why I looked into this issue).

(..)
> For x2goresume-session, however, you dug out a minor issue. This issue has been fixed now, see the automatic follow-up mail which will point you to the code change in X2Go Git.

Thanks.
 
> Thanks for contributing to X2Go,

Thanks and best regards,
Maciej Szmigiero

---

From: Mike Gabriel <[email-masked]>
Date: Mon, 05 Aug 2013 14:06:15 +0200

clone #285 -1
tag -1 - pending
tag -1 - confirmed
retitle #285 keyboard layout isn't applied to the session (when resuming)
retitle -1 keyboard layout isn't applied to the session (when starting)
thanks

Hi Maciej,

I will clone issue #285, so we have two issues: one for resuming  
(#285), one for starting new sessions.

On Mo 05 Aug 2013 13:13:50 CEST "Maciej S. Szmigiero" wrote:

>> The keyboard setup for 2) is managed from the client side by  
>> issuing setxkbmap commands via the open SSH channel.
>
> I've grepped x2goclient-4.0.1.0 sources and found only setxkbmap  
> call on client side (via "QProcess::startDetached").

Yes, that's where the settings get set...

> Unfortunately not for me (that's why I looked into this issue).

In order to get the new cloned bug (the one that deals with keyboard  
layout while starting X2Go sessions) fixed, please send to me  
(privately):

   your ~/.x2goclient/sessions file (grey-out sensitive information)
   your ~/.x2go/C-<sessionid>/options file (on server-side)
   your ~/.x2go/C-<sessionid>/session.log

Thanks,
Mike

-- 

DAS-NETZWERKTEAM

GnuPG Key ID 0x25771B31

freeBusy:

---

From: "Maciej S. Szmigiero" <[email-masked]>
Date: Tue, 06 Aug 2013 00:23:26 +0200

Hello Mike,

W dniu 05.08.2013 14:06, Mike Gabriel pisze:
> Hi Maciej,
> 
> I will clone issue #285, so we have two issues: one for resuming (#285), one for starting new sessions.

OK, I've changed the email subject to reflect this (see also below for inline comment).

> Yes, that's where the settings get set...

I think we have a bit of misunderstanding here, as you previously wrote that:
"2) is managed from the client side by issuing setxkbmap commands via the open SSH channel".

That is, it is managed from the client side, but set on server via SSH.

And I couldn't find any code in x2goclient (4.0.1.0) for doing this.

That's why I thought it is done via x2gosetkeyboard and in fact it does work like this with small script change
(not creating blocking directory when layout != "auto").

> In order to get the new cloned bug (the one that deals with keyboard layout while starting X2Go sessions) fixed, please send to me (privately):
> 

Thanks and best regards,
Maciej Szmigiero