Wie ändere ich die virtuelle Bildschirmauflösung unter Ubuntu (Verbindung über VNC ohne angeschlossenes reales Display)?

12

Ich habe einen Ubuntu-Server ohne physischen Zugriff, nur über ssh / vnc.

Es hängt an einer Auflösung von 1680 x 1050 und in den Systemanzeigeeinstellungen sind die Menüs deaktiviert, da keine erkannte reale Anzeige angeschlossen ist.

Ich muss die Auflösung auf zB 800x600 verringern.

Wenn ich versuche:

$ xrandr --output VGA1 --mode 800x600

Ich erhalte:

xrandr: cannot find mode 800x600

Die Ergebnisse sind die gleichen, auch wenn ich das erste Mal versuche:

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

Die Requisiten sind:

$ 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

Irgendwelche Ideen?

GJ.
quelle
Bitte geben Sie Informationen von xorg.conf
Andrew Bolster
Für eine andere Alternative: superuser.com/questions/270608/...
Wtower

Antworten:

10

Es hört sich so an, als ob Sie den Vino-Server verwenden, um den Desktop über VNC freizugeben. Obwohl ich denke, dass Sie Ihre /etc/X11/xorg.conf oder was auch immer die X-Konfigurationsdatei jetzt ist, ändern können, habe ich einen anderen Vorschlag. Lassen Sie die X-Konfiguration in Ruhe und erstellen Sie eine weitere Sitzung für Ihren VNC.


Installieren Sie vnc

$ sudo apt-get install vnc4server

Erstellen Sie vnc Start und Stop Skripte

vnc.sh

#!/bin/sh

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

vnc-kill.sh

#!/bin/sh

vncserver -kill :12

12 ist nur eine beliebige Anzeigenummer. Sie werden dies verwenden, wenn Sie eine Verbindung zum Server herstellen. Es kann eine beliebige Zahl außer 0 sein. Dies wird vom Vino-Server standardmäßig verwendet (glaube ich). Vergessen Sie nicht, die Skripte mit chmod + x zu versehen.

Optional: Starten Sie die vnc-Sitzung beim Booten

Fügen Sie die Datei vnc.sh zu Ihrer /etc/rc.local hinzu, damit die Sitzung gestartet wird, wenn der Computer gestartet wird. sudo vi /etc/rc.local und füge dies am Ende vor dem "exit 0" hinzu

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

Ich betreibe den VNC-Server als Benutzer hier. Ich möchte nicht, dass der Server im Stammkontext ausgeführt wird. Ersetzen Sie natürlich den "YourUserName". Alternativ brauchen Sie dies hier nicht anzugeben, Sie könnten ssh eingeben und das Skript "vnc.sh" manuell ausführen. Ihr Anruf.

Legen Sie Ihr VNC-Passwort fest

(Dies ist nicht mit dem anderen vnc-Desktop-Passwort identisch.)

$ vncpasswd

Bearbeiten Sie Ihre vnc-Sitzungsdatei

$ vi ~/.vnc/xstartup

Kommentieren Sie alles aus und setzen Sie dies am Ende

gnome-session &

Probier es aus

Führen Sie Ihr vnc.sh-Skript aus und stellen Sie eine Verbindung von einem anderen Computer aus her.

vncviewer.exe -connect Server:12
SuperJames
quelle
2
Danke, es funktioniert hervorragend für einen neuen Desktop. Ich muss jedoch einen vorhandenen Desktop mit verschiedenen geöffneten Fenstern verwenden. Gibt es eine Möglichkeit, eine Verbindung zum Originaldisplay herzustellen: 0 mit einer anderen Geometrie?
GJ.
... gibt es alternativ eine Möglichkeit, alle Fenster in einem einzigen Stapelvorgang von der Hauptanzeige auf diese neue VNC-Anzeige zu verschieben?
GJ.
Obwohl ich es noch nicht ausprobiert habe, glaube ich, dass Sie "x11vnc" anstelle des obigen "vncserver" mit einem bestimmten -geometry-Parameter verwenden können. Dies sollte Ihnen Zugriff auf die Anzeige: 0 geben. Ich habe nach Parametern für den Gnome Vino-Server gesucht, aber keine gefunden.
SuperJames
1

Sie könnten die Auflösung auf dem VNC-Server ändern? Ich bin nicht sicher, ob Ihr Setup korrekt ist, aber wenn sich der VNC-Server auf der virtualisierten Maschine befindet, können Sie den vncserver-Instanziierungspunkt überprüfen und das -geometryFlag dort ändern .

Alternativ schaue ich mir xorg.conf an und füge den gewünschten Modus hinzu, da xrandrer nicht verfügbar ist. Dieser Artikel behandelt die Grundlagen der Bearbeitung von xorg.conf

Andrew Bolster
quelle
1

Ich kann meine vncserver-Auflösung mit dem folgenden Befehl nach Belieben ändern:

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

(HT Matt D.)

Ross Rogers
quelle
Was ist vncconfig? Du meinst vnc4config?
Wtower
Suse nennt es vncconfig.
Ross Rogers
Ah, genau dann :)
Wtower