Windows Server 2008 R2 – раскладка клавиатуры в RDP-сеансе

После ввода в эксплуатацию терминального сервера под управлением, прости господи, Windows Server 2008 R2, обнаружилась следующая проблема: периодически у подключающихся по протоколу RDP (удаленный рабочий стол) пользователей перестает переключаться раскладка клавиатуры. В системном трее язык переключается как обычно (к примеру, с RU на EN), но при этом ввод продолжает оставаться в раскладке RU, а рядом со значком EN появляется значок в форме клавиатуры, кликнув на который мышью можно уже вручную в появившемся контекстном меню изменить язык ввода – и вот тогда он действительно заменится на выбранный.

Подобное непотребство происходит в том случае, если в момент подключения у клиента и сервера различаются текущие раскладки клавиатуры. Если в момент входа языки выбраны одинаково, то описанная проблема не возникает.

Есть и решение – можно заставить сервер игнорировать раскладку клавиатуры, с которой производилось клиентское подключение. К сожалению, разработчики из Microsoft не удосужились добавить графический интерфейс для этой опции, поэтому потребуется вносить изменения в реестр вручную.

  1. Открываем редактор реестра (regedit.exe);

  2. Открываем ключ HKLM\System\CurrentControlSet\Control\Keyboard Layout;
  3. Создаем параметр IgnoreRemoteKeyboardLayout (REG_DWORD) и присваиваем ему значение “1”;
  4. Перезагружаем сервер.

Теперь язык ввода всегда должен переключаться по комбинации заданной комбинации клавиш, без необходимости клацания мышью.

PS: Описанное актуально для английской версии WinServ2008R2 + русскоязычного MUI; возможно, для других комбинаций языков поведение этой чудо-системы отличается.

This entry was posted in Софт and tagged , . Bookmark the permalink.

6 Responses to Windows Server 2008 R2 – раскладка клавиатуры в RDP-сеансе

  1. vas2005 says:

    Это правда очень интересный баг.
    Я тоже периодически сталкиваюсь с ним. Причем насколько я обратил внимание, проблема не в самом сервере, точнее в связке сервер+клиент. Так как этот баг появляется на разных клиентах, при подключении пользователя с разных компов под одной и той же учетной записью.
    Есть непроверенное предположение, весь фикус-пикус в разных настройках языка по умолчанию. У меня на серваке язык ввода по умолчанию стоит английский и на рабочем компе так же, а вот на домашнем компе язык ввода по умолчанию стоит русский. Когда я с рабочего компа захожу, все ХОРОШО, а вот когда с домашнего… появляется данный баг!!!!
    Так что как вариант, надо установить одинаковый язык ввода по умолчанию, и должно наступить счастье)))))

    Спасибо за внимание, надеюсь это кому то пригодится.

    • root says:

      При широком парке машин пользователей требовать выставлять везде один язык ввода по умолчанию – далеко не самое удобное решение. Внесение показанных выше изменений в реестр на сервере решает эту проблему без каких-либо изменений на клиентских машинах.

  2. nikobu says:

    OMG !!! Спасибо тебе автор, я уж и не надеялся решить эту проблему.

  3. Viktor says:

    Кстати, перезагружать сервер не обязательно.
    Достаточно завершить сеанс.

  4. NICK says:

    Данный мануал помогает и на русскоязычной версии.

  5. Igor says:

    Спасибо автор!
    Я уже почти смирился, но нет))

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>