Вопрос или проблема
Я запускаю VNC-сервер на компьютере baby Fit PC2 под управлением Win7 в мансарде без подключённого монитора. После перезагрузки мой VNC-клиент показывает вышеуказанную ошибку, и подключение невозможно. Подключение монитора через HDMI (который я затем могу отключить) решает проблему. Что мне нужно изменить, чтобы избежать необходимости лазить в мансарду после каждой перезагрузки?
Одно из решений — подключить эмулятор дисплея HDMI, например, тот, что в ссылке ниже. Компьютер будет считать, что к нему подключён монитор. Я использовал его DP-версию на нескольких компьютерах, которые работают без мониторов.
https://www.amazon.com/Display-Emulator-Compatible-Windows-fit-Headless/dp/B09P6DKF28
Я не уверен, подойдет ли какое-либо из решений, найденных в этом ответе на другой пост, для решения вашей проблемы, но там предлагается несколько возможностей, которые выглядят многообещающе:
https://superuser.com/a/936221/1033009
Возможности, представленные в другой теме, варьируются от инструментов командной строки, которые вы можете выполнять при загрузке с помощью команды или скрипта, до изменения значений реестра и/или создания модифицированного VGA-адаптера. Стоит попробовать одно или несколько из этих решений.
Ответ или решение
Ошибка VNC viewer: RFB протокол ошибка: неправильный размер рабочего стола 0x0 часто возникает в ситуациях, когда VNC сервер запущен на компьютере без подключенного монитора. В вашей ситуации проблема появляется, когда вы перезагружаете свой компьютер без монитора, что приводит к невозможности подключения к нему через VNC viewer.
Причины возникновения ошибки
При отсутствии монитора видеокарта не может корректно установить разрешение экрана, что приводит к значению 0x0 (ширина и высота равны нулю). VNC сервер в данном случае не может передать правильные данные о размере рабочего стола, что и вызывает указанную ошибку.
Решения проблемы
-
Использование эмулятора дисплея (headless HDMI adapter):
Как вы уже упомянули, одно из решений заключается в подключении HDMI эмулятора (также известного как "headless HDMI adapter"). Это небольшое устройство имитирует подключение монитора и заставляет видеокарту функционировать как будто монитор присутствует. Это решение является простым в реализации и требует минимальных усилий. -
Настройка параметров графического драйвера:
Убедитесь, что на вашем компьютере установлены последние версии драйверов видеокарты. Некоторые драйверы могут иметь настройки для работы в бездисплейном режиме, позволяя установить разрешение по умолчанию. -
Изменение настроек VNC сервера:
Попробуйте изменить настройки конфигурации VNC сервера, чтобы он запускался с заданным разрешением при старте системы. Это можно сделать, изменив параметры командной строки для VNC сервера или редактируя конфигурационные файлы сервера. -
Использование командной строки или скриптов для автоматизации:
Если вы хотите обойтись без использования аппаратного решения, рассмотрите возможность автоматизации через командную строку или создание скрипта, который будет запускаться при загрузке системы. Это может включать выполнение команд для установки разрешения экрана. -
Модификация реестра Windows:
Есть случаи, когда изменения в реестре Windows могут помочь в установке разрешения по умолчанию для бездисплейных систем. Однако эта опция требует высокой степени осторожности, так как ошибки в реестре могут привести к неспособности загрузиться.
Заключение
С учетом вышеперечисленного, самым простым и надежным решением для вашей ситуации будет использование HDMI эмулятора. Это избавит вас от необходимости постоянного доступа к компьютеру в шкафу. Тем не менее, все предложенные методы могут быть эффективны при корректной настройке. Проверьте их, исходя из ваших предпочтений и технических возможностей.