Можно ли изменить разрешение средства просмотра, указанного при запуске сервера vnc с аргументом командной строки геометрии? У меня есть vncserver, настроенный для широкоэкранного монитора, но я хочу просмотреть его на экране 1024x768.
Можно ли изменить разрешение средства просмотра, указанного при запуске сервера vnc с аргументом командной строки геометрии? У меня есть vncserver, настроенный для широкоэкранного монитора, но я хочу просмотреть его на экране 1024x768.
Ответы:
Средство просмотра UltraVNC поддерживает автоматическое масштабирование , поэтому оно автоматически изменит размер окна просмотра, чтобы отобразить весь экран удаленного сервера.
Обновить
И RealVNC, и TightVNC - масштабирование экрана и рабочего стола.
Этот же вопрос был задан некоторое время назад при переполнении стека: /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
-randr
настроек и является базовым -geometry 1024x768
. Это низкое разрешение используется только при первом подключении, но затем вы можете изменить разрешение, просто изменив размер окна клиента на любое, что вам нужно, на любое сумасшедшее, нестандартное, специальное разрешение, которое вы хотите. Моя установка: openSuse 15.1, GDM, KDE Plasma, клиент TigerVNC 1.9.0 (Windows)
С 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.
С TightVNC (по крайней мере), если сервер (windows) меняет разрешение экрана, тогда клиент автоматически изменяется, чтобы соответствовать новому разрешению.
Для TightVNC, нажмите на значок шестеренки (настройки) и измените качество изображения на «Высокое», и оно работает хорошо.
Я получил официальный ответ в службу поддержки клиентов VNC.
Краткая версия: нет, вы не можете изменить удаленное разрешение, чтобы автоматически соответствовать окну локального контроллера VNC / разрешению экрана.
Мне сказали, что это потому, что RDP - это настоящий сеанс входа в систему, поэтому экран ведет себя так, как будто вы обычный пользователь в контролируемой системе.
VNC просто отражает экран. И это не плохо, потому что вы не можете поделиться сессией RDP, но вы можете поделиться VNC
Я предложил создать конфигурацию на сервере vnc, чтобы разрешить изменение экрана, потому что я знаю, что Windows API позволяет сторонним программным программам программно устанавливать разрешение экрана.
Тогда я буду ждать ....