18

VirtualBox 内的 Linux 客户机上的 Gvim 7.4 存在严重的重绘问题:通常当我向上/向下滚动时,显示的文本会损坏(例如,空的或带有一些“洞”)。而且我必须调整大小/重新滚动以清洁屏幕。无论是使用 Gvim 还是使用 Virtualbox,我都从未遇到过类似的问题,但这让 gvim 几乎无法使用。

一些进一步的信息:

  • Virtualbox 主机分布:Windows 7 64 位
  • Virtualbox 版本:4.3.12,添加了访客
  • Virtualbox 来宾发行版:Linux Mint 17 Qiana 64 位 Cinnamon
  • Gvim 包:vim-gtk(但也使用 vim-gnome)

知道如何解决这个问题吗?

4

4 回答 4

12

有很多重绘问题。下面的解决方案解决了 Windows 7 主机、Linux 客户机和 Ubuntu(或 Compiz)的一个非常具体的重绘问题。

解决方案 1

使用最新的 Virtual Box 5.0.4 和 Guest Additions 进行测试,Ubuntu 14.04.3,启用 3D 加速,标准安装和完整更新。

一个)sudo apt-get install compizconfig-settings-manager

b) 从破折号运行它(输入“ccsm”)。选择左侧的“实用程序”。选择“解决方法”(不是复选框,单击按钮进入子类别)。“在初始损坏时强制完全重绘”应该默认开启(不确定是否相关,以防万一)。现在启用在重绘时强制全屏重绘(缓冲区交换),默认情况下未选中。效果立竿见影,如果打开 gvim 窗口,只需在选项卡之间快速单击,或跳转文件的顶部/底部以查看差异。

解决方案 2(适用于 13.04、13.10 或更低版本)

如果使用 13.04 或更低版本(也可能是 13.10),首先尝试切换到 Virtual Box 5.0.4+(5.0.4 已测试)及其Guest Additions,安装 CCSM 并测试上述解决方法(我可以确认这有效在我的旧 13.04 虚拟机上)。

如果这不起作用或使用最新的 Virtual Box / Guest Additions 不是一个选项,那么尝试将 Guest Additions 降级到版本 4.2.12(不仅仅是 4.2.x,相信我,我已经尝试了很多版本)注意4.2由于 X Server 版本较新,.12 无法在 Ubuntu 14.04.3+ 中运行。

下面的旧帖子(一些背景)

我经历的测试:

  • Unity 2D:没有错误,但很丑(没有阴影等)
  • 薄荷 15 + 肉桂:有错误
  • Mint 16 MATE:没有错误,但有一些滚动条问题
  • Mint 14.1:没有错误,因为客人添加了 4.1.18 预装.. 但慢!
  • ...升级来宾添加到 4.3.6:gvim 错误再次出现!<--宾果游戏

最后,经过数小时重启虚拟机......

  • 4.2.12:没有 gvim 重绘错误,对我来说完美(Ubuntu 13.04,Mint 15 Cinnamon),对于 VM 来说相对流畅(带有半透明终端和所有 3D 扭结)
  • 4.2.18 : 没有 gvim 重绘错误,但由于某种原因慢
  • 4.2.20:错误!
  • 4.3.6:错误!

更远

根据 Bram Moolenaar的说法, “补丁 7.3.638 只是删除了一个不必要的重绘,这可能发现了一个现有的问题”(使用 GTK 库)。

不过值得一提的是,我在 Ubuntu 13.04 VM 上使用了一年的 Google Chrome、Firefox、Open Office、MySQL Workbench 等,并且从未遇到任何其他重绘问题。因此,即使它是一个 GTK 错误,它也是一个似乎与 VIM 如何刷新窗口内容密切相关的问题。

https://github.com/vim/vim/issues/91

可能是 GTK 问题,但如果它只发生在 Windows 7 主机上......那么它似乎是 GTK 重绘/重绘事件和 Compiz 的 Open GL 层之间的“同步”问题(我的猜测)。

如何重现/测试错误

在多个选项卡中打开长文本文件(保存/加载会话可以节省时间)。

然后使用 Ctrl-PgUp / PgDn 在选项卡之间快速切换,或者使用 Ctrl-Home、Ctrl-End 快速从文件的顶部移动到底部。在几秒钟内,您将只看到部分窗口刷新。

于 2015-09-08T23:15:01.910 回答
3

该问题与 Cinnamon 的一些错误有关,可能仅在启用了 3D 加速的 VirtualBox 中运行时才会出现。事实上,我发现其他应用程序(例如媒体播放器)的显示也已损坏。

我通过以下步骤切换到 Mate 窗口管理器解决了这个问题:

  • 安装的主要伙伴包
  • 还安装了包 mint-meta-mate
  • 注销并选择 Mate 作为窗口管理器

现在 gvim 和所有其他应用程序都可以正常工作。

于 2014-07-31T14:17:26.960 回答
0

可能超出范围,因为我在Fedora 21这里使用;但由于这是 gvim 刷新问题的 #1 结果,我添加此注释以供以后参考。

不要犹豫,分配大量的视频内存。我已经玩过2D accelation以及3D accelation没有任何改变的选项。令人毛骨悚然的聚会是,默认情况下我只有12Mo视频,我把它改成了128Mo现在一切都很好。

于 2015-12-31T12:55:07.200 回答
0

我在 Salix OS 下遇到了同样的问题。由于更改 VirtualBox 中的加速设置并没有解决问题,我发现使用 GTK+ 3 构建 gvim(因为该错误是由 GTK+ 2 触发的,如@user4134275 回答中所述)比弄乱窗口管理器和桌面环境更容易.

于 2017-01-30T11:26:50.947 回答