linux - Problemas de redibujado de Gvim con Virtual Box y host de Windows 7
gtk virtualbox (4)
El problema está relacionado con algún error de Cinnamon, tal vez aparezca solo cuando se ejecuta dentro de VirtualBox con la aceleración 3D habilitada. Descubrí, de hecho, que la pantalla también estaba dañada para otras aplicaciones (por ejemplo, el reproductor multimedia).
Resolví el problema cambiando al administrador de ventanas Mate a través de los siguientes pasos:
- Paquetes principales de mate instalados
- Instalado también el paquete mint-meta-mate.
- Se desconectó y se seleccionó Mate como administrador de ventanas.
Ahora gvim y todas las demás aplicaciones funcionan bien.
Gvim 7.4 en un invitado de Linux dentro de VirtualBox tiene serios problemas de redibujado: a menudo cuando me desplazo hacia arriba / abajo, el texto mostrado se corrompe (por ejemplo, está vacío o con algunos "agujeros"). Y tengo que cambiar el tamaño / re-desplazamiento para limpiar la pantalla. Nunca he experimentado un problema similar con Gvim o con Virtualbox, pero hace que Gvim sea casi inutilizable.
Un poco más de información:
- Distribución de host de Virtualbox: Windows 7 64 bit.
- Versión de Virtualbox: 4.3.12 con adiciones de invitados.
- Distribución de invitados de Virtualbox: Linux Mint 17 Qiana 64-bit Cinnamon
- Paquete Gvim: vim-gtk (pero también ocurre con vim-gnome)
¿Alguna idea de cómo resolver este problema?
Hay muchos problemas de redibujado. La (s) solución (es) a continuación abordan un problema de redibujo muy específico con el host de Windows 7, el invitado de Linux y Ubuntu (o Compiz).
Solución 1
Probado con el último Virtual Box 5.0.4 y Guest Additions, Ubuntu 14.04.3, aceleración 3D habilitada , instalación estándar con actualizaciones completas.
a) sudo apt-get install compizconfig-settings-manager
b) Ejecútelo desde el guión (escriba "ccsm"). Elija "Utilidad" a la izquierda. Elija "Soluciones provisionales" (NO la casilla de verificación, haga clic en el botón para ingresar a la subcategoría). "Forzar el redibujo completo en el daño inicial" debería estar activado de forma predeterminada (no estoy seguro si es relevante, por si acaso). Ahora HABILITAR Forzar redibujes a pantalla completa (intercambio de búfer) en el repintado, que está desactivado de forma predeterminada El efecto es inmediato, si una ventana de gvim está abierta, simplemente haga clic rápidamente entre las pestañas, o salte arriba / abajo de los archivos para ver la diferencia.
Solución 2 (para 13.04, 13.10, o inferior)
Si usa 13.04 o inferior (quizás 13.10 también), primero intente cambiar a Virtual Box 5.0.4+ (5.0.4 fue probado) y sus Adiciones para Invitados, instale CCSM y pruebe la solución como se describe anteriormente (Puedo confirmar que funcionó) en mi viejo 13.04 VM).
Si eso no funciona o usar la última opción de Virtual Box / Guest Additions no es una opción, intente rebajar la versión de Guest Additions a la versión 4.2.12 (no solo 4.2.x, confíe en mí, he probado muchas versiones). NOTA: 4.2 .12 no funcionará en Ubuntu 14.04.3+, debido a la nueva versión del Servidor X.
Publicación anterior a continuación (algunos antecedentes)
Pruebas que pasé por:
- Unidad 2D: sin errores, pero feo (sin sombras, etc.)
- Mint 15 + CINNAMON: tiene bug
- Mint 16 MATE: no hay error, pero hay algunos problemas con la barra de desplazamiento
- Mint 14.1: no hay error, porque las incorporaciones de invitados 4.1.18 están preinstaladas ... ¡pero LENTO!
- ... actualizando las adiciones de invitados a 4.3.6: ¡reaparece el error de gvim! <- bingo
Finalmente, después de horas y horas de reinicio de máquinas virtuales ...
- 4.2.12: no hay error de redibujado gvim, funciona perfectamente para mí (Ubuntu 13.04, Mint 15 Cinnamon), relativamente suave para una VM (con terminal semitransparente, y todos los problemas 3D)
- 4.2.18: no hay gvim redraw bug, pero SLOW por alguna razón
- 4.2.20: ¡ERROR!
- 4.3.6: ¡ERROR!
Promover
Según Bram Moolenaar, "el parche 7.3.638 simplemente eliminó un redibujado innecesario, que probablemente descubrió un problema existente" (con la biblioteca GTK).
Sin embargo, vale la pena mencionar que he estado usando una máquina virtual Ubuntu 13.04 durante un año con Google Chrome, Firefox, Open Office, MySQL Workbench, etc. y nunca he tenido ningún otro problema de redibujado. Entonces, incluso si se trata de un error GTK, es un problema que parece estar estrechamente relacionado con la forma en que VIM actualiza el contenido de la ventana.
https://github.com/vim/vim/issues/91
Podría ser un problema de GTK, pero si ocurre solo con los hosts de Windows 7 ... entonces parece ser un problema de "sincronización" entre los eventos de redibujado / repintado de GTK y la capa de compilación Open GL de Compiz (supongo).
Cómo reproducir / probar bug
Abra archivos de texto largos en varias pestañas (guardar / cargar una sesión ahorra tiempo).
Luego cambie rápidamente entre las pestañas con Ctrl-PgUp / PgDn, o muévase rápidamente desde la parte superior a la parte inferior de un archivo con Ctrl-Home, Ctrl-End. En unos segundos verá solo una parte de la actualización de la ventana.
Me enfrenté al mismo problema bajo Salix OS. Como cambiar la configuración de la aceleración en VirtualBox no solucionó el problema, me resulta más fácil compilar gvim con GTK + 3 (ya que el error fue provocado por GTK + 2, como se menciona en @ user4134275 answer) que meterse con Windows Manager y Desktop Environment .
Podría estar fuera de alcance aquí, ya que estoy usando Fedora 21
aquí; pero como este es el resultado # 1 para el problema de actualización de gvim, agregaré esta nota para referencia futura.
No dudes en asignar mucha memoria de video. Había jugado con 2D accelation
así como con 3D accelation
opción de 3D accelation
sin un solo cambio. La gran fiesta fue que, por defecto, solo tenía 12Mo
de video, lo cambié a 128Mo
y todo está funcionando bien ahora.