Comment changer la résolution de l'écran virtuel sur Ubuntu (connexion via VNC sans affichage réel connecté)?

12

J'ai un serveur Ubuntu sans accès physique, uniquement via ssh / vnc.

Il est bloqué sur une résolution de 1680x1050 et dans les paramètres d'affichage du système, les menus sont désactivés car aucun affichage réel détecté n'est connecté.

J'ai besoin de réduire la résolution par exemple à 800x600.

Quand j'essaye:

$ xrandr --output VGA1 --mode 800x600

Je suis en train:

xrandr: cannot find mode 800x600

Les résultats sont les mêmes même si j'essaye d'abord:

$ xrandr --newmode "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync

Les accessoires sont:

$ xrandr --prop
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 4096 x 4096
VGA1 disconnected 1680x1050+0+0 (normal left inverted right x axis y axis) 593mm x 371mm
  1680x1050 (0x43)  146.2MHz
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock   65.3KHz
        v: height 1050 start 1053 end 1059 total 1089           clock   60.0Hz

Des idées?

GJ.
la source
Veuillez fournir des informations à partir de xorg.conf
Andrew Bolster
Pour une autre alternative: superuser.com/questions/270608/…
Wtower

Réponses:

10

Il semble que vous utilisiez le serveur vino pour partager le bureau via VNC. Bien que je pense que vous pouvez changer votre /etc/X11/xorg.conf, ou quel que soit le fichier de configuration X maintenant, j'ai une autre suggestion. Laissez la configuration X tranquille et créez une autre session pour votre vnc.


Installer vnc

$ sudo apt-get install vnc4server

Créer des scripts de démarrage et d'arrêt vnc

vnc.sh

#!/bin/sh

vncserver :12 -name "My-Server" -geometry 1600x1100

vnc-kill.sh

#!/bin/sh

vncserver -kill :12

12 n'est qu'un nombre d'affichage arbitraire. Vous l'utiliserez lorsque vous vous connecterez au serveur. Cela peut être n'importe quel nombre sauf 0. C'est ce que le serveur vino utilise par défaut (je pense). N'oubliez pas de chmod + x les scripts.

Facultatif: démarrer la session vnc au démarrage

Ajoutez le vnc.sh à votre /etc/rc.local afin que la session démarre au démarrage de l'ordinateur. sudo vi /etc/rc.local et ajoutez ceci à la fin avant la "sortie 0"

su - YourUserName -c "/home/YourUserName/bin/vnc.sh"

J'exécute le serveur vnc en tant qu'utilisateur ici. Je ne veux pas que le serveur fonctionne sous le contexte racine. Remplacez bien sûr "YourUserName". Alternativement, vous n'avez pas besoin de le mettre ici, vous pouvez lancer ssh et exécuter le script "vnc.sh" manuellement. Ton appel.

Définissez votre mot de passe vnc

(ceci est distinct de l'autre mot de passe du bureau vnc)

$ vncpasswd

Modifier votre fichier de session vnc

$ vi ~/.vnc/xstartup

Commentez tout et mettez cela à la fin

gnome-session &

Essaye-le

Exécutez votre script vnc.sh et connectez-vous à partir d'un autre ordinateur.

vncviewer.exe -connect Server:12
SuperJames
la source
2
Merci, cela fonctionne très bien pour un nouveau bureau. Cependant, je dois utiliser un bureau existant avec plusieurs fenêtres ouvertes déjà là. Existe-t-il un moyen de me connecter à l'écran d'origine: 0 avec une géométrie différente?
GJ.
... existe-t-il un moyen de déplacer toutes les fenêtres en une seule opération par lots de l'affichage principal vers ce nouvel affichage VNC?
GJ.
Bien que je ne l'ai pas encore essayé, je pense que vous pouvez utiliser "x11vnc" à la place du "vncserver" ci-dessus, avec un paramètre -geometry spécifique. Cela devrait vous donner accès à l'affichage: 0. J'ai cherché des paramètres sur le serveur gnome vino, mais je n'en ai pas trouvé.
SuperJames
1

Vous pourriez envisager de changer la résolution sur le serveur VNC? Je ne suis pas sûr de votre configuration, mais si le serveur VNC est sur la machine virtualisée, vous pouvez vérifier le point d'instanciation de vncserver et y changer l' -geometryindicateur?

Alternativement, je regarderais xorg.conf et ajouterais le mode que vous recherchez, car xrandrdit que ce n'est pas disponible. Cet article couvre les bases de l'édition de xorg.conf

Andrew Bolster
la source
1

Je peux changer ma résolution de vncserver à volonté avec la commande suivante:

vncconfig -set randr=1552x1175 ; xrandr -s 1552x1175

(HT Matt D.)

Ross Rogers
la source
Qu'est-ce que c'est vncconfig? Tu veux dire vnc4config?
Wtower
Suse l'appelle vncconfig.
Ross Rogers
Ah, à droite alors :)
Wtower