Comment changer la résolution d'écran du serveur VNC sans le redémarrer?

17

Est-il possible de changer la résolution de la visionneuse spécifiée lors du démarrage du serveur vnc avec l'argument de ligne de commande de géométrie? J'ai un vncserver configuré pour un moniteur à écran large mais je veux le voir sur un écran 1024x768.

Rohit Banga
la source

Réponses:

10

La visionneuse UltraVNC prend en charge la mise à l'échelle automatique , de sorte qu'elle redimensionnera automatiquement la fenêtre de visualisation, pour afficher tout l'écran du serveur distant.

Visionneuse VNC

Mise à jour

Les deux RealVNC et TightVNC affichage / mise à l' échelle de bureau.

stukelly
la source
J'utilise du vrai vnc 4.1.3. où trouver l'option de mise à l'échelle du bureau? Je ne le trouve pas.
Rohit Banga
Il n'est pas inclus dans RealVNC Free Edition, vous devez le faire par la version personnelle ou d'entreprise. Voir la comparaison des fonctionnalités realvnc.com/products/download.html
stukelly
J'ai téléchargé la visionneuse ultra vnc. Cela fonctionne grâce.
Rohit Banga
2
Pas de mise à l'échelle, mais de redimensionnement, modifiez automatiquement la résolution du PC contrôlé pour l'adapter à l'écran du contrôleur.
realtebo
Attention: la mise à l'échelle automatique ne change pas la résolution du bureau à distance , elle agrandit (ou réduit) les pixels en étirant l'image de sortie. Pour la plupart des utilisateurs, la mise à l'échelle automatique est pratiquement inutile, sauf si vous êtes malvoyant. Il diminue considérablement la qualité de l'image. Il fonctionne comme un zoom ou un miroir dans les éditeurs de bitmap populaires. Ce que les utilisateurs veulent vraiment, c'est un véritable changement de résolution de la session à distance et jusqu'à présent, seul TigerVNC est capable de le faire, de tous les téléspectateurs gratuits. Voir ma réponse ci-dessous.
Espinosa
11

Cette même question a été posée il y a quelque temps sur le débordement de pile: /programming/15816/changing-the-resolution-of-a-vnc-session-in-linux

La réponse acceptée de Nathan Fellman:

Le vrai serveur VNC 4.4 inclut la prise en charge de Xrandr, qui permet de redimensionner le VNC. Démarrez le serveur avec:

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

Redimensionnez ensuite avec:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768  
fgregg
la source
Avec le client TigerVNC, vous n'avez pas à définir de géométrie côté serveur. Mon serveur est exécuté sans aucun -randrparamètre et simplement basique -geometry 1024x768. Cette faible résolution est utilisée uniquement lors de votre première connexion, mais vous pouvez ensuite modifier la résolution simplement en redimensionnant la fenêtre du client à tout ce que vous voulez, à n'importe quelle résolution folle, non standard et ad hoc que vous souhaitez. Ma configuration: openSuse 15.1, GDM, KDE Plasma, TigerVNC client 1.9.0 (Windows)
Espinosa
3

Si vous devez modifier le paramètre sans redémarrer le serveur VNC, j'ai eu de bons résultats avec:

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

puis en utilisant xrandr pour changer la résolution comme suggéré par fgregg:

xrandr -s 1024x768
xrandr -s 1600x900
Balau
la source
1

Avec TigerVNC Windows VNC client (visionneuse), la résolution automatique fonctionne immédiatement . Pas besoin de définir quoi que ce soit n'importe où, sur le client ou sur le serveur. Lorsque vous vous connectez pour la première fois à votre serveur, la résolution est définie sur ce qui est prédéfini côté serveur, mais vous pouvez facilement la modifier simplement en redimensionnant la fenêtre du client; à n'importe quelle résolution, n'importe quelle résolution folle, non standard et ad hoc que vous souhaitez. La résolution du bureau distant, par exemple KDE, suit la résolution de la fenêtre de votre client en douceur.

entrez la description de l'image ici

entrez la description de l'image ici

Vérifiez que «Redimensionner la session distante dans la fenêtre locale» est défini. Ce devrait être par défaut.

Veuillez ne pas confondre le changement de résolution automatique avec l'étirement de l'image , également appelé mise à l'échelle automatique . Ce caling est pratiquement inutile, sauf si vous êtes malvoyant. Il fonctionne comme un zoom ou un miroir dans les éditeurs de bitmap populaires. Il rend simplement les pixels plus grands (ou plus petits) en étirant l'image de sortie. Cela diminue considérablement la qualité de l'image si vous vous étirez beaucoup.

Ce que les utilisateurs veulent généralement, c'est un véritable changement de résolution de la session à distance. Et c'est ce dont je parle plus tôt et c'est ce que le client TigetVNC est capable, à condition que le serveur ait des fonctionnalités de correspondance. La résolution automatique maintient une image nette à n'importe quelle taille. L'inconvénient est qu'il augmente également la bande passante du réseau.

Jusqu'à présent, j'ai trouvé que seul TigerVNC est capable de résolution automatique . J'ai testé TightVNC (open source), RealVNC (version gratuite) et UltraVNC (open source) et n'ai eu de chance avec aucun d'entre eux, ils fournissent au mieux une mise à l'échelle automatique inutile.

Page d'accueil de TigerVNC: https://tigervnc.org/
Sources TigerVNC: https://github.com/TigerVNC/tigervnc
Sorties TigerVNC sur GitHub: https://github.com/TigerVNC/tigervnc/releases
Binaires TigerVNC à télécharger: https: //bintray.com/tigervnc/stable/tigervnc/1.9.0

Si vous ne souhaitez que la visionneuse, téléchargez uniquement la visionneuse, comme vncviewer64-1.9.0.exe , c'est-à-dire la visionneuse sans serveur VNC fourni. Attention, avec TigerVNC, le service du serveur démarre automatiquement, en silence, en arrière-plan, ce que je déteste fortement comme une éventuelle menace pour la sécurité.

Mon serveur est exécuté sans aucun -randrparamètre et simplement basique -geometry 1024x768. Cette faible résolution est utilisée uniquement lors de votre première connexion, mais vous pouvez ensuite modifier la résolution simplement en redimensionnant la fenêtre du client. Si vous êtes curieux, voici ma commande complète de serveur 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

Selon la description du package openSuse, xorg-x11-Xvnc- le serveur openSuse VNC - est construit sur le code TigerVNC. Donc dans mon cas, le client TigerVNC parle au serveur TigerVNC, alors c'est peut-être pourquoi tout est si transparent :)

Configuration de mon client: client TigerVNC 1.9.0 (Windows)
Configuration de mon serveur: openSuse 15.1, xorg-x11-Xvnc 1.9.0, vncmanager 1.0.2, GDM, KDE Plasma.

Espinosa
la source
0

Avec TightVNC (au moins) si le serveur (Windows) change la résolution d'écran, le client change automatiquement pour correspondre à la nouvelle résolution.

rogerdpack
la source
Est-il possible d'avoir le comportement RDP? Lorsque le contrôleur se connecte à une fenêtre contrôlée, les fenêtres contrôlées changent de résolution. Ne mettez pas à l'échelle, ne modifiez pas la résolution pour qu'elle corresponde à la résolution de l'écran du contrôleur, au moins selon le rapport de forme, à l'échelle pour s'adapter.
realtebo
Ce serait intéressant maintenant, si c'est possible ...
rogerdpack
0

Pour TightVNC, cliquez sur l'icône d'engrenage (paramètres) et changez la qualité de votre image sur "Haute" et cela fonctionne bien.

Domaines
la source
Pourquoi la qualité d'image devrait-elle être liée au changement automatique de la résolution d'écran sur la partie contrôlée?
realtebo
Ça ne marche pas pour moi. Je viens de tester. Cette taille de fenêtres client basée sur la résolution à distance est prise en charge par certains clients VNC, comme TigerVNC, mais pas TightVNC ou RealVNC (version gratuite). Je viens de le tester avec RealVNC Viewer 6.19.715 et TightVNC Viewer pour Windows 2.8.23.
Espinosa
0

J'ai reçu une réponse officielle par écrit au service client de VNC.

La version courte est: non, vous ne pouvez pas modifier la résolution à distance pour correspondre automatiquement à la résolution de la fenêtre / de l'écran du contrôleur vnc local.

Ils m'ont dit que c'est parce que RDP est une véritable session de connexion, donc l'écran se comporte comme vous êtes un utilisateur commun dans le système contrôlé.

VNC reflète simplement l'écran. Et ce n'est pas une mauvaise chose car vous ne pouvez pas partager de session RDP mais vous pouvez partager VNC

J'ai suggéré de créer une configuration sur le serveur vnc pour permettre le changement d'écran car je sais que l'API Windows permet à un tiers sw de définir la résolution d'écran par programme.

Alors j'attendrai ....

realtebo
la source