Standardauflösung und Farbtiefe für vncserver-x11-serviced von RealVNC konfigurieren?

Standardauflösung und Farbtiefe für vncserver-x11-serviced von RealVNC konfigurieren?

Wenn ich im Internet nach Informationen suche, wie man die Standardauflösung und Farbtiefe für RealVNC-Sitzungen konfiguriert, stoße ich immer auf Dinge, in denen es um die Übergabe von Befehlszeilenparametern an geht vncserver, wie etwa vncserver -geometry 1024x768oder so. Ich habe mein System jedoch so konfiguriert, dass der RealVNC-Server beim Booten (für Runlevel 2-5; ich verwende Debian) über das /etc/init.d/vncserver-x11-servicedvon RealVNC installierte Skript gestartet wird; ich verwende den vncserverBefehl nicht. Wie konfiguriere ich dies, um eine bestimmte Standardauflösung und Farbtiefe zu haben? Gibt es irgendwo eine Konfigurationsdatei, die ich verwenden kann?

Antwort1

HINWEIS: Mir ist bewusst, dass diese Antwort eher für den virtuellen Modus von RealVNC als für den Servicemodus ( vncserver-x11-serviced) gilt, aber ich denke, dass der virtuelle Modus im Allgemeinen sowieso nützlicher ist und dass er der einzige ist, dessen Auflösung geändert werden kann.dynamisch. Es handelt sich wahrscheinlich um eine ziemlich ähnliche Technik zum Ändern der Auflösung für RealVNC, wenn es im Servicemodus ausgeführt wird.


Nachdem ich RealVNC installiert hatte (zum Zeitpunkt des Schreibens Version 5.2.1), eine kostenlose Lizenz mit anwendete vnclicense -add ...und den VNC-Server im „virtuellen Modus“ laufen ließ (es gibt auch Dienst- und Benutzermodi, auf die ich hier nicht näher eingehen werde, da es schon komplex genug ist), entdeckte ich, wie tief dieses Kaninchenloch ist. :-) Die Dokumentation hierfür ist alles andere als umfassend oder offensichtlich, und die einzigen KB-Artikel auf der Website von RealVNC sindetwas veraltet(ich rede vom vncserverBefehl statt vomscheinbare aktuelle Empfehlung, vncserver-virtual) oder etwadynamisches Ändern der Auflösungmit RandRwährendeine Sitzung, nicht die Auswahl, welche Auflösung beim Starten des VNC-Servers verwendet werden soll.

Erstens wird im Zusammenhang mit dem X Window System eher das Wort „Geometrie“ als das Wort „Auflösung“ verwendet. Die Standardauflösung, die Ihnen vom VNC-Server (oder vielleicht X selbst?) bereitgestellt wird, scheint 800 x 600 zu sein.

Sie können nun Parameter direkt an den X-Server übergeben, wenn Sie den RealVNC-Server manuell über die Befehlszeile starten (oder natürlich automatisch beim Booten über etwas wie rc.local), und der Parameter, der zum Einstellen der Auflösung übergeben werden muss, ist geometry. Dies startet also eine virtuelle RealVNC-Serverinstanz mit einer Auflösung von 1280 x 1024:

> vncserver-virtual -geometry 1280x1024

Wenn ich solche Sachen teste, verwende ich sie normalerweise als Root. Daher wechsle ich zu dem Benutzer, auf dessen Desktop ich zuerst per VNC zugreifen möchte:

> sudo -u [someuser] vncserver-virtual -geometry 1280x1024

Dazu muss natürlich ein geometryParameter in der Befehlszeile übergeben werden. RealVNC unterstützt auch die Konfiguration des VNC-Dienstes über verschiedene Konfigurationsdateien. Verwirrenderweise geometrymuss die Konfiguration für „Xvnc“ (der zugrunde liegende RealVNC-Server, der auf UNIX-Systemen verwendet wird, mit X kommuniziert und den Konfigurationsparameter übernehmen muss) jedoch in eineanderer Standortaus den „normalen“ RealVNC-Konfigurationsdateien; entweder /etc/vnc/config.customfür serverweite Einstellungen oder ~/.vnc/configfür benutzerspezifische Einstellungen. Diese sind völlig getrennt von den anderen RealVNC-Konfigurationsdateien und es war ziemlich schwierig, dies herauszufinden. Wie gesagt, die Dokumentation dazu ist schrecklich. Um also die Auflösung nicht in der Befehlszeile angeben zu müssen, erstellen Sie die Datei /etc/vnc/config.customund geben Sie ihr den folgenden Inhalt:

-geometry 1280x1024

Dannwenn du läufst:

> sudo -u [someuser] vncserver-virtual

... die Auflösung für diese VNC-Serverinstanz beträgt standardmäßig 1280 x 1024.

Ich gehe davon aus, dass diese Konfigurationsdatei auch vom Daemon verwendet wirdvncserver-virtualdsowie für jeden dervncserver-virtualInstanzen, die es erzeugt (tatsächlich ist es möglicherweise die einzige Möglichkeit, die Standardauflösung für den Daemon festzulegen), aber da für die Verwendung des Daemons eine Enterprise-Lizenz erforderlich ist und ich nur die kostenlose Lizenz verwende, konnte ich es nicht testen.

Wütend!


Übrigens habe ich RandR bereits erwähnt. Dies ist eine weitere Möglichkeit, eine andere Auflösung/Geometrie zu erhalten, wenn man sich auf UNIX-Systemen mit dem RealVNC-Server verbindet. Dies funktioniert nur, wenn der RealVNC-Server im „virtuellen Modus“ läuft. Es ermöglicht auch dynamisches Ändern der Auflösung während der VNC-Sitzung und ist etwasbesser dokumentiertals die -geometryParameter, die ich oben erwähnt habe. :-) Wenn diese Konfigurationseinstellung gesetzt ist (undEsgehört in den „normalen“ Satz von RealVNC-Konfigurationsdateien, nicht in die separaten für Xvnc … stellen Sie sich das vor), Sie sollten in der Lage sein, den xrandrBefehl innerhalb der VNC-Sitzung zu verwenden, um die Auflösung dynamisch auf eine der in der Einstellung angegebenen Auflösungen zu ändern RandR.

verwandte Informationen