VNC funktioniert nicht mit compiz

10

Derzeit funktioniert vnc (mit nvidia gfx-Karten) nicht mit compiz ..

Werden Sie dies beheben, bevor 11.04 veröffentlicht wird, damit Benutzer vnc mit dem Standarddesktop verwenden können?

Jorge Castro
quelle
Ich VNC in meine compiz- und nvidia- mit Desktop die ganze Zeit. Welches Problem hast du?
Oli
1
Compiz ist bereits auf dem Standard-Desktop aktiviert und seit Ubuntu 7.10 (!)
8128
Ich vermute, dass dies der Fehler ist, der mich betrifft: bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/353126 , aber ich habe noch nie gesehen, dass Compiz mit Vino auf einem meiner Computer funktioniert und immer noch nicht (selbst bei Außenseitern) )
1
Sie müssen -noxdamage in Ihrem x11vnc-Server angeben, wenn Sie Compiz ausführen möchten. Wenn Sie den integrierten Vino-Server (System / Einstellungen / Remotedesktop) verwenden, habe ich keine Ahnung - habe ihn nie verwendet. Vino fehlen zu viele Funktionen, die ich verwende (serverseitige Skalierung der Hauptfunktion).
Scaine
Wie gewünscht, Jorge.
Scaine

Antworten:

7

Der aktuelle VNC-Server in System / Einstellungen / Remotedesktop heißt Vino-Server. Der Betrieb wird derzeit nicht unterstützt, wenn Compiz (Desktop Effects) aktiviert ist.

Um dies zu umgehen, müssen Sie einen Ersatz-VNC-Server verwenden. Ich benutze x11vnc.

sudo apt-get install x11vnc

Entscheidend ist, dass Sie beim Starten des x11vnc-Servers -noxdamage angeben, wenn Sie Compiz ausführen möchten.

Initialisieren Sie zunächst x11vnc mit einem Kennwort:

x11vnc -usepw

und folgen Sie den Anweisungen. Dann ist hier ein Beispiel, wie ich meinen vnc-Server betreibe:

x11vnc -usepw -für immer -noxdamage -scale 4/5 -avahi -nolookup -q

  • avahi bedeutet, dass der Server sich mit avahi (Multicast-DNS) bewirbt.
  • Maßstab 4/5 bedeutet, dass ein 1900x1200-Bildschirm auf einen 1280x1024-Bildschirm passt.
  • nolookup bedeutet, dass der Server nicht versucht, den Client nachzuschlagen . Keine langen Pausen.
  • q unterdrückt einen Teil der Ausgabe an die Konsole. Oder verwenden Sie stattdessen -logfile.
  • noxdamage bringt Ihre Compiz-Effekte zum Laufen .
  • Für immer bedeutet nur, dass der Server weiter ausgeführt wird, nachdem ein Client die Verbindung getrennt hat.

Wenn Sie ein "man x11vnc" machen, werden Sie sehen, dass es eine Reihe zusätzlicher Optionen gibt. Aber die oben angegebenen sollten Sie zum Laufen bringen.

Wenn Sie dies beim Start ausführen müssen, führe ich dies persönlich in /etc/rc.local aus, aber ich bin sicher, dass es bessere Möglichkeiten gibt. BEARBEITEN: Und es gibt einfachere Möglichkeiten, die genau auf dieser Site beschrieben werden: Wie werden Skripte beim Start ausgeführt? . Ich nehme an, am einfachsten ist die Option crontab -e, aber Sie können den Befehl auch irgendwo als Skript speichern und ihn dann einfach in system / Einstellungen / Start-Apps angeben.

Scaine
quelle
Muss ich auch verhindern, dass ich hochfahre vino-server?
HDave
Ich habe mich nie darum gekümmert, den Vino-Server HDave zu wechseln. Soweit ich das beurteilen kann, wird 12.04 sowieso nicht mehr mit Vino-Server ausgeliefert. Solange der PC, mit dem Sie eine Verbindung herstellen möchten, auf 5900 ordnungsgemäß zuhört, sollte es Ihnen gut gehen. Überprüfen Sie dies, indem Sie netstat -nlpeine Zeile mit der Aufschrift 0.0.0.0:5900 mit dem Wort "LISTEN" in derselben Zeile ausführen und suchen.
Scaine
Läuft hier 12.04 und netstat -nlpmeldet vino-server, dass Port 5900 abgehört wird. AFAIK Ich habe nichts getan, um dies zu erreichen ... dann wieder mit all dem Herumspielen, das ich gemacht habe ... Sicherlich erscheint der Vino-Server nicht in /etc/initoder in keinem Upstart-Konfiguration habe ich gesehen.
HDave
Ja, das ist seltsam. Ich habe einen ziemlich sauberen Laptop neben mir, auf dem 32-Bit-Ubuntu 12.04 ausgeführt wird, und er hört 5900 auf keinen Fall. Möglicherweise müssen Sie den Vino-Server beenden, bevor Sie x11vnc ausprobieren. Andernfalls kann x11vnc möglicherweise nicht an den richtigen Port binden.
Scaine
2

Die Nodamage-Option funktioniert, aber wenn Sie sich nicht in einem sehr schnellen Netzwerk befinden, ist dies eine schlechte Idee. Sie zwingt dazu, dass alles ständig aktualisiert wird, auch wenn es sich nicht ändert, was eine große Menge an Bandbreite beansprucht.

Luke
quelle
2

Korrektur @ Scaine die große Antwort, es ist möglich zu verwenden , vino-servermit Compiz Effekte aktiviert.

So deaktivieren Sie xdamageVino und sorgen so dafür, dass VNC mit compiz funktioniert:

gsettings set org.gnome.Vino disable-xdamage true

Erledigt!

Jetzt können Sie Ubuntus Standard "Desktop Sharing" auch mit Unity 3D verwenden. Keine Notwendigkeit zu installierenx11vnc

Wie andere bereits betont haben, führt das Deaktivieren von xdamage zu einem enormen Netzwerkverkehr. Kein großes Problem in einem lokalen Netzwerk, aber die Leistung kann durch Fernsteuerung über das Internet beeinträchtigt werden.

MestreLion
quelle
Manchmal frage ich mich, ob Remote-Sharing im Ubuntu-Land tatsächlich ein Nachdenken ist. Es sollte wirklich sofort funktionieren.
Antony
@Antony: Weder Vino noch Compiz sind exklusiv für Ubuntu, also ist es wirklich nicht ihre Schuld. Und der Fehler hängt mit proprietären
Videotreibern zusammen
1

Wenn Sie visuelle Desktop-Effekte (auf Extra eingestellt) mit dem proprietären nvidia-Treiber aktivieren, funktioniert vnc auf dem Computer, aber der Bildschirm wird eingefroren, nachdem Sie sich zum ersten Mal angemeldet haben, und Sie können nichts sehen (außer einem eingefrorenen Bild). Es funktioniert korrekt mit den OpenSource-Treibern (zumindest für ATI).

glänzend
quelle
0

Ich verwende ein MacBook Pro, um meinen Ubuntu-Desktop zu steuern. Ich habe den eingefrorenen Bildschirm gestoppt, indem ich in das AMD Catalyst Control Center gegangen bin. Dann habe ich unter Anzeigeoptionen die Registerkarte "Tear Free" und dann "Tear Free Desktop" aktiviert, um das Zerreißen zu verringern.

Ich habe gleich danach angefangen zu arbeiten.

Brian
quelle