Wie ändere ich die Auflösung, wenn ich die Bildschirmfreigabe verwende und kein physischer Bildschirm angeschlossen ist?

14

Wir haben einen Mac Pro mit Lion, an den kein Bildschirm angeschlossen ist. Es ist so eingerichtet, dass über Screen Sharing (VNC) darauf zugegriffen werden kann. Es funktioniert mit einer Auflösung von 800 x 600.

Wie kann ich die Auflösung ändern, während ich über die Bildschirmfreigabe verbunden bin?

Wenn ich die Anzeigeeinstellungen verwende, um die Auflösung zu ändern, während eine Verbindung über die Bildschirmfreigabe hergestellt wird, geschieht Folgendes: In einem Dialogfeld wird angezeigt, dass das System die Auflösung in 15 Sekunden zurücksetzt, wenn sie nicht funktioniert hat. Dann friert der Bildschirm ein (nichts ändert sich und es scheint nicht auf Klicks zu reagieren). Nach 15 Sekunden kehrt es schließlich zu 800 mal 600 zurück.

Szabolcs
quelle
OS X ist "etwas zu intelligent" und möchte auf dem Display die Auflösung erkennen, die vor dem Start des Anmeldefensters festgelegt wurde. Ein DVI-Stecker könnte die GPU täuschen, aber ich kann Sie nicht auf einen verweisen, der sicher funktioniert. Ich glaube nicht, dass jemand einen Weg gefunden hat, um die Auflösung auszutricksen, aber Sie sollten mehr Glück haben als Leute mit angeschlossenem Display, da die Grafikkarte auf dem Mac Pro weitaus veränderbarer ist als eine tragbare.
bmike

Antworten:

14

Es gibt ein sehr cooles Befehlszeilenprogramm namens cscreen. Dem Entwickler stehen eine Reihe von Versionen zur Verfügung. Je nachdem, wie alt Ihr Mac ist, möchten Sie entweder die PPC-Version oder die Intel-Version. Wenn Ihr Mac neuer als ein Modell von 2006 ist, möchten Sie wahrscheinlich die Intel-Version.

Nachdem Sie das Disk-Image heruntergeladen haben, doppelklicken Sie auf das Image, um es bereitzustellen, und kopieren Sie die Bildschirmdatei an eine andere Stelle als das Disk-Image. Öffnen Sie nun das Terminal. (Sie können in Spotlight danach suchen.) Sobald das Terminal geöffnet ist, können Sie es ausführen, cscreenindem Sie zu ihm navigieren und dann eingeben ./cscreen. Wenn Sie beispielsweise cscreen auf Ihren Desktop kopiert haben, navigieren Sie durch Eingabe zum Terminal in Desktop cd ~/Desktop. Dort würden Sie tippen ./cscreen.

Um die Auflösung zu ändern, müssen wir zunächst wissen, welche Auflösungen möglich sind. Um das herauszufinden, können wir tippen ./cscreen -v. Dies sollte ungefähr so ​​ausgeben:

Terminalausgang

Jetzt können wir eine Auflösung wählen. Angenommen, Sie möchten eine Farbtiefe von 32 Bit, können Sie durch Eingabe die Auflösung Ihrer Wahl ändern

cscreen -i <DisplayID> -d 32 -x <width> -y <height>,

und Ersetzen der in <> enthaltenen Teile durch die tatsächlichen Werte. Ich habe dies nicht mit einem Headless-System über VNC getestet, daher kann Ihre Laufleistung variieren. Die Befehlszeilenoption -i <DisplayID>ist optional. Wenn Ihr VNC keine Anzeige-ID registriert, können Sie die Auflösung möglicherweise trotzdem ändern, wenn Sie diesen Teil des Befehls weglassen.

daviewales
quelle
Danke für den Vorschlag. Die cscreenvon aufgelisteten möglichen Auflösungen unterscheiden sich von den von den Systemeinstellungen aufgelisteten. cscreenerlaubt mir nicht, 800 um 600 zu überschreiten.
Szabolcs
Das ist eine Schande. Ich frage mich, ob Sie einen externen Monitor anschließen, die Auflösung ändern und dann den Monitor entfernen könnten.
Daviewales
1
Schließlich hat es für mich funktioniert, als ich ALLE Optionen -i, -d, -x, -y und -r gleichzeitig angegeben habe - nur -i (oder -s) mit -r hat nichts für mich getan. (Ganzer Befehl, den ich ausgeführt habe : cscreen -i 2ac00003 -d 32 -x 1920 -y 1080 -r 60; Der Wert 2ac00003kam von der Ausführung screenund dem Erraten, welcher der externe Monitor war.)
Doctaphred
5
Auch brew cask install cscreenist eine Installationsoption in diesen Tagen! :)
doctaphred
1
cscreen -d 32 -x <width> -y <height> -s a funktioniert endlich für mich auf Sierra, Mac mini, kopflos, mit Screen Sharing. Vielen Dank!
Kenchew