虚拟盒和Windows 7主机的Gvim重绘问题

Cla*_*dio 17 linux gtk vim virtualbox cinnamon

VirtualBox中的Linux guest虚拟机上的Gvim 7.4存在严重的重绘问题:通常当我向上/向下滚动时,显示的文本被破坏(例如,空或带有一些"漏洞").我必须调整大小/重新调整以清理屏幕.我从来没有遇到过与Gvim或Virtualbox类似的问题,但它使得gvim几乎无法使用.

更多信息:

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

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

小智 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").选择左侧的"实用程序".选择"变通办法"(不是复选框,单击按钮进入子类别).默认情况下,"强制完全重绘初始伤害"应该打开(不确定是否相关,以防万一).现在ENABLE强制全屏重绘(缓冲交换)重绘,默认情况下未选中.效果是立竿见影的,如果打开gvim窗口只需在标签之间快速点击,或跳过文件的顶部/底部以查看差异.

解决方案2(适用于13.04,13.10或以下)

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

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

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

我经历过的测试:

  • Unity 2D:没有bug,但很难看(没有阴影等)
  • 薄荷15 + CINNAMON:有bug
  • 薄荷16 MATE:没有错误,但有些滚动条问题
  • 薄荷14.1:没有错误,因为客人添加4.1.18预装..但是慢!
  • ...升级客户添加到4.3.6:gvim bug再次出现!< - 宾果

最后,经过数小时和数小时的重启VM ...

  • 4.2.12:没有gvim重绘错误,对我来说很完美(Ubuntu 13.04,Mint 15 Cinnamon),相对平滑的VM(半透明终端,以及所有3D扭结)
  • 4.2.18:没有gvim重绘错误,但由于某种原因SLOW
  • 4.2.20:BUG!
  • 4.3.6:BUG!

进一步

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

但是值得一提的是,我一直在使用Ubuntu 13.04 VM一年,使用谷歌Chrome,Firefox,Open Office,MySQL Workbench等,并且从未有任何其他的重绘问题.因此,即使它是一个GTK错误,它也是一个与VIM刷新窗口内容的方式密切相关的问题.

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

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

如何重现/测试bug

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

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


Cla*_*dio 3

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

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

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

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