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