VNC-Server als virtueller X11-Monitor zum Erweitern des Bildschirms

9

In einer aktuell ausgeführten X11-Sitzung möchte ich einen VNC- Server so bereitstellen / ausführen, dass er meinem System als zweiter „virtueller“ Monitor angezeigt wird, dh damit ich ihn mithilfe von xrandrFenstern positionieren und darauf ziehen / positionieren kann.

Wie könnte ich das erreichen, wenn überhaupt?

Bearbeiten: Weitere Informationen von OP in Kommentaren: "Auch hier gefragt , ohne Antwort."

Joachim Breitner
quelle

Antworten:

8

tl; dr: Erzwinge eine "virtuelle" Ausgabe deiner gfx-Karte in einen Anzeigemodus und exportiere diese mit x11vnc.


Sie können dies erreichen, aber es gibt einige Voraussetzungen:

  • Eine Grafikkarte mit Mehrkopffunktionen (= kann mehrere "Desktop" -Oberflächen rendern). Welches ist die meisten Karten in diesen Tagen.
  • x11vnc, eine ausgereifte Software () um X11-Oberflächen (unter anderem) in VNC- Clients zu exportieren .

Die meisten Verbraucherkarten können heutzutage mehrere verschiedene Ausgaben rendern. Meins kann 3 von 5 xrandranzeigen (eDP1, HDMI [12], DP [12]).

  • Wählen Sie eine nicht verwendete Ausgabe aus in meinem Beispiel HDMI2.
  • Wählen Sie eine Auflösung für den Bildschirm des vnc-Clients und generieren Sie einen Modus :

    $ cvt 1920 1080
    # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
    Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

  • Fügen Sie diesen Modus hinzu xrandr

    xrandr --newmode "1920x1080_60" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

  • Versetzen Sie zB HDMI2in diesen Modus und hängen Sie rechts von eDP1(Hauptbildschirm)

    xrandr --addmode HDMI2 1920x1080_60
    --output HDMI2 --mode 1920x1080_60 --right-of eDP1

  • Exportieren Sie das nun mit x11vncund wählen Sie den entsprechenden Versatz:

    x11vnc -display :0 -clip 1920x1080+1600+0 <other options>

    Hinweis: Fügen Sie diesem Befehl die gewünschte Verschlüsselung / Authentifizierung / andere Optionen hinzu.

  • Stellen Sie nun mit einem VNC-Client eine Verbindung zu Ihrem "virtuellen Monitor" her. (oder ändern Sie den obigen Befehl, um eine Verbindung zu einem "lauschenden" VNC-Client herzustellen.

Alex Stragies
quelle
1
Mit dem Notebook-Bildschirm und einem VGA-Monitor wird dies nicht gesagt xrandr: Configure crtc 2 failed. Wenn ich nur einen Bildschirm verwende (entweder VGA oder eingebetteten), funktioniert es. Wie kann ich es mit beiden Bildschirmen zum Laufen bringen?
Schigalin - Setzen Sie CMs
6

In dieser Antwort können Sie VIRTUAL1 anstelle einer realen Ausgabe wie HDMI2 verwenden und diese wie bei jedem anderen physischen Monitor in den Bildschirmeinstellungen der Desktop-Umgebung verwalten (Auflösung auswählen, Desktop-Geometrie anordnen, klonen oder erweitern).

Rafael Godínez Pérez
quelle