Настройка разрешения и глубины цвета по умолчанию для vncserver-x11-serviced RealVNC?

Настройка разрешения и глубины цвета по умолчанию для vncserver-x11-serviced RealVNC?

При поиске в Интернете информации о том, как настроить разрешение по умолчанию и глубину цвета для сеансов RealVNC, я всегда натыкаюсь на материалы, в которых говорится о передаче параметров командной строки в vncserver, например, vncserver -geometry 1024x768или что-то в этом роде. Однако моя система настроена на запуск сервера RealVNC при загрузке (для уровней запуска 2-5; я использую Debian) через /etc/init.d/vncserver-x11-servicedскрипт, который устанавливает RealVNC; я не использую vncserverкоманду. Как мне настроить его на определенное разрешение по умолчанию и глубину цвета? Есть ли где-нибудь файл конфигурации, который я могу использовать?

решение1

ПРИМЕЧАНИЕ: Я знаю, что этот ответ относится к виртуальному режиму RealVNC, а не к сервисному режиму ( vncserver-x11-serviced), но я думаю, что виртуальный режим в любом случае более полезен, и это единственный режим, разрешение которого можно изменить.динамически. Вероятно, это довольно похожий метод изменения разрешения для RealVNC, когда он работает в режиме службы.


После установки RealVNC (на момент написания статьи это была версия 5.2.1), применения к нему бесплатной лицензии с помощью vnclicense -add ...и запуска сервера VNC в его «виртуальном режиме» (есть также режимы Service и User, в которые я не буду вдаваться, поскольку они и так достаточно сложны), я обнаружил, насколько глубока эта кроличья нора. :-) Документация по этому вопросу далека от исчерпывающей или очевидной, и единственные статьи базы знаний на сайте RealVNC — этонесколько устаревший(речь идет о vncserverкоманде, а не оочевидная текущая рекомендация, vncserver-virtual), или одинамическое изменение разрешенияс РэндРв течениесеанс, не выбирая, какое разрешение следует использовать при запуске VNC-сервера.

Во-первых, в контексте X Window System чаще используется слово «геометрия» вместо слова «разрешение». Разрешение по умолчанию, предоставляемое вам сервером VNC (или, может быть, самой X?), похоже, составляет 800x600.

Теперь вы можете передавать параметры непосредственно на X-сервер при запуске сервера RealVNC вручную из командной строки (или, очевидно, автоматически при загрузке с чего-то вроде rc.local), а параметр для передачи для установки разрешения — geometry. Итак, это запустит виртуальный экземпляр сервера RealVNC с разрешением 1280x1024:

> vncserver-virtual -geometry 1280x1024

Обычно, когда я тестирую что-то подобное, я работаю как пользователь root, поэтому переключаюсь на пользователя, к рабочему столу которого я хочу подключиться по VNC в первую очередь:

> sudo -u [someuser] vncserver-virtual -geometry 1280x1024

geometryКонечно, это требует передачи параметра в командной строке. RealVNC также поддерживает настройку службы VNC через различные файлы конфигурации. Однако, как ни странно, конфигурация для "Xvnc" (базовый сервер RealVNC, используемый в системах UNIX, который взаимодействует с X и которому необходимо принимать geometryпараметр конфигурации) должна идти вдругое местоположениеиз "нормальных" файлов конфигурации RealVNC; либо /etc/vnc/config.customдля общесерверных настроек, либо ~/.vnc/configдля пользовательских настроек. Они полностью отделены от других файлов конфигурации RealVNC, и выяснить это было довольно сложно. Как я уже сказал, документация по этому вопросу ужасна. Поэтому, чтобы не указывать разрешение в командной строке, создайте файл /etc/vnc/config.customи придайте ему следующее содержимое:

-geometry 1280x1024

Затемкогда вы бежите:

> sudo -u [someuser] vncserver-virtual

... разрешение для этого экземпляра сервера VNC по умолчанию будет равно 1280x1024.

Я предполагаю, что этот файл конфигурации также будет использоваться демоном.vncserver-virtualdтакже, для каждого изvncserver-virtualэкземпляров, которые он порождает (на самом деле, это может быть единственный способ установить разрешение по умолчанию для демона), но поскольку для использования демона требуется корпоративная лицензия, а я использую только бесплатную лицензию, я не смог это протестировать.

Ух ты!


Кстати, я уже упоминал RandR. Это еще один способ получить другое разрешение/геометрию при подключении к серверу RealVNC в системах UNIX. Он работает только когда сервер RealVNC работает в "виртуальном режиме". Он также позволяет динамически менять разрешение во время сеанса VNC и в некоторой степенилучше документированочем те -geometryпараметры, о которых я упоминал выше. :-) Когда эта настройка конфигурации установлена ​​(иэтоидет в «обычном» наборе файлов конфигурации RealVNC, а не в тех отдельных файлах для Xvnc... вот так), вы должны иметь возможность использовать команду xrandrиз сеанса VNC, чтобы динамически изменять разрешение на одно из разрешений, указанных в RandRнастройке.

Связанный контент