¿Cómo puedo evitar que gvim se bloquee al abrir un archivo?

12

Estoy en Ubuntu Desktop 16.04 LTS y gvim(vim con interfaz gráfica de usuario) sigue fallando cuando intento abrir cualquier archivo usando la GUI / menú. Sin embargo, pude abrir un archivo desde la terminal, por ejemplo:

user@computer:~$ vim -g ./path/to/file

Los siguientes mensajes de error se imprimen en el terminal si ejecuto gvimdesde el terminal usando vim -gy luego provoco el bloqueo al intentar abrir un archivo a través de la barra de GUI / menú:

(gvim:20175): GLib-CRITICAL **: g_ptr_array_insert: assertion 'index_ <= (gint)rarray->len' failed

** (gvim:20175): CRITICAL **: unity_gtk_menu_shell_get_item: assertion '0 <= index && index < items->len' failed

** (gvim:20175): CRITICAL **: unity_gtk_menu_item_get_child_shell: assertion 'UNITY_GTK_IS_MENU_ITEM (item)' failed

** (gvim:20175): CRITICAL **: unity_gtk_menu_shell_get_item: assertion '0 <= index && index < items->len' failed

** (gvim:20175): CRITICAL **: unity_gtk_menu_item_get_label: assertion 'UNITY_GTK_IS_MENU_ITEM (item)' failed

** (gvim:20175): CRITICAL **: unity_gtk_menu_item_get_icon: assertion 'UNITY_GTK_IS_MENU_ITEM (item)' failed
Vim: Caught deadly signal SEGV
Vim: Finished.

Estos son los paquetes relacionados con vim que he instalado:

user@computer:~$ apt list --installed | grep vim

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

vim-common/xenial-updates,now 2:7.4.1689-3ubuntu1.1 amd64 [installed]
vim-gtk3/xenial-updates,now 2:7.4.1689-3ubuntu1.1 amd64 [installed]
vim-gui-common/xenial-updates,xenial-updates,now 2:7.4.1689-3ubuntu1.1 all [installed,automatic]
vim-runtime/xenial-updates,xenial-updates,now 2:7.4.1689-3ubuntu1.1 all [installed,automatic]
vim-tiny/xenial-updates,now 2:7.4.1689-3ubuntu1.1 amd64 [installed]
Adam P
fuente

Respuestas:

11

Ubuntu 17.04

Las cosas se rompieron cuando actualicé, y lo resolví con:

sudo apt-get remove vim-gtk3
sudo apt-get install vim-gtk

vim-gnomemencionado en la respuesta de Adam P dice que apunta vim-gtk3, por lo que nada cambiaría.

vim-gtk sin embargo dice que usa gtk 2 y funcionó.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente
5

Pude detener el bloqueo (hasta ahora) desinstalando el vim-gtk3paquete e instalándolo vim-gnome.

Desinstalar vim-gtk3:

user@computer:~$ sudo apt remove vim-gtk3
[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-34 linux-headers-4.4.0-34-generic
  linux-image-4.4.0-34-generic linux-image-extra-4.4.0-34-generic
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  vim-gtk3
0 upgraded, 0 newly installed, 1 to remove and 18 not upgraded.
After this operation, 2,948 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 336958 files and directories currently installed.)
Removing vim-gtk3 (2:7.4.1689-3ubuntu1.1) ...
update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/ex (ex) in auto mode
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/rview (rview) in auto mode

Instalar vim-gnome:

user@computer:~$ sudo apt install vim-gnome
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-34 linux-headers-4.4.0-34-generic linux-image-4.4.0-34-generic
  linux-image-extra-4.4.0-34-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libbonoboui2-0 libbonoboui2-common libgnome2-0 libgnome2-bin libgnomeui-0 libgnomeui-common
Suggested packages:
  cscope vim-doc fonts-dejavu
The following NEW packages will be installed:
  libbonoboui2-0 libbonoboui2-common libgnome2-0 libgnome2-bin libgnomeui-0 libgnomeui-common
  vim-gnome
0 upgraded, 7 newly installed, 0 to remove and 18 not upgraded.
Need to get 1,619 kB of archives.
After this operation, 5,536 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libgnome2-bin amd64 2.32.1-5ubuntu1 [5,040 B]
Get:2 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libgnome2-0 amd64 2.32.1-5ubuntu1 [1,656 B]
Get:3 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libbonoboui2-common all 2.24.5-3ubuntu1 [11.9 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libbonoboui2-0 amd64 2.24.5-3ubuntu1 [154 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libgnomeui-common all 2.24.5-3.1 [16.3 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libgnomeui-0 amd64 2.24.5-3.1 [207 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim-gnome amd64 2:7.4.1689-3ubuntu1.1 [1,223 kB]
Fetched 1,619 kB in 0s (3,435 kB/s)  
Selecting previously unselected package libgnome2-bin.
(Reading database ... 336954 files and directories currently installed.)
Preparing to unpack .../libgnome2-bin_2.32.1-5ubuntu1_amd64.deb ...
Unpacking libgnome2-bin (2.32.1-5ubuntu1) ...
Selecting previously unselected package libgnome2-0:amd64.
Preparing to unpack .../libgnome2-0_2.32.1-5ubuntu1_amd64.deb ...
Unpacking libgnome2-0:amd64 (2.32.1-5ubuntu1) ...
Selecting previously unselected package libbonoboui2-common.
Preparing to unpack .../libbonoboui2-common_2.24.5-3ubuntu1_all.deb ...
Unpacking libbonoboui2-common (2.24.5-3ubuntu1) ...
Selecting previously unselected package libbonoboui2-0:amd64.
Preparing to unpack .../libbonoboui2-0_2.24.5-3ubuntu1_amd64.deb ...
Unpacking libbonoboui2-0:amd64 (2.24.5-3ubuntu1) ...
Selecting previously unselected package libgnomeui-common.
Preparing to unpack .../libgnomeui-common_2.24.5-3.1_all.deb ...
Unpacking libgnomeui-common (2.24.5-3.1) ...
Selecting previously unselected package libgnomeui-0:amd64.
Preparing to unpack .../libgnomeui-0_2.24.5-3.1_amd64.deb ...
Unpacking libgnomeui-0:amd64 (2.24.5-3.1) ...
Selecting previously unselected package vim-gnome.
Preparing to unpack .../vim-gnome_2%3a7.4.1689-3ubuntu1.1_amd64.deb ...
Unpacking vim-gnome (2:7.4.1689-3ubuntu1.1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Setting up libgnome2-bin (2.32.1-5ubuntu1) ...
Setting up libgnome2-0:amd64 (2.32.1-5ubuntu1) ...
Setting up libbonoboui2-common (2.24.5-3ubuntu1) ...
Setting up libbonoboui2-0:amd64 (2.24.5-3ubuntu1) ...
Setting up libgnomeui-common (2.24.5-3.1) ...
Setting up libgnomeui-0:amd64 (2.24.5-3.1) ...
Setting up vim-gnome (2:7.4.1689-3ubuntu1.1) ...
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/vimdiff (vimdiff) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/ex (ex) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/gvim (gvim) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/gview (gview) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/rgview (rgview) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/rgvim (rgvim) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/evim (evim) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/eview (eview) in auto mode
update-alternatives: using /usr/bin/vim.gnome to provide /usr/bin/gvimdiff (gvimdiff) in auto mode
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Adam P
fuente
1
A partir del 17.04, esto ya no funcionará, ya que vim-gnome ahora es un paquete de transición a vim-gtk3. Vea la respuesta de Ciro Santilli para una solución actualizada. Als see bug bugs.launchpad.net/ubuntu/+source/vim/+bug/1650666
Confusion
1
También me encontré con este problema en 17.04 (zesty) gvim 8.0; desinstalar vim-gtk3 (que desinstala vim-gnome) e instalar vim-gtk lo solucionó por ahora, lo que encontré en este error bugs.launchpad.net/ubuntu/+source/vim/+bug/1611363
michael
2

Para mi caso, primero eliminé gvim instalado por:

sudo apt-get remove --auto-remove vim-gtk3

Luego instalé gvim con:

sudo apt install vim-gtk3-py2 

Por cierto, estoy usando Vim8 de:

sudo add-apt-repository ppa:jonathonf/vim
soles
fuente