Quelle barre de langue pour ma "Remote App" ?

 

La barre de langue permet de définir la langue de saisie et la disposition du clavier disponibles pour les applications sous Windows.

Si vous lancez des applications publiées par des serveurs RDS, vous pourrez constatez des différences dans les options proposées par la barre de langue lorsque votre "remote application" est sélectionnée. La barre de langue proposée est issue de la négociation entre le serveur et le client RDP. Elle peut-être differente de celle proposée pour les applications locales.

Le but de cet article est d'expliquer ce comportement : même les mécanismes simples méritent une explication !

Puisque :

  1. Les "RemoteApp" s'éxécutent sur le serveur RDS, il est important de pouvoir proposer les langues disponibles sur le serveur.
  2. Le clavier utilisé dépend du client, il est important également tenir compte du clavier du client.

La  barre de langue affichée lorsque l'application distante est sélectionnée (comportement testé avec des clients et serveurs RDP 8.1) est le cumul :

  1. la combinaison Langue/Clavier par défaut du client (préference du client)
    • Remarque: celle-ci n'est pas proposée si la valeur  IgnoreRemoteKeyboardLayout est positionnée à 1 sur le serveur   ( clé : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout)
  2. l'ensemble des combinaisons (Langue/Clavier) définies dans le profil utilisateur sur le serveur

Attention : le profil de l'utilisateur sur le serveur peut avoir plusieurs origines:

  • le profil itinérant défini éventuellement sur la ferme par GPO (voir la GPO: Computer Configuration - Administrative templates - System - Windows Components - Remote Desktop Services - Profiles - Set Path for Remote Desktop Services Roaming User Profile)
  • le profil local créé à partir du profil par défaut du serveur ( modifiable depuis le panneau de configuration - Region - Administrative - Welcome Screen and new user Accounts)

Ceci permet d'expliquer d'éentuelles différences de comportement entre utilisateurs ou pour un même utilisateur si l'application est lancée depuis plusieurs serveurs RDS différents de la même ferme !

Il faut alors essayer de comprendre et "troubleshooter" la creation/modification des profils utilisateurs.

Tip: Depuis Windows 8 et Windows Server 2012, le choix "Use the Desktop language bar when it is available" permet d'afficher la barre de langue "distante" qui va s'appliquer lorsque la "remote app" est sélectionnée