Как изменить разрешение экрана VNC-сервера, не перезапуская его?

17

Можно ли изменить разрешение средства просмотра, указанного при запуске сервера vnc с аргументом командной строки геометрии? У меня есть vncserver, настроенный для широкоэкранного монитора, но я хочу просмотреть его на экране 1024x768.

Рохит Банга
источник

Ответы:

10

Средство просмотра UltraVNC поддерживает автоматическое масштабирование , поэтому оно автоматически изменит размер окна просмотра, чтобы отобразить весь экран удаленного сервера.

VNC Viewer

Обновить

И RealVNC, и TightVNC - масштабирование экрана и рабочего стола.

stukelly
источник
Я использую реальный VNC 4.1.3. где найти вариант масштабирования рабочего стола? Я не могу найти это.
Рохит Банга
Это не входит в RealVNC Free Edition, вам нужно в версии Personal или Enterprise. См. Сравнение функций realvnc.com/products/download.html
2010 г.
Я скачал Ultra VNC Viewer. Это работает, спасибо.
Рохит Банга
2
Не масштабируя, но изменяйте размер, автоматически изменяйте контролируемое разрешение ПК в соответствии с экраном контроллера.
Realtebo
Осторожно: автоматическое масштабирование не меняет разрешение удаленного рабочего стола , оно просто увеличивает (или уменьшает) пиксели за счет растягивания выходного изображения. Для большинства пользователей автоматическое масштабирование практически бесполезно, если только у вас нет нарушения зрения. Это значительно снижает качество изображения. Он работает как зум или зеркало в популярных растровых редакторах. Что действительно хотят пользователи, так это реальное изменение разрешения удаленного сеанса, и пока только TigerVNC способен сделать это из всех бесплатных зрителей. Смотрите мой ответ ниже.
Espinosa
11

Этот же вопрос был задан некоторое время назад при переполнении стека: /programming/15816/changing-the-resolution-of-a-vnc-session-in-linux

Принятый ответ от Натана Феллмана:

Реальный VNC сервер 4.4 включает в себя поддержку Xrandr, которая позволяет изменять размеры VNC. Запустите сервер с:

vncserver -geometry 1600x1200 -randr 1600x1200,1440x900,1024x768

Затем измените размер с помощью:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768  
fgregg
источник
С клиентом TigerVNC вам не нужно устанавливать какие-либо геометрии на стороне сервера. Мой сервер запущен без каких-либо -randrнастроек и является базовым -geometry 1024x768. Это низкое разрешение используется только при первом подключении, но затем вы можете изменить разрешение, просто изменив размер окна клиента на любое, что вам нужно, на любое сумасшедшее, нестандартное, специальное разрешение, которое вы хотите. Моя установка: openSuse 15.1, GDM, KDE Plasma, клиент TigerVNC 1.9.0 (Windows)
Espinosa
3

Если вам нужно изменить настройки без перезапуска VNC-сервера, у меня были хорошие результаты с:

vncconfig -set RandR="1024x768,1600x900"

а затем с помощью xrandr измените разрешение, как предложил fgregg:

xrandr -s 1024x768
xrandr -s 1600x900
Balau
источник
1

С TigerVNC Windows VNC клиент (программа просмотра) работает автоматически. Не нужно ничего устанавливать где-либо, на клиенте или на сервере. Когда вы впервые подключаетесь к вашему серверу, разрешение устанавливается на то, что предварительно установлено на стороне сервера, но вы можете легко изменить его, просто изменив размер окна клиента; в любое разрешение, любое сумасшедшее, нестандартное, специальное разрешение, которое вы хотите. Разрешение удаленного рабочего стола, скажем, KDE, плавно соответствует разрешению окна вашего клиента.

введите описание изображения здесь

введите описание изображения здесь

Проверьте, установлен ли параметр «Изменить размер удаленного сеанса в локальном окне». Это должно быть по умолчанию.

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

Что обычно хотят пользователи, так это реальное изменение разрешения удаленного сеанса. И это то, о чем я говорил ранее, и это то, на что способен клиент TigetVNC, при условии, что сервер имеет соответствующие функции. Автоматическое разрешение обеспечивает четкость изображения при любом размере. Недостатком является также увеличение пропускной способности сети.

До сих пор я обнаружил, что только TigerVNC способен автоматически разрешать . Я тестировал TightVNC (с открытым исходным кодом), RealVNC (бесплатная версия) и UltraVNC (с открытым исходным кодом), и мне не повезло ни с одним из них, они обеспечивают бесполезное автоматическое масштабирование в лучшем случае.

Домашняя страница TigerVNC: https://tigervnc.org/
Источники TigerVNC: https://github.com/TigerVNC/tigervnc
Релизы TigerVNC на GitHub: https://github.com/TigerVNC/tigervnc/releases
бинарные файлы TigerVNC для загрузки: https: //bintray.com/tigervnc/stable/tigervnc/1.9.0

Если вам нужен только просмотрщик, то скачайте только просмотрщик, например vncviewer64-1.9.0.exe , то есть просто просмотрщик без VNC-сервера в комплекте. Помните, что с сервером TigerVNC служба запускается автоматически в фоновом режиме, что я категорически ненавижу как возможную угрозу безопасности.

Мой сервер запущен без каких-либо -randrнастроек и является базовым -geometry 1024x768. Это низкое разрешение используется только при первом подключении, но затем вы можете изменить разрешение, просто изменив размер окна клиента. Если вам интересно, вот моя полная команда VNC-сервера:

/usr/bin/Xvnc -log *:syslog:30,TcpSocket:syslog:-1 -inetd -MaxDisconnectionTime=5 -securitytypes=none -displayfd 10 -geometry 1024x768 -AllowOverride=Desktop,AcceptPointerEvents,SendCutText,AcceptCutText,MaxDisconnectionTime,MaxConnectionTime,MaxIdleTime,QueryConnect,QueryConnectTimeOut,AlwaysShared,NeverShared,DisconnectClients,SecurityTypes,Password,PlainUsers -query localhost -once -desktop New session -extension MIT-SHM

Согласно описанию пакета openSuse, xorg-x11-Xvnc- сервер openSuse VNC - построен на коде TigerVNC. Так что в моем случае клиент TigerVNC общается с сервером TigerVNC, так что, возможно, поэтому все так просто :)

Настройка моего клиента: TigerVNC client 1.9.0 (Windows)
Настройка моего сервера: openSuse 15.1, xorg-x11-Xvnc 1.9.0, vncmanager 1.0.2, GDM, KDE Plasma.

Эспиноса
источник
0

С TightVNC (по крайней мере), если сервер (windows) меняет разрешение экрана, тогда клиент автоматически изменяется, чтобы соответствовать новому разрешению.

rogerdpack
источник
Возможно ли иметь поведение RDP? Когда контроллер подключается к управляемым окнам, контролируемые окна меняют свое разрешение. Не масштабируйте, не меняйте разрешение, чтобы соответствовать разрешению экрана контроллера, по крайней мере, по соотношению форм, чем масштабируйте, чтобы соответствовать.
Realtebo
Теперь было бы интересно, если это возможно ...
rogerdpack
0

Для TightVNC, нажмите на значок шестеренки (настройки) и измените качество изображения на «Высокое», и оно работает хорошо.

DomainsFeatured
источник
Почему качество изображения должно быть связано с автоматическим изменением разрешения экрана на контролируемой части?
Realtebo
У меня не работает. Только что протестировано. Этот размер клиентских окон, управляемый удаленным разрешением, поддерживается некоторыми клиентами VNC, такими как TigerVNC, но не TightVNC или RealVNC (бесплатная версия). Я только что проверил это с помощью RealVNC Viewer 6.19.715 и TightVNC Viewer для Windows 2.8.23.
Эспиноза
0

Я получил официальный ответ в службу поддержки клиентов VNC.

Краткая версия: нет, вы не можете изменить удаленное разрешение, чтобы автоматически соответствовать окну локального контроллера VNC / разрешению экрана.

Мне сказали, что это потому, что RDP - это настоящий сеанс входа в систему, поэтому экран ведет себя так, как будто вы обычный пользователь в контролируемой системе.

VNC просто отражает экран. И это не плохо, потому что вы не можете поделиться сессией RDP, но вы можете поделиться VNC

Я предложил создать конфигурацию на сервере vnc, чтобы разрешить изменение экрана, потому что я знаю, что Windows API позволяет сторонним программным программам программно устанавливать разрешение экрана.

Тогда я буду ждать ....

realtebo
источник