34

Gvim does not have a global menu (appmenu / application menu) in 12.04, and when starting gvim from a terminal, the following warning appears in the terminal after 25 seconds:

** (gvim:20320): WARNING **: Unable to create Ubuntu Menu Proxy: Timeout was reached

How to fix this?

0

5 Answers 5

35

Solution 1: Make the global menu for gvim work

To get global menu for gvim and to get rid of the warning message, add this to ~/.bashrc and restart the terminal:

function gvim () { (/usr/bin/gvim -f "$@" &) }

Solution 2: Disable global menu for gvim

To just get rid of the warning message, you can disable the global menu, at least for gvim:

For example, add this to ~/.bashrc and restart the terminal:

alias gvim='UBUNTU_MENUPROXY= gvim'

References

5
  • why the quotes around the 'all arguments'?
    – xtofl
    Dec 7, 2012 at 19:42
  • sorry. I wondered why there are quotes around "$@" in the .bashrc function.
    – xtofl
    Dec 7, 2012 at 20:49
  • @xtofl: Without the quotes around "$@" you get trouble with e.g. space and literal '*' in arguments. Dec 8, 2012 at 0:25
  • Out of interest, could you explain how and why the first solution works?
    – ecatmur
    Dec 17, 2013 at 11:13
  • 1
    @ecatmur: This is how solution 1 works: The bug is related to gvim's way of going into background mode. gvim -f keeps gvim in the foreground. To make the shell run gvim in the background we add an &. The parenthesis in (foo &) runs the command in a subshell, so that gvim does not become a background process of the current shell. Without parenthesis, closing the terminal by clicking the X would also kill gvim. function foo () { ... } creates a shell function. We must add /usr/bin/ to gvim, otherwise we will get an infinitely recursive function. "$@" passes all arguments. Dec 19, 2013 at 10:20
5

There is a workaround here: https://bugs.launchpad.net/ubuntu/+source/vim/+bug/776499

Create an alias at the top of your shell init file (e.g. ~/.bashrc):

alias gvim="UBUNTU_MENUPROXY=0 gvim"
3

My Ubuntu 12.04 amd64 can work with gvim -f.


  • vim-gnome: 2:7.3.429-2ubuntu2.1+aptbuild1
  • terminator: 0.96-0ubuntu1+aptbuild1
  • guake: 0.4.2-7+aptbuild1
2

I can add the -f(--nofork) option when start gvim:

alias gvim="gvim -f"

This only works for gvim.
firefox and others don't have this -f option.

0

Another potential cause might be the ~/.gnome2/Vim file. This solution (which suggests that you delete ~/.gnome2/Vim) for the issue in Hardy Heron (before Unity) fixed the issue for me on Ubuntu 13.10.

For whatever reason, gvim -f didn't work for me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.