Почему Cygwin не запускает приложения для Windows, которые взаимодействуют с оболочкой / командной строкой?


1

После недавнего обновления оболочка Cygwin bash работает для любых команд, которые не требуют взаимодействия, но если приложению требуется взаимодействие (например, оболочка python), оно не будет работать, приглашение никогда не появится, ввод известных рабочих команд не приводит к выход.

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

Оболочка полностью функциональна с возможностью вызова из командной строки, запуска сценариев, которые не требуют взаимодействия и т. Д., Но не работает, как только программа запрашивает их или имеет какие-либо запросы.

Все это кажется странным, поскольку bash делает именно то, что делают другие приложения, взаимодействуя с пользователем, но все другие приложения, похоже, заблокированы от взаимодействия.

Оба emacs и vi работают, однако, похоже, они являются исключениями из правила.

Cygwin Python также работает, но Windows Python не работает, и большинство моих virtualenv построены из Windows Python.

Ответы:


2

Вы имеете в виду интерактивные приложения Windows или Cygwin?

Windows и Linux / Unix используют разные методы для взаимодействия с терминалом или консолью. Терминал Cygwin по умолчанию теперь mintty, который использует стандартный интерфейс Unix tty. Ожидается, что консольные приложения Windows смогут использовать консольный интерфейс Windows, который отличается от интерфейса tty и не поддерживается mintty.

Если вам нужно запустить приложения интерактивной консоли Windows, используйте консоль Windows или одну из доступных альтернатив, использующих интерфейс консоли. При использовании мятного Cygwin лучше придерживаться приложений Cygwin, по крайней мере, интерактивных.


0

Cygwin Dlls иногда "идиотский" Ты перезагрузился? Может быть, вы хотите попробовать rebaseall: запуск rebaseall на Cygwin или http://cygwin.wikia.com/wiki/Rebaseall

(Wonkyness основан на реализации псевдо-fork () в Windows)


Я перезагрузился, теперь я запускаю rebaseall как администратор, и проблема сохраняется. Я собираюсь перезагрузить компьютер еще раз, и если это не сработает, думаю, я вытащу Cygwin и просто перезагрузлю его с нуля.
Боодкодер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.