Чи можливо змінити роздільну здатність переглядача, вказану під час запуску сервера 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/
випускає бінарні файли 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
- сервер VNC openSuse - побудований на коді TigerVNC. Тож у моєму випадку клієнт TigerVNC розмовляє з сервером TigerVNC, тому, можливо, саме тому все так бездоганно :)
Налаштування мого клієнта: клієнт TigerVNC 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 дозволяє сторонній SW програмно встановити роздільну здатність екрана.
Тоді я зачекаю….