gvim의 전역 응용 프로그램 메뉴를 얻는 방법?


34

Gvim에는 12.04의 전역 메뉴 (응용 프로그램 메뉴 / 응용 프로그램 메뉴)가 없으며 터미널에서 gvim을 시작할 때 25 초 후에 터미널에 다음 경고가 나타납니다.

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

이 문제를 해결하는 방법?

답변:


35

해결 방법 1 : gvim 작업을위한 글로벌 메뉴 만들기

gvim의 전역 메뉴를 얻고 경고 메시지를 없애려면 ~ / .bashrc에 이것을 추가하고 터미널을 다시 시작하십시오 :

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

해결 방법 2 : gvim의 전역 메뉴 비활성화

경고 메시지를 없애려면 최소한 gvim의 경우 전역 메뉴를 비활성화하면됩니다.

예를 들어 이것을 ~ / .bashrc에 추가하고 터미널을 다시 시작하십시오.

alias gvim='UBUNTU_MENUPROXY= gvim'

참고 문헌


왜 '모든 논증'에 대한 인용문입니까?
xtofl

죄송합니다. "$@".bashrc 함수에 왜 따옴표가 있는지 궁금 합니다.
xtofl

@xtofl : "$ @"를 따옴표없이 사용하면 인수에서 공백과 리터럴 '*'과 같은 문제가 발생합니다.
Håkon A. Hjortland

관심이 없다면 첫 번째 솔루션의 작동 방식과 이유를 설명해 주시겠습니까?
ecatmur

1
@ ecatmur : 솔루션 1의 작동 방식입니다 : 버그는 gvim배경 모드로 들어가는 방법 과 관련이 있습니다. 전경에 gvim -f유지합니다 gvim. 셸을 gvim백그라운드에서 실행하려면을 추가합니다 &. 의 괄호 (foo &)는 서브 쉘에서 명령 을 실행하므로 gvim현재 쉘의 백그라운드 프로세스가되지 않습니다. 괄호없이 X를 클릭하여 터미널을 닫으면도 종료됩니다 gvim. function foo () { ... }쉘 함수를 만듭니다. 우리는 추가해야합니다 /usr/bin/gvim그렇지 않으면 우리는 무한 재귀 함수를 얻을 것이다. "$@"모든 인수를 전달합니다.
Håkon A. Hjortland


3

내 우분투 12.04 amd64는 사용할 수 있습니다 gvim -f.


  • vim-gnome : 2 : 7.3.429-2 우분투 2.1 + aptbuild1
  • 터미네이터 : 0.96-0ubuntu1 + aptbuild1
  • 구아 케 : 0.4.2-7 + aptbuild1

2

시작할 때 -f( --nofork) 옵션을 추가 할 수 있습니다 gvim.

alias gvim="gvim -f"

이것은에서만 작동합니다 gvim.
firefox다른 사람에게는이 -f옵션 이 없습니다 .


0

또 다른 잠재적 원인은 ~/.gnome2/Vim파일 일 수 있습니다 . Hardy Heron (Unity 이전)의 문제에 대한 이 솔루션 (삭제 제안 ~/.gnome2/Vim)은 Ubuntu 13.10의 문제를 해결했습니다.

어떤 이유로 든 gvim -f나를 위해 일 하지 않았다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.