Cygwin gitk issue

Недавно я установил все пакеты X11 в настройке cygwin и теперь имеют массивную досадную ошибку, не имея возможности увидеть gitk. Все было отлично работая, пока я не установил этот материал.

Прежде чем у меня возникла эта проблема, я действительно не заметил, что сделал какую-либо конфигурацию I просто начал xwinserver пошел в мою ветку и набрал gitk и все появился. Теперь я должен добавить свой дисплей, поскольку он утверждает, что дисплей не установлен. Я экспортирую свои настройки дисплея убедитесь, что он установлен правильно, запустив xclock, который делает появляются. Затем я получаю вопрос:

1 [main] wish8.5 3436 child_info_fork::abort: data segment start: parent(0x4CF000) != child(0x67F000)
Error in startup script: unknown color name "SystemButtonFace"
while executing
"winfo rgb . $c"
(procedure "setui" line 3)
invoked from within
"setui $uicolor"
(file "C:\cygwin\bin\gitk" line 11504)

Не понял, что это. Я видел пару актуальных вопросов, но нет ответы.

Примечания. Я использую 64-разрядную версию Windows 7 и используя оболочку Bash

Обновление: я все равно получаю точно такую ​​же ошибку. Это действительно расстраивает! я может просто скачать Debian

Ответы

Ответ 1

Мне удалось запустить gitk на сегодняшний день со следующими версиями в Win 7 64 Bit:

$ cygcheck -c cygwin git gitk tcl tcl-tk
Cygwin Package Information
Package              Version        Status
cygwin               1.7.10-1       OK
git                  1.7.9-1        OK
gitk                 1.7.9-1        OK
tcl                  8.5.11-1       OK
tcl-tk               8.5.11-1       OK

Наиболее ценной ссылкой был тот, который был опубликован aap. Это привело меня ко всем другим шагам.

Чтобы исправить ошибки вилки, следуйте эту ссылку из часто задаваемых вопросов Cygwin. Следующие шаги были следующими:

  • Пуск → Выполнить → ash.exe → /bin/rebaseall (при выполнении этой команды не было вывода)

  • Одной из причин, по которым вы можете получить отказы fork, является наличие программного обеспечения Antivirus/Firewall/Spyware-clean.

    В моем случае программное обеспечение BLODA, перечисленное в качестве причин сбоев fork, было McAfee, которое у меня есть на моем рабочем компьютере. Исправить было перемещение каталога Cygwin внутри папки, исключенной McAfee OAS, и создать символическую ссылку на старое местоположение, например:
    mklink /D C:\Cygwin C:\Dev\Cygwin

    C:\Dev - это исключенная папка

    Исключения в папках можно настроить с помощью консоли Viruscan. Чтобы проверить, не исключен ли ваш текущий каталог Cygwin, this.

  • Запуск GITK

    •     Способ 1
         
      • В консоли Cygwin:
        startx&
      • Заголовок всплывающего окна должен быть использован для установки переменной envl в DISPAY в Cygwin следующим образом:
        Заголовок: Cygwin/X: 1.0, затем выполните export DISPLAY=localhost:1.0
        Заголовок: Cygwin/X: 0.0, затем выполните export DISPLAY=localhost:0.0
      • Наконец-то запустите gitk:
        gitk&
      • Я закончил с этим:

          MXXgW.png

    •     Способ 2
         
      • Создайте файл ~/.startxwinrc со следующим содержимым:
        gitk&

      • Затем выполните следующую команду:
        startxwin > /dev/null 2 > & 1
      • В итоге у меня появилось окно gitk, которое выглядит точно так же, как и до того, как все "нужно X", упомянутое в aap, произошло:

          U9Ph4.png


Ответ 2

Кажется, здесь есть три вопроса.

  • Требование DISPLAY связано с тем, что Cygwin Tk переходит на требует X.

  • Ошибка SystemButtonFace также связана с тем же изменением. Рекомендуемое исправление заключается в удалить файл настроек ~/.gitk или, по крайней мере, строку в этом файле, ссылающуюся на SystemButtonFace.

  • проблема с fork - кажется, требует rebaseall.

Заметьте также, что есть обновленная версия 1.7.9 из git и gitk, которая находит свой путь к зеркалам cygwin, но сама по себе эта версия не решила проблему для меня.

Ответ 3

Основываясь на приведенном выше ответе, я сделал другое исправление. В моем ~/.bash_profile я добавил следующее:

startxwin >/dev/null 2>&1
export DISPLAY=localhost:0.0

Я думаю, что лучшее решение, чем добавление gitk & к ~/.startxwinrc, с тех пор он работает только с gitk. Таким образом, вы можете сделать git gui и другие вещи.

Ответ 4

Решения, которые публикуют все остальные, относятся к Tcl/Tk новой уверенности в X11. Фактически, ошибка, которую вы видите, является последующей ошибкой из-за запуска gitk под GDI до того, как возникло требование X11.

Исправление заключается в редактировании вашего файла ~/.gitk и удалении любых строк, относящихся к SystemButtonFace. После того, как вы это сделали, все снова должно работать Just Work ™.

Ответ 5

На основе ответа на изгиб

  • Установить пакет xinit
  • Go go C:\cygwin\bin, дважды щелкните ash.exe
  • введите ./rebaseall

Затем вы можете запустить gitk с помощью

startxwin
gitk

Ответ 6

Я получил ту же ошибку. Проблема состояла в том, что я первоначально использовал git bash, а затем переключился на использование git в cygwin.

git bash gitk создал файл ~/.gitk, который был несовместим с cygwin tcl/tk. Если вы удалите ~/.gitk, при запуске cygwin gitk он создаст новый файл.

Ответ 7

В конце концов мне пришлось удалить cygwin и переустановить его. Проблема заключается где-то в X11 для меня. Когда я переустановил, мне пришлось переконфигурировать, поскольку у меня была проблема с вилкой, поэтому эти ответы действительно помогли. Мне также нужно было установить дисплей так, чтобы он находился в моем .bashrc

Мне жаль, что я не могу предоставить что-то более конкретное, однако все, что я пробовал, тот же самый вопрос продолжал появляться.

Ответ 8

Другие ответы, предлагающие удалить ~/.gitk в нужном направлении, но в новых версиях конфигурационный файл по умолчанию равен ~/.config/ git/gitk, как указано руководство.