Не удается запустить Git gui с помощью cygwin в windows
я использовал для запуска Git gui в моей консоли cygwin без каких-либо проблем, но так как я обновил cygwin у меня есть следующее сообщение об ошибке:
$ git gui
Application initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: invalid command name "tk_messageBox"
while executing
"tk_messageBox -icon error -type ok -title "git-gui: fatal error" -message $err"
invoked from within
"if {[catch {package require Tcl 8.4} err]
|| [catch {package require Tk 8.4} err]
} {
catch {wm withdraw .}
tk_messageBox
-icon error
-typ..."
(file "/usr/lib/git-core/git-gui" line 34)
кто-нибудь знает, как это решить?
7 ответов:
Edit: Обновлено в марте 2016 года для учета переименованных пакетов и т. д.
Gitk Cygwin и Git gui требуют X11. Это означает, что вам нужно установить некоторые из пакетов Cygwin X11 и настроить их, чтобы иметь возможность открыть графический интерфейс.
Это должно заставить вас встать и работать:
- запустите программу установки Cygwin еще раз (загрузите соответствующий настройки-*.exe опять же, если вам нужно).
- в списке пакетов выберите для установки "xinit" в категории X11. Нажмите кнопку Далее, примите все зависимости и установите.
- в меню Пуск Windows у вас должна быть новая группа: Cygwin-X. оттуда запустите XWIN Server.
- в вашей оболочке Cygwin, run
export DISPLAY=:0.0.вам нужно будет повторять Шаг 3 каждый раз, когда вы перезагружаете компьютер, и Шаг 4 каждый раз, когда вы открываете новую оболочку Cygwin (или просто запустите
echo "export DISPLAY=:0.0" >>~/.profile, чтобы он запускался автоматически при создании новой оболочка.)в комментариях, кажется, некоторые люди получают ошибки, заявив "не удалось подключиться к дисплею": 0.0". Если вы получите это, наведите курсор мыши на X, который должен был появиться в системном трее (вам может потребоваться щелкнуть значок little up, если значок X был скрыт); всплывающее название должно сказать что-то вроде "Cygwin/X Server:1.0". Используйте это": 1.0 "(или все, что вы видите) в качестве значения для
DISPLAYв шаге 4, а не ":0.0", обязательно включите двоеточие.если у вас есть другие проблемы при запуске X-сервера, вы, вероятно, найдете у вас файл с именем
~/.xsession-errors; проверить содержание того, что происходит не так. Также проверьте, есть ли у вас~/.startxwinrcфайл, и попробуйте удалить его и посмотреть, если это устраняет проблему.для заинтересованных, причина, по которой пакеты X11 не устанавливаются автоматически, заключается в том, что они технически не нужен: можно с помощью несколько запутанных средств использовать другой сервер X11 чем тот, который Cygwin устанавливает при установке пакета "xinit".
потратив больше времени, чем я хотел бы признать, мне удалось найти рабочее решение для выполнения
gitkиз моей оболочки cygwin. Я не мог получить ни одной инструкции с запуском X-сервера для надежной работы, и в конце концов решение было довольно простым.самым большим предостережением является необходимость установки Git для Windows, загрузка для этого может быть найдена здесь.
теперь для всего работает
gitkчасть. Git для windows включает в себя cmd папка, которая имеетgitk.cmdкомандный файл windows. Это все, что вам нужно позвонить, чтобыgitkоткрыть.$ [path-to-git]/cmd/gitk.cmdв моей системе путь Git находится в "C:\Program Files (x86)\Git" поэтому команда будет выглядеть так:
$ "/cygdrive/c/Program Files (x86)/Git/cmd/gitk.cmd"в моем ~/.файл я добавил функцию для обработки этого вызова, который выглядит так:
gitk() { "/cygdrive/c/Program Files (x86)/Git/cmd/gitk.cmd" }надеюсь, что это поможет кому-то еще, пытаясь понять эту часть.
echo "export DISPLAY=:0.0" >>~/.profileили
echo "export DISPLAY=:0.0" >>~/.bash_profileв моем случае
избегайте X11 и добавить
git guiподдержка cygwinесли вы хотите избежать X11 (а кто бы не хотел?):
- установить Git для Windows (не cygwin)http://git-scm.com/download/win
- Откройте командную оболочку
C:\Program Files (x86)\Git\Git Bash- выполнить
git gui(необязательный) если вы хотите остаться в cygwin, чтобы запустить
git guiдобавить функцию в ваш~/.bashrcсделать это. Единственный будьте осторожны не имя функцииgitиз-за рекурсии и путаницы с аргументами, а также тот факт, что вы Git для оболочки Windows, также может добавлять ту же функцию при ее запуске. Вы также можете столкнуться с проблемами пути, поэтому будьте осторожны в правильной настройке своих путей.# call git gui from Git For Windows path with `ggui` gg() { command "/cygdrive/c/Program Files (x86)/Git/bin/git" gui 2>/dev/null; }когда вы закончите редактирование .bashrc, обновите настройки:
source ~./bashrcа потом просто:
gg
после выполнения 4 шагов, заданных me_and и tititou36, вы все еще можете иметь проблемы с XWin просто умереть после запуска XwinServer.
причина в том, что он полагается на терминал/консоль CygWin, который является хостом, и Xwin умирает, если нет консоли CygWin.
решение для этого:
запустите консоль Cygwin. (вы можете сделать это автоматически начать в файле
.startxwinrcпод вашим домом cygwin справочник.
вот что сработало для меня:
cat >> ~/.bash_profile <<< "export DISPLAY=:0.0"из диспетчера пакетов cygwin выполните следующие действия:
установить
xorg-serverи некоторые шрифты xorg,xorg-x11-fonts-Type1особеннодалее создайте ссылку на папки шрифтов windows для
git guiиспользовать
ln -s /cygdrive/c/Windows/Fonts /usr/share/fonts/win-fontsзакройте терминал cygwin и снова откройте, затем введите
startxwin &> /dev/null &
git gui &