French keyboard on VNC

hello,

When we chose a keymap for French keyboard on a linux machine, and try to VNC through Sunstone, the keyboard does not match. US-English works though. Any hint on how to fix this ?

Thank you

Hello @saint

Could you please send me the output of onevm show <VM_ID> -x?

oneadmin@vlab:~> onevm show 268 -x

<VM>

<ID>268</ID>

<UID>3</UID>

<GID>0</GID>

<UNAME>frank</UNAME>

<GNAME>oneadmin</GNAME>

<NAME>TRANSPAC</NAME>

<PERMISSIONS>

<OWNER_U>1</OWNER_U>

<OWNER_M>1</OWNER_M>

<OWNER_A>0</OWNER_A>

<GROUP_U>0</GROUP_U>

<GROUP_M>0</GROUP_M>

<GROUP_A>0</GROUP_A>

<OTHER_U>0</OTHER_U>

<OTHER_M>0</OTHER_M>

<OTHER_A>0</OTHER_A>

</PERMISSIONS>

<LAST_POLL>1553268012</LAST_POLL>

<STATE>3</STATE>

<LCM_STATE>3</LCM_STATE>

<PREV_STATE>3</PREV_STATE>

<PREV_LCM_STATE>3</PREV_LCM_STATE>

<RESCHED>0</RESCHED>

<STIME>1553264483</STIME>

<ETIME>0</ETIME>

<DEPLOY_ID>one-268</DEPLOY_ID>

<MONITORING>

<CPU><![CDATA[1.0]]></CPU>

<DISKRDBYTES><![CDATA[2085880522]]></DISKRDBYTES>

<DISKRDIOPS><![CDATA[229285]]></DISKRDIOPS>

<DISKWRBYTES><![CDATA[2272788480]]></DISKWRBYTES>

<DISKWRIOPS><![CDATA[35478]]></DISKWRIOPS>

<DISK_SIZE>

<ID><![CDATA[0]]></ID>

<SIZE><![CDATA[3823]]></SIZE>

</DISK_SIZE>

<DISK_SIZE>

<ID><![CDATA[1]]></ID>

<SIZE><![CDATA[1]]></SIZE>

</DISK_SIZE>

<MEMORY><![CDATA[1658336]]></MEMORY>

<NETRX><![CDATA[1153104675]]></NETRX>

<NETTX><![CDATA[9000283]]></NETTX>

<STATE><![CDATA[a]]></STATE>

</MONITORING>

<TEMPLATE>

<AUTOMATIC_DS_REQUIREMENTS><![CDATA[(“CLUSTERS/ID” @> 0)]]></AUTOMATIC_DS_REQUIREMENTS>

<AUTOMATIC_NIC_REQUIREMENTS><![CDATA[(“CLUSTERS/ID” @> 0)]]></AUTOMATIC_NIC_REQUIREMENTS>

<AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS>

<CONTEXT>

<DISK_ID><![CDATA[1]]></DISK_ID>

<ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4>

<ETH0_DNS><![CDATA[8.8.8.8]]></ETH0_DNS>

<ETH0_EXTERNAL><![CDATA[]]></ETH0_EXTERNAL>

<ETH0_GATEWAY><![CDATA[10.100.100.254]]></ETH0_GATEWAY>

<ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6>

<ETH0_IP><![CDATA[10.100.100.101]]></ETH0_IP>

<ETH0_IP6><![CDATA[]]></ETH0_IP6>

<ETH0_IP6_PREFIX_LENGTH><![CDATA[]]></ETH0_IP6_PREFIX_LENGTH>

<ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA>

<ETH0_MAC><![CDATA[02:00:0a:64:64:65]]></ETH0_MAC>

<ETH0_MASK><![CDATA[255.255.255.0]]></ETH0_MASK>

<ETH0_MTU><![CDATA[]]></ETH0_MTU>

<ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK>

<ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN>

<ETH0_VLAN_ID><![CDATA[100]]></ETH0_VLAN_ID>

<ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP>

<ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6>

<ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT>

<NETWORK><![CDATA[YES]]></NETWORK>

<SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY>

<TARGET><![CDATA[hdb]]></TARGET>

</CONTEXT>

<CPU><![CDATA[0.25]]></CPU>

<DISK>

<ALLOW_ORPHANS><![CDATA[NO]]></ALLOW_ORPHANS>

<CLONE><![CDATA[NO]]></CLONE>

<CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET>

<CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>

<DATASTORE><![CDATA[default]]></DATASTORE>

<DATASTORE_ID><![CDATA[1]]></DATASTORE_ID>

<DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX>

<DISK_ID><![CDATA[0]]></DISK_ID>

<DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE>

<DISK_TYPE><![CDATA[FILE]]></DISK_TYPE>

<DRIVER><![CDATA[qcow2]]></DRIVER>

<IMAGE><![CDATA[TRANSPAC]]></IMAGE>

<IMAGE_ID><![CDATA[125]]></IMAGE_ID>

<IMAGE_STATE><![CDATA[8]]></IMAGE_STATE>

<IMAGE_UNAME><![CDATA[frank]]></IMAGE_UNAME>

<LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET>

<ORIGINAL_SIZE><![CDATA[40961]]></ORIGINAL_SIZE>

<PERSISTENT><![CDATA[YES]]></PERSISTENT>

<READONLY><![CDATA[NO]]></READONLY>

<SAVE><![CDATA[YES]]></SAVE>

<SIZE><![CDATA[40961]]></SIZE>

<SOURCE><![CDATA[/var/lib/one//datastores/1/64af3b6df39fd59b6c627d54897331a0]]></SOURCE>

<TARGET><![CDATA[hda]]></TARGET>

<TM_MAD><![CDATA[ssh]]></TM_MAD>

<TYPE><![CDATA[FILE]]></TYPE>

</DISK>

<GRAPHICS>

<LISTEN><![CDATA[0.0.0.0]]></LISTEN>

<PORT><![CDATA[6168]]></PORT>

<TYPE><![CDATA[VNC]]></TYPE>

</GRAPHICS>

<MEMORY><![CDATA[2048]]></MEMORY>

<NIC>

<AR_ID><![CDATA[0]]></AR_ID>

<BRIDGE><![CDATA[onebr.100]]></BRIDGE>

<BRIDGE_TYPE><![CDATA[linux]]></BRIDGE_TYPE>

<CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>

<IP><![CDATA[10.100.100.101]]></IP>

<MAC><![CDATA[02:00:0a:64:64:65]]></MAC>

<MODEL><![CDATA[e1000]]></MODEL>

<NAME><![CDATA[NIC0]]></NAME>

<NETWORK><![CDATA[VLAB 100 - 10.100.100.0]]></NETWORK>

<NETWORK_ID><![CDATA[42]]></NETWORK_ID>

<NIC_ID><![CDATA[0]]></NIC_ID>

<PHYDEV><![CDATA[eno4]]></PHYDEV>

<SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>

<TARGET><![CDATA[one-268-0]]></TARGET>

<VLAN_ID><![CDATA[100]]></VLAN_ID>

<VN_MAD><![CDATA[802.1Q]]></VN_MAD>

</NIC>

<NIC_DEFAULT>

<MODEL><![CDATA[e1000]]></MODEL>

</NIC_DEFAULT>

<OS>

<BOOT><![CDATA[]]></BOOT>

</OS>

<SECURITY_GROUP_RULE>

<PROTOCOL><![CDATA[ALL]]></PROTOCOL>

<RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE>

<SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID>

<SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME>

</SECURITY_GROUP_RULE>

<SECURITY_GROUP_RULE>

<PROTOCOL><![CDATA[ALL]]></PROTOCOL>

<RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE>

<SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID>

<SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME>

</SECURITY_GROUP_RULE>

<TEMPLATE_ID><![CDATA[77]]></TEMPLATE_ID>

<TM_MAD_SYSTEM><![CDATA[ssh]]></TM_MAD_SYSTEM>

<VMID><![CDATA[268]]></VMID>

</TEMPLATE>

<USER_TEMPLATE>

<INPUTS_ORDER><![CDATA[]]></INPUTS_ORDER>

<LOGO><![CDATA[images/logos/linux.png]]></LOGO>

<MEMORY_UNIT_COST><![CDATA[MB]]></MEMORY_UNIT_COST>

</USER_TEMPLATE>

<HISTORY_RECORDS>

<HISTORY>

<OID>268</OID>

<SEQ>0</SEQ>

<HOSTNAME>s11kvm</HOSTNAME>

<HID>0</HID>

<CID>0</CID>

<STIME>1553264496</STIME>

<ETIME>0</ETIME>

<VM_MAD><![CDATA[kvm]]></VM_MAD>

<TM_MAD><![CDATA[ssh]]></TM_MAD>

<DS_ID>0</DS_ID>

<PSTIME>1553264496</PSTIME>

<PETIME>1553264580</PETIME>

<RSTIME>1553264580</RSTIME>

<RETIME>0</RETIME>

<ESTIME>0</ESTIME>

<EETIME>0</EETIME>

<ACTION>0</ACTION>

<UID>-1</UID>

<GID>-1</GID>

<REQUEST_ID>-1</REQUEST_ID>

</HISTORY>

</HISTORY_RECORDS>

</VM>

Good morning @saint

It seems you are not setting the layout properly.

How do you set it?

Also, could you please send me the template you are using?

Hello,

I am creating all my VMs through Sunstone.
I work with people from all over the world so the machine is first setup in the OS with US keyboard, but on the fly it can be switched to Spanish, German, or French <- When we switch the keyboard within the OS, the VNC is totally off. But if we switch back to US-English with a US Keyboard, then it works.

Where do you want me to send the template ?

Hello,

The problem is that you are missing this:

GRAPHICS=[
  KEYMAP="fr",
  LISTEN="0.0.0.0",
  TYPE="VNC" ]

In your virtual machine, you need to set the KEYMAP so the VNC keyboard works properly.

But what happens when someone logs into this machine from another country, and has to change the OS keymap… They have to stop the machine, go in the VM template, change the keymap, start the machine again …?!

Hello @saint

You can use that way, but I think that doesn’t fit your case.

So the user can change the keyboard layout inside the vm, for example, if you are using an ubuntu distro, you can use the command dpkg-reconfigure keyboard-configuration and choose the desire layout.

I did some tests and they work, so try it and tell me if it works!

So even though it has a fr keymap, a user can go into a linux-like machine , change the mapping , and it should work ?

If not, how do we switch keyboards while the machine is running ?
That s the issue. When I try in the OS , the mapping won’t work with VNC.