MinTTY Cygwin занимает около минуты, чтобы начать

2321
Matt

Когда я открываю MinTTY снаружи существующего MinTTY, окно нового терминала появляется примерно через минуту. Мой ярлык Windows настроен на запуск C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -. Эквивалентная команда /cygdrive/c/cygwin64/bin/mintty.exe -i /Cygwin-Terminal.ico -внутри уже открытого окна MinTTY мгновенно открывает новое окно. Это не происходит на моем другом компьютере с такой же настройкой. Что может замедлить это?

  • ОС: Windows 7
  • Процессор: Xeon
  • RAM: 8 ГБ
1
См. Очень длинную тему, начиная с [Очень медленный запуск Cygwin в Windows 7] (https://cygwin.com/ml/cygwin/2015-02/msg00153.html). DavidPostill 9 лет назад 1
@DavidPostill: Спасибо! Этот поток в конечном итоге приводит к [странице часто задаваемых вопросов] (https://cygwin.com/faq/faq.html#faq.using.startup-slow), которая объясняет проблему более кратко. Matt 9 лет назад 0
Я позволю вам написать ответ на его основе, когда вы исправите свою проблему;) DavidPostill 9 лет назад 0

1 ответ на вопрос

2
Matt

Из часто задаваемых вопросов Cygwin :

  1. Другая причина для клиентской системы AD - медленные ответы DC, обычно наблюдаемые в конфигурациях с удаленным доступом DC. Cygwin DLL запрашивает информацию о каждой группе, в которой вы находитесь, чтобы заполнить локальный кеш при запуске. Вы можете немного ускорить этот процесс, кэшируя свою собственную информацию в локальных файлах. Запустите эти команды в терминале Cygwin с правами на запись в /etc:

    getent passwd $(id -u) > /etc/passwd getent group $(id -G) > /etc/group 

    Также установите /etc/nsswitch.conf следующим образом:

    passwd: files db group: files db 

    Это ограничит необходимость обращения Cygwin к контроллеру домена AD (DC), в то же время позволяя получать дополнительную информацию из DC, например, при перечислении удаленных каталогов.

  2. В дополнение к предыдущему элементу или вместо него вы можете запустить cygserver в качестве локальной службы кэширования для ускорения запросов DC.

    Программы Cygwin проверят с помощью cygserver, прежде чем напрямую запрашивать DC.

  3. Менее предпочтительным вариантом является создание статического кэша только для чтения данных аутентификации. Это старомодный метод интеграции Cygwin с AD, единственный метод, доступный в выпусках до 1.7.34. Для этого запустите mkpasswd и mkgroup, а затем добавьте следующее, /etc/nsswitch.confчтобы Cygwin рассматривал эти файлы как единственные источники информации о пользователях и группах:

    passwd: files group: files 

    Опуская dbопцию, мы говорим Cygwin DLL даже не пытаться выполнять поиск AD. Если ваши серверы AD работают медленно, этот локальный кеш ускорит работу. Недостатком является то, что вы открываете себя для проблемы устаревшего кэша : каждый раз, когда базы данных AD меняются, ваш локальный кэш будет устаревать, пока вы не обновите файлы вручную.

Вариант № 2 исправил проблему для меня.