Решение проблемы одно: создаём скрипт (PowerShell ISE), в который добавляем нужные языки через запятую.
Вызываем реестр через Win+R командой regedit!
1. Я создал в корне диска С:/fix_languages.ps1
Get-WinUserLanguageList
Set-WinUserLanguageList -LanguageList ru,pl,en-US -Confirm
Set-WinUserLanguageList -LanguageList ru,pl –Confirm
Команды просто добавят в список языков ваши. Захотите ещё один язык, добавляем новый язык (в последнюю строчку!) после запятой и активируем снова: …ru, pl, ch … – пример!
Но! Во второй строчки постарайтесь ввести тот язык, который у вас прилетает из космоса (который хотите удалить).
2. Идём в реестр, по пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
И добавляем строковый параметр с путём (кавычки необязательно): «C:\fix_languages.bat»
Название любое.
Путь должен быть ваш. При загрузке всё сработает, но можно вызывать вручную из каталога.
Потом! Выделяем всё и нажимаем F8! Ну то есть делаем это вручную!
Всё…
Всё, что можно сделать.
Можете, конечно, ходить в панель управления, добавлять язык за каждым разом и удалять.
Нет другого варианта. Чистка реестра и выдуманные строковое параметры вам не помогут!
Это проблема системы, не ваша.
В Windows 11 скрипты как-то ещё работают, раз на 2. То сработает, то нет.
Приходится запускать его вручную. Здесь скрипты вообще не работают.
PowerShell сделан таким образом, чтобы пользователь всегда запускал его вручную.
Вот когда, наконец-то, соединят CMD и PowerShell, что является полным бредом, будут скрипты работать. Пускай удаляют CMD, мы будем сидеть на PowerShell и будем счастливы.
CMD оставили только потому, что он простой и он им нравиться! Они его просто не бояться…
А пока предлагаю написать несколько потоков для связи CMD и PowerShell, чтобы данная программа запускалась автоматически и сама себя выполняла. Ну как вам?
Нет сегодня системы. Есть только радио!
Ещё добавлю: забудьте про Linux. Хватит мучаться с ним. Это система СЛОМАНА!
Linux написан на JAVA. Там JVM подключается, а JVM не работает. Их виртуальная машина изначально работала плохо по той причине, что JAVA язык несовершенный (испорченный с самого начала). Здесь ничего не поделать, нужно просто писать новую систему на новом языке. Моё предложение: С !
Так вот Android и iOs, MacOS (~ Linux) туда же… Там тоже JVM.
Вспоминаем историю с дохлым Symbian (изначально, в проекте: Deli). Туда тоже запихнули JVM и на теперешний момент эта система не работает.
Microsoft передаем привет, потому что данную проблему они не могут решить с 1998 года, ещё с Windows Net x86.
При подключении к удаленному рабочему столу по RDP, даже если на обоих устройствах используется только русская и английская раскладка, на клиентском компьютере сама собой может появиться дополнительная раскладка «РУС US» для русского языка. Проблема старая и типичная для Windows Server, однако столкнуться с ней вы можете и в новых клиентских версиях системы.
При переключении языков это доставляет массу неудобств, поскольку при переключении языка ввода на русский Windows автоматически выбирает американскую раскладку.
Проблема осложняется тем, что раскладка «РУС US» – фантомная, ее нет в языковых настройках и поэтому ее нельзя отключить через интерфейс. Чтобы от нее избавиться, вам сначала придется ее добавить вручную, а затем вручную удалить. Но есть гораздо более простое решение.
Во-первых, вы можете задействовать дополнительную комбинацию клавиш Ctrl + Shift, однократное нажатие которой переключит «РУС US» на «РУС RU». После этого вы сможете переключаться между английской и русской раскладками с помощью Alt + Shift, минуя «РУС US». Естественно, такой трюк нужно будет проделывать при каждом подключении к удаленному рабочему столу, но вы можете сделать и так, что дополнительная раскладка вообще не будет появляться.
Запустите на серверном компьютере редактор реестра, разверните ветку:
HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout
И создайте в последнем подразделе DWORD-параметр,
IgnoreRemoteKeyboardLayout и установите в качестве его значения 1.
Этот параметра отвечает за отключение раскладок, «переданных» с удаленных машин.
Настройки на сервере вступают в силу сразу после применения твика, а вот удаленный компьютер нужно будет перезагрузить.
Загрузка…
Сравнительно часто в списке раскладок клавиатуры пользователи обнаруживают лишнюю: например, британскую английскую. Происходит это обычно из-за того, что она была добавлена при установке системы без учета того, что английская (США) устанавливается по умолчанию, но возможны и другие причины.
В этой пошаговой инструкции подробно о способах удалить лишнюю раскладку клавиатуры в Windows 11 и Windows 10 — в Параметрах или PowerShell.
Удаление раскладки клавиатуры в Параметрах
Интерфейс параметров Windows 11 и Windows 10 отличается, но действия для удаления ненужных раскладок и сопутствующие нюансы одинаковы.
Достаточно выполнить следующие шаги:
- В Windows 11 нажмите по индикатору языка в области уведомлений и выберите «Дополнительные настройки клавиатуры», либо перейдите в Параметры — Время и язык — Язык и регион.
- В Windows 10 нажмите по значку языка и откройте пункт «Настройки языка», либо перейдите в Параметры — Время и язык — Язык.
- В Windows 11 справа от языка, который нужно удалить, нажмите по трем точкам и выберите пункт «Удалить». Если пункт не активен, сначала переместите язык вниз (первый по счету язык удалить нельзя).
- В Windows 10 нажмите по языку, который нужно удалить в списке «Предпочитаемые языки» и нажмите соответствующую кнопку. Если кнопка не активна, переместите язык вниз с помощью кнопки со стрелкой: первый по счету язык удалить нельзя.
В результате выбранный язык ввода (раскладка клавиатуры) будет удален.
Удаление языка ввода в PowerShell
Если при удалении раскладки клавиатуры возникли какие-либо проблемы или доступ к Параметрам Windows ограничен, можно использовать удаление с помощью Windows PowerShell (или Терминала Windows):
- Запустите Терминал Windows или Windows PowerShell от имени администратора. Сделать это можно, открыв контекстное меню кнопки «Пуск», нажав по ней правой кнопкой мыши.
- Введите команду
Get-WinUserLanguageList
и нажмите Enter. Это выведет список установленных языков. Обратите внимание на значение LanguageTag языка и раскладки, которую нужно удалить.
- В моем случае нужно удалить Английскую (Великобритания), это en-GB, именно этот идентификатор языка я буду использовать во второй команде, вам его потребуется изменить на свой. Команды для удаления языка:
$1 = Get-WinUserLanguageList $1.RemoveAll( { $args[0].LanguageTag -clike 'en-GB' } ) Set-WinUserLanguageList $1 -Force
Если всё прошло успешно, язык будет удален из списка доступных для ввода с клавиатуры в Windows.
Удаление раскладки в редакторе реестра
Ещё один метод — использование редактора реестра для удаления языка ввода:
- Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите regedit в диалоговое окно «Выполнить» и нажмите Enter.
- В редакторе реестра перейдите в раздел HKEY_CURRENT_USER\Keyboard Layout\Preload
- В этом разделе в правой панели реестра вы увидите несколько пунктов: они представляют собой языки ввода, причем расположены в том же порядке, что и в «Параметрах» Windows. Нажмите правой кнопкой мыши по ненужному языку, выберите пункт «Удалить».
- Закройте редактор реестра, выйдите и снова зайдите в систему, либо перезагрузите компьютер: лишняя раскладка должна исчезнуть.
Известна проблема, когда языков раскладки отображается больше, чем языков в Параметрах, PowerShell или реестре, то есть лишний язык нигде кроме выбора языка ввода не виден.
Одно из возможных решений: установить этот лишний язык в Параметрах языка (как в первом способе, но именно добавить его), а уже после добавления — удалить этот язык, используя любой из описанных подходов.
Как убрать вторую английскую раскладку с русского языка клавиатуры
При подключении по RDP появляется дополнительная раскладка в раскладке русского языка.
Добавлено 08.04.2020. Эта статья уже потеряла актуальность с выходом новых версий ОС Windows Server 2016 и 2019. Для решения этой проблемы раз и навсегда прошу ознакомиться с решением тут — Как убрать раскладку клавиатуры РУС US на сервере RDP
Решение
проблемы: Нужно добавить в ту раскладку,
тот язык, который у вас по ошибке
появляется при переключении раскладки,
а после опять убрать его. Более подробно
ниже.
Правой
кнопкой по языковой панели -> Параметры
-> Выбираем «RU Русский-Россия» ->
Добавить
2) В окне
Добавление языка ввода ищем Русский
(Россия)
->
Нажимаем «+» -> Колавиатура ->
Нажимаем «+» -> Ставим галочку
напротив «США» (Если у вас в раскладке
«RU» стояла дополнительная именно
эта раскладка)
3) После
нажимаем Ок -> Видим, что добавилась
наша злополучная клавиатура нажимаем
Применить.
4) Выделяем
«США» в Русской раскладке и нажимаем
кнопку удалить -> Применить.
Вуоля, лишняя раскладка исчезла.
P.S> Как показала практика, это временное решение уже себя изжило. Для решения проблемы раз и навсегда прошу применять решение с этой статьи: https://radmir.net/ubiraem-raskladku-rus-us-server-rdp-russkiy-yazik/
Отблагдарить автора статьи также можно переводом, +100 вам в карму!
rdp
Windows, Windows 10, Windows 7, Windows 8, Windows Server, Windows Vista, Windows XP
- 12.12.2018
- 21 649
- 5
- 13.04.2022
- 24
- 21
- 3
- Содержание статьи
- Описание проблемы
- Решение проблемы
- Комментарии к статье ( 5 шт )
- Добавить комментарий
Описание проблемы
Довольно распространенной проблемой является возникновение на удаленном компьютере дополнительных раскладок клавиатуры, которые носят названия вроде «RUS US», «РУС RU», «ENG RU» и мешают корректной работе пользователей.
Решение проблемы
Решить такую проблему достаточно легко, нужно лишь в внести изменения в реестр терминального сервера — а именно, создать параметр типа DWORD32 под названием IgnoreRemoteKeyboardLayout
, который должен находиться в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
. Присваиваем ему значение 1
(00000001), перезаходим на сервер и наслаждаемся отсутствием дополнительной раскладки.
Для того, чтобы автоматизировать процесс редактирования реестра, можно создать простой reg файл следующего содержания:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001
О том, как создать reg файл можно прочесть в этой статье.