O GVIM remoto com Xming trava quando perdido e restaurado o foco

1

Eu tenho uma configuração a seguir: um laptop com Windows 7 com Xming instalado e FreeBSD com GVIM no VirtualBox. Eu configurei tudo (configurei a variável env, abri portas, permiti que o Xming aceitas conexões de fora do localhost, etc) para que quando eu executo um programa em um shell no FreeBSD ele esteja abrindo como outra janela na minha área de trabalho. Basicamente, tudo funciona.

Só que não é bem assim. Eu uso essa configuração principalmente para o GVIM, e funciona muito bem se for o único programa remoto aberto de cada vez. Não é um problema na maioria das vezes, mas às vezes eu quero abrir outro programa X ao lado do vim (principalmente urxvt ou gqview). Nesse caso, mudar o foco do GVIM para outra aplicação remota e vice-versa faz com que o GVIM congele por vários segundos e, em seguida, ele continua funcionando como antes. Keypresses não são perdidos e o botão "X" funciona (mata GVIM). Outros aplicativos remotos não exibem esse comportamento.

Basicamente, toda vez que eu faço alt + tab em uma janela diferente (mas somente remoto!), o gvim para de responder por um tempo (cerca de 15-20 segundos em média).

Eu tenho outra caixa física com FreeBSD e GVIM e ela exibe exatamente o mesmo comportamento. Eu compilei o GVIM a partir de portas com as seguintes opções, conforme fornecido por :version :

Duża wersja z GTK2 GUI.  Opcje włączone (+) lub nie (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal
+cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu
+mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme
+netbeans_intg -osfiletype +path_extra -perl +persistent_undo +postscript +printer -profile +python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title +toolbar
 +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim +xsmp_interact
+xterm_clipboard -xterm_save
       vimrc systemu: "$VIM/vimrc"
   vimrc użytkownika: "$HOME/.vimrc"
    exrc użytkownika: "$HOME/.exrc"
     gvimrc systemu: "$VIM/gvimrc"
  gvimrc użytkownika: "$HOME/.gvimrc"
 systemowy plik menu: "$VIMRUNTIME/menu.vim"
   odwet dla $VIM-a: "/usr/local/share/vim"
Kompilacja: cc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/inc
lude/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/us
r/local/include/glib-2.0 -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng -I/usr/local/include  -O2 -pipe -fno-strict-aliasing
-D_FORTIFY_SOURCE=1
Konsolidacja: cc -L/usr/local/lib -lXt -L. -L/usr/lib  -rpath=/usr/lib:/usr/local/lib -pthread -rdynamic  -L/usr/local/lib -Wl,--as-needed -o vim     -pthread -L/usr/lo
cal/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lgdk_pixbuf-2.0 -lpangoft2-1.
0 -lgio-2.0 -lXfixes -lcairo -lX11 -lpango-1.0 -lm -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0  -lSM -lICE -lXpm  -lXt  -lXdmcp -lSM -l
ICE  -lm -lelf  -pthread -ltermlib -liconv -lintl          -L/usr/local/lib/python2.7/config -lpython2.7 -lutil -lm -Wl,--export-dynamic      -Wl,-R -Wl,/usr/local/lib
-L/usr/local/lib -lruby18 -lcrypt -lm -L/usr/lib  -rpath=/usr/lib:/usr/local/lib -pthread

Por favor, me diga uma das duas coisas: o que fazer para que esse comportamento desapareça ou onde mais eu poderia fazer essa pergunta ter maior probabilidade de obter resposta?

Obrigado!

    
por cji 06.11.2012 / 02:04

0 respostas