Конфигурация:
- Windows 10 (64-бит) (Новая установка)
- Свежая установка Cygwin64 (скачанный setup-x86_64.exe)
Установка, похоже, прошла успешно. Однако, когда я пытаюсь запустить только что созданный ярлык, окно немедленно закрывается.
Целью быстрого доступа является C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
.
Если я изменю его на C:\cygwin64\bin\mintty.exe -h always -i /Cygwin-Terminal.ico -
, окно останется открытым, но сообщение внутри будет Failed to run /Cygwin-Terminal.ico: Permission denied
.
Следующее может быть отвлекающим маневром, но я подозреваю, что это на самом деле связано с проблемой: если я запускаю cmd и cd c:\cygwin64
, я могу запустить Cygwin.bat, однако приглашение будет Unknown+User@DESKTOP-6SQ80GV ~
, что на самом деле не является моим именем пользователя. /cygdrive/c/cygwin64/Cygwin-Terminal.ico
принадлежит Unknown+User с группой администраторов и имеет разрешения 644. Если я применяю chmod +x к нему, сообщение об ошибке в окне изменится на:
C:/cygwin64/sbin/nologin.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
/sbin/nologin: Exit 127
Я сделал несколько быстрых поисков, и мой гугл-фу, по-видимому, терпит неудачу, так как я не нахожу ничего, за что можно было бы зацепиться. Я предполагаю, что я мог бы повозиться и в конечном итоге заставить все работать, но мне интересно, знает ли кто-нибудь здесь "что такоевернокак решить эту проблему?».
решение1
У меня возникла та же проблема после обновления моей установки Cygwin на Windows 7. Проблема была не в самом обновлении, а в активации службы cygserver.Если на вашем компьютере с Windows установлены какие-либо службы Cygwin, попробуйте решить проблему, настроив для этих служб ручной запуск или автоматический запуск с задержкой.
Проблема в том, что служба «cygserver» кэширует информацию об учетной записи и предоставляет ее другим приложениям и службам Cygwin, как описано вhttps://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-caching. Данные учетной записи извлекаются из службы Microsoft LDAP, которой требуется больше времени для запуска, чем службе cygserver. Настройка службы cygserver на отложенный автоматический запуск решит эту проблему. Но имейте в виду, что запуск службы cygserver может быть отложен на пару минут после (пере)загрузки Windows.
Надеюсь это поможет :-)
решение2
Если подробнее пояснить ответ Иззета Бельтира, то можно просто перезапустить службу, если вы хотите, чтобы Cygwin заработал немедленно:
Откройте командную строку или окно PowerShell с повышенными привилегиями (Запуск от имени администратора)
Выполните эти команды:
net stop cygserver net start cygserver
(для более ранних версий Cygwin имя службы может быть
cygservice
неcygserver
.)
Теперь вы сможете без проблем открыть терминал Cygwin.
решение3
для проблемы
Unknown+User@DESKTOP-6SQ80GV
вам нужно прочитать
https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch
поскольку cygwin в настоящее время не может восстановить из SSID ваш профиль пользователя. Поскольку W10 является новой версией, возможно, что-то в вашей конфигурации еще не было учтено, поэтому лучшее место для дополнительной поддержки — основной список рассылки:
https://www.cygwin.com/cygwin/lists.html
https://www.cygwin.com/ml/cygwin/