我想知道是否有人有办法解决 VNC 远程无法在运行 compiz 的 Ubuntu 上运行的问题。据我所知,如果我禁用 compiz 效果,它就可以正常工作,但谁不喜欢视觉效果呢?无论如何,如果没有解决办法,那也不是什么大问题,因为我一直使用 nx 服务器来远程连接到我的桌面。我只是想知道是否有办法让 VNC 正常工作,因为我的 ipod touch 上有一个可以运行 VNC 的应用程序,但没有适用于 itouch 的 NX 客户端。
答案1
我也遇到了同样的问题。我不知道如何修复它,但我想到了一个不错的解决方法。我在顶部面板上添加了一个启动器,以切换到 Metacity 窗口管理器。
- 右键单击面板,然后单击“添加到面板...”
- 选择“自定义应用程序启动器”,然后单击“添加”
- 输入任意名称。我将其命名为“Metacity”
- 输入“metacity --replace”(不带引号)作为命令
- 可选择填写评论框并选择一个图标(我使用 vinagre.png 因为我从 VNC 运行它)
当我远程登录时,我做的第一件事就是单击 Metacity 启动器,然后屏幕开始正确更新。
我安装了 fusion-icon,所以我使用它来切换回来,而不是为 Compiz 制作启动器。如果您想使用启动器切换回 Compiz,请按照 Metacity 的相同步骤操作,但使用命令“compiz --replace”。
答案2
如果您使用 x11vnc,您可以在其命令行中添加“noxdamage”标志以启动 VNC 服务器,这将为您提供 VNC 上所有漂亮的 compiz 效果(这可能很糟糕,但您可以这样做)。
安装 :
sudo apt-get 安装 x11vnc
然后在终端中运行它(仅一次,仅用于设置密码)
x11vnc-usepw
最后将此命令粘贴到 /etc/rc.local 中:
x11vnc -usepw -forever -noxdamage -scale 4/5 -avahi -timeout 60 -nolookup -q
-forever 表示在您断开连接后服务器仍继续运行。否则,当第一个客户端断开连接时,服务器将停止运行。
-avahi 意味着服务器将使用 avahi(多播 DNS)来宣传自己。Reminna 和 Vinagre 等客户端将搜索并显示这些。如果您的客户端使用的是 Macintosh,这也很有用,因为“bonjour”实际上只是 Apple 为 zeroconf 虚构的一个品牌,而 avahi 是 zeroconf 的开源版本。
-scale 4/5 意味着 1900x1200 屏幕将适合 1280x1024 屏幕。是的,大多数客户端都允许本地端缩放,但此选项意味着服务器首先发送的数据较少,这可能对较慢或基于互联网的连接有用。
-nolookup 表示服务器不会尝试查找客户端。连接时不会长时间暂停。
-timeout 仅指定服务器在再次休眠之前等待客户端连接的时间。
这种方法的优点是,如果您愿意查看的话,还有许多其他选项可用(man x11vnc)。非常灵活,但遗憾的是没有漂亮的 GUI。
附言:如果你还没有尝试过 Reminna 作为 Vinagre 的替代品,我建议你试一试。它是一款出色的 VNC 客户端,恰好也支持 RDP。