Способы оплаты Abuse

Черный экран вместо рабочего стола в RDP сессии

07.07.2024, 03:31

Давайте рассмотрим, что делать, если во время RDP подключении к удаленному хосту вы видите не рабочий стол, а черный экран. Проблема особенно часто встречается в ранних версиях Windows 10 и Windows Server 2019. Забегая наперед скажем, что проблема решается. 

Что такое RDP?

RDP (Remote Desktop Protocol) - протокол удаленного рабочего стола, разработанный компанией Microsoft. Он предназначен для удаленного управления компьютером через сеть. RDP позволяет пользователям подключаться к удаленному компьютеру или серверу и управлять им, будто они находятся непосредственно перед ним.

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

Для чего необходим RDP?

RDP (Remote Desktop Protocol) используется для удаленного доступа и управления компьютером или сервером через сеть. Вот несколько основных причин, для которых используется RDP:

  1. Удаленное администрирование: системные администраторы могут использовать RDP для удаленного управления серверами без необходимости физического присутствия перед ними.
  2. Удаленная поддержка: технические специалисты могут использовать RDP для удаленной поддержки пользователей, помогая им решать проблемы на их компьютерах.
  3. Удаленная работа: пользователи могут использовать RDP для доступа к своему рабочему столу и файлам с любого места, где есть доступ к интернету, что позволяет работать удаленно.
  4. Обучение и демонстрации: RDP может использоваться для обучения пользователей или демонстрации программного обеспечения, позволяя показывать рабочий стол другим пользователям.
  5. Централизованное управление: RDP позволяет централизованно управлять несколькими компьютерами или серверами из одного места.

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

Причины возникновения проблемы

Почему вместо RDP сессии появляется черный экран?

Причины возникновения проблемы

Диагностировать или присвоить их к категории, то есть классифицировать, достаточно проблематично. Но мы постараемся это сделать:

Во время сессии RDP нажмите CTRL+ALT+END, после чего Отмена. Часто так можно вернуться к рабочему столу RDP сессии. Если не помогает, запускаем диспетчер задач Task Manager и процесс File Explorer (File -> Run new task -> explorer.exe -> Ok);


Настройки RDP клиента

Проверьте, что в настройках RDP клиента (mstsc.exe) отключено кэширование (выключаем Persistent bitmap caching на вкладке Experience) и используется разрешение экрана.

Разрешение экрана

Оно поддерживается удаленным хостом. Проверьте, что на вашем ПК стоит последняя версия видеодрайвера. Вы можете установить драйвера ручным способом или установить их автоматическое обновление. 

Настройки

Решение проблемы

Для Windows 10 нужно вставить использование XDDM вместо WDDM. Откроем редактор групповых политик gpedit.msc и в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment ставим значение параметра Use WDDM graphics display driver for Remote Desktop Connections = Disabled. Обновляем групповые политики на RDP сервере.

Групповая политика

В Windows Server 2016 с выставленными таймаутами для RDS сессий иногда приходят жалобы пользователей, что после подключения в отключенную (disconnected) сессию, она не активировалась корректно и они видели черный экран. Здесь поможет только завершение RDP сеанса пользователем самостоятельно (CTRL+ALT+End -> Sign out), либо принудительное завершение сессии администратором (по аналогии со статьей Не удается завершить требуемую операцию при входе по RDP). Либо настройте более агрессивные настройки отключения disconnected сессий;

Отключаем использование протокола UDP 3389 для передачи RDP трафика в дополнение к стандартному RDP порту TCP 3389 через параметр Turn off UDP on client на клиенте (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client) или через реестр: reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client” /v “fClientDisableUDP” /t REG_DWORD /d 1 /f . Для отключения UDP протокола для RDP трафика на стороне сервера, настройте параметр GPO …Remote Desktop Session Host -> Connections -> Select RDP transport protocols = Use only TCP.Локальная политика

Другие способы

Из более экзотических рекомендаций от Microsoft, которые помогают далеко не всегда, но могут исправить именно источник проблемы:

Проверяем RDP сервер, клиент и все сетевое оборудование между ними. Они должны быть настроены на одинаковый MTU.

Выключаем опцию сжатия данных, которые перелаются, в сеансе RDP через редактор локальной GPO – Configure compression for RemoteFX data (Настройка сжатия данных RemoteFX) = Do not use an RDP compression algorithm (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host).

Если проблема с черным экраном в RDP встречается на Windows Server 2019 и Windows 10 1809+. Откройте Event Viewer и проверьте журнал событий Application and Service Logs –> Microsoft –> Windows –> RemoteDesktopService-RdpCoreTS.

Проверьте, есть ли там ошибки вида ‘ Failed GetConnectionProperty’ in CUMRDPConnection::QueryProperty at 2884 err=[0x80004001] ‘, ‘ Connection doesn’t support logon error redirector’ in CUMRDPConnection::GetLogonerrorRedirector at 4199 err=[0x80004001].

Если есть, отключаем использование протокола URCP (Universal Rate Control Protocol), который используется для передачи некоторых данных между RDP клиентом и сервером поверх UDP (MS-RDPEUDP2): reg add “HKLM\SOFTWARE\Microsoft\Terminal Server Client” /v “UseURCP” /t REG_DWORD /d 0 /f или так New-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Terminal Server Client' -Name UseURCP -PropertyType DWord -Value 0

Проверяем RDP сервер

Теперь вы знаете, как можно решить эту проблему.