VNC不适用于compiz

目前vnc(与nvidia gfx卡)不兼容compiz ..

你会在11.04发布之前解决这个问题,以便人们可以在默认桌面上使用vnc吗?

System / Preferences / Remote Desktop中的当前VNC服务器称为vino-server。 当启用Compiz(桌面效果)时,它当前不支持操作。

要解决此问题,您必须使用替换vnc服务器。 我用的是x11vnc。

sudo apt-get install x11vnc 

至关重要的是,如果您打算运行Compiz,则必须在启动x11vnc服务器时指定-noxdamage。

首先,使用密码初始化x11vnc:

x11vnc -usepw

并按照提示操作。 那么这是我如何运行我的vnc服务器的一个例子:

x11vnc -usepw -forever -noxdamage -scale 4/5 -avahi -nolookup -q

  • avahi意味着服务器将使用avahi(多播dns)宣传自己
  • 比例4/5意味着1900×1200屏幕适合1280×1024屏幕。
  • nolookup意味着服务器不会尝试查找客户端。 没有长时间的停顿。
  • q将抑制一些输出到控制台。 或者使用-logfile。
  • noxdamage将使你的compiz效果起作用。
  • 永远只是意味着服务器将在客户端断开连接后继续运行。

如果你做一个“man x11vnc”,你会发现有很多额外的选择。 但是上面指定的应该让你运行。

如果你需要在启动时运行它,我个人在/etc/rc.local中运行它,但我确信有更好的方法。 编辑:有更简单的方法,在这个网站上详细说明: 如何在启动时运行脚本? 。 所以,我认为最简单的是crontab -e选项,但你也可以将命令保存为某个地方的脚本,然后在system / preferences / startup apps中指定它。

nodamage选项有效,但除非你在一个非常快速的网络上,这是一个坏主意 – 它会强制所有时间一直更新,即使它没有改变,这会占用大量带宽。

纠正@ Scaine的好答案,可以使用启用了compiz效果的vino-server

以下是如何在vino中禁用xdamage ,从而使VNC与compiz一起工作:

 gsettings set org.gnome.Vino disable-xdamage true 

完成!

现在,即使使用Unity 3D,您也可以使用Ubuntu的默认“桌面共享”。 无需安装x11vnc

但是,正如其他人所指出的那样,禁用xdamage会导致巨大的网络流量。 在本地网络中不是一个大问题,但如果远程控制互联网,性能可能会受到影响。

如果您使用专有的nvidia驱动程序启用桌面视觉效果(设置为Extra),vnc到机器WORKS但是在您最初登录后屏幕被冻结并且您看不到任何内容(冻结的图片除外)。 它与开源驱动程序一起正常工作(至少对于ATI而言)。

我正在使用mac book pro来控制我的ubuntu桌面。 我通过进入AMD Catalyst Control中心停止了冻结屏幕,然后在显示选项下,我转到“Tear Free”选项卡,然后启用“免撕桌面”以减少撕裂。

之后就开始工作了。