Разработка кроссплатформенных приложений — дело непростое. В особенности оно непростое благодаря Windows, в котором все не как у людей. Тут тебе ни нормального терминала, ни нормальных консольных утилит, вообще ничего нет! В очередной раз столкнувшись с этой проблемой, я решил снова попробовать Cygwin. И знаете, оказывается, он действительно делает из Windows нечто, чем почти можно пользоваться!
Скачать инсталлятор Cygwin можно отсюда. На самом деле, это не столько инсталлятор, сколько пакетный менеджер, который при запуске прямо таки спрашивает, какие пакеты вы хотели бы поставить. Ребята! Пакетный менеджер! Под винду! Инсталлятор создает кэш в каталоге, из которого он будет запущен.
Поэтому перед запуском лучше создать какую-нибудь специальную папочку на рабочем столе и положить инсталлятор в нее.
Какие пакеты на мой взгляд необходимо поставить:
Обратите внимание! Чтобы в Cygwin установить pip, поставьте галочку напротив пакета python-setuptools и/или python3-setuptools . После установки в терминале скажите:
№5 Cygwin. Часть 1 Установка и настройка
easy_install-2.7 pip
easy_install-3.4 pip
…, смотря какую версию или версии Python вы поставили.
Итак, после установки Cygwin можно открыть терминал:
Ребята! Нормальный терминал, который ресайзится, позволяет копировать и вставлять текст, и вот это все! Под винду! Со всем хорошо знакомыми и привычными командами id, ls, pwd, cat, ssh, scp, и другими. С человеческим окружением — .bashrc, ~/.ssh/config, и так далее. Плюс к этому, в отличие от позорной поделки под названием PowerShell, Cygwin не тащит за собой .NET Framework.
Мы даже можем открыть несколько терминалов и переключаться между ними при помощи сочетания Ctr + Tab. Это почти как табы! Понятное дело, старый-добрый Alt + Tab тоже работает.
Выше я не советовал устанавливать Git, и вот почему. Дело в том, что в Cygwin он заметно тормозит. Тут рекомендуют выполнить команды:
git config —global core.preloadindex true
git config —global core.fscache true
git config —global gc.auto 256
Но это, к сожалению, не решает проблему полностью. Так на большом проекте команда git status может выполняться секунд 20. В Linux на точно таком же репозитории команда отрабатывает мгновенно. Git for Windows с включенным флагом core.fscache (который можно поставить прямо в инсталляторе) работает заметно лучше, поэтому советую использовать его.
Еще вы можете обнаружить, что курсор очень трудно разглядеть, когда он находится над черным терминалом. В панели управления можно поменять, как выглядит курсор, расположенный над текстом — это решает проблему.
Также расстроило, что среди доступных пакетов не удалось обнаружить Nmap.
В остальном же Cygwin прекрасен и делает жизнь под Windows почти что сносной. Еще с его помощью можно установить Zsh, Gimp, Emacs, Mutt, Irssi, Texlive, Apache, MySQL и PostgreSQL например. Плюс чуть ли не весь KDE можно установить. Правда, на такие эксперименты я не отваживался.
Как скачать OsEngine с ГитХаб. Как запустить программу?
А пользуетесь ли вы Cygwin и каковы ваши впечатления от него?
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.
Источник: eax.me
Admin’s Notes
Cygwin (Сигвин) представляет собой набор Unix программ и библиотек, скомпилированных под ОС Windows и размещенных в файловой системе таким же образом как и в настоящем Unix-е. Благодаря этому мы получаем полный эквивалент Unix среды начиная от bash и вплоть до компиляторов gcc, которыми без особого портирования исходного кода можно собирать проекты для выполнения в Windows (достаточно большое количество кросс-платформенных приложений используют такой подход, так как он наиболее простой и быстрый).
Установка Cygwin
Скачать Cygwin для 32х или 64х — разрядной версии можно на сайте https://cygwin.com/install.html . Установка весьма простая — можно просто нажимать «Далее» до окна выбора пакетов (Select Packages). Тут перед вами откроется база пакетов, причем некоторые из них уже будут отмечены для остановки (базовы), другие вы можете отметить сами.
Для того, что бы отметить пакет на установку, нужно ввести его имя в поле «Search», затем раскрыть категории и найти этот пакет. Потом нажать «Skip», в результате чего вместо Skip должна появится версия, которая будет установлена. Для дальнейшей работы отметьте пакет wget, остальное можно пока не трогать. Пакеты можно будет доустановить или удалить в любой момент времени, просто повторно запустив установщик, но это не совсем удобно, поэтому дальше в статье я расскажу как устанавливать пакеты из командной строки (для этого нам и понадобится wget).
По дефолту cygwin запускается в стандартном терминале Windows, что не очень удобно.
Терминал Console
Скачать можно тут http://sourceforge.net/projects/console/ . Нужно просто распаковать архив куда-нибудь в Program Files и создать ярлык для быстрого запуска. Запустив Console заходим в настройке и на вкладке Tabs жмем на Add. В Shell указываем путь к cygwin.bat:
Оставшийся дефолтный таб можно удалить (выделеть и нажать Delete).
Теперь можно настроить действия по клавишам мыши в дереве Hotkeys/Mouse, например достаточно удобно копировать и вставлять нажатием правой кнопки мыши:
Назначение выполняется путем нажатия кнопки Assign.
Ну и конечно «горячие» клавиши в пунке дерева Hotkeys. Я назначил следующие комбинации (Остальные меня устраивают):
- New Tab — Ctrl + Shift + T (открыть новую вкладку)
- Copy selection — Ctrl + Shift + C (копирование выделения)
- Paste — Ctrl + Shift + V (вставка)
Также можно полазить по другим настройкам — можно найти много удобностей.
Пакетный менеджер для Cygwin
Что бы устанавливать пакеты через консоль в одну строку кода нужно установить apt-cyg (типа как apt-get в Ubunt-ах). Установка сводится к скачиванию, добавлению прав на выполнение и перемещению в папку выполняемого Path-а:
Источник: adminsnotes.blogspot.com
Как запустить программу в сигвине
Для того, чтобы в среде Eclipse можно было компилировать C/C++ приложения для Android, понадобится среда окружения Cygwin [1], где есть необходимая утилита make.
[Установка CygWin]
Запустите на выполнение setup-x86.exe или setup-x86_64.exe [1] в зависимости от версии Вашей Windows. На скриншотах показаны шаги выбора в мастере установки. Выберите Install from Internet, каталог установки c:cygwin, папку для сохранения временных файлов c:temp, тип подключения к Интернет, адрес сервера, откуда будут скачиваться пакеты.
Выберите для установки пакеты Devel/make и Shells/bash.
Запустите установку и дождитесь её окончания.
[Проверка работоспособности CygWin]
Выполните в командной строке команду:
make -version
В Вашей операционной системе может быть установлено несколько программ, которые могут использовать утилиту make. К примеру, это могут быть Atmel Studio 6, Visual Studio, MinGW, WinAVR и другие тулчейны. Какая из утилит make запустится в ответ на ввод команды make, зависит от переменной окружения PATH, где указаны пути поиска запускаемых программ.
Утилита make из пакета Cygwin находится в папке c:cygwinbin, поэтому если хотите, чтобы запускалась именно эта версия make, то проверьте наличие пути c:cygwinbin в составе переменной PATH. Содержимое переменной PATH можно посмотреть командой консоли set PATH. На скриншоте показан пример такого вывода.
Как можете увидеть на примере этого скриншота, в данном случае переменная PATH не содержит пути c:cygwinbin, поэтому будет запускаться утилита make из каталога c:Program FilesAtmelAVR ToolsAVR Toolchainbin (этот путь присутствует в переменной PATH, и стоит первым по порядку). Поэтому будьте внимательны!
Переменную PATH можно настроить через Мой компьютер -> Свойства -> Дополнительно -> Переменные среды.
При запуске make из окна терминала Cygwin Terminal запустится утилита make из каталога c:cygwinbin:
[Настройка переменных окружения bash-шелла Cygwin]
Все переменные окружения Windows автоматически импортируются в переменные окружения bash. Однако есть некоторая проблема, связанная с пробелами в именах путей Windows. Такие пути требуют особого внимания, и для их корректного преобразования в пути cygwin требуется специальная настройка.
Для разработки под Android нужно, чтобы были доступны утилиты JDK, SDK, NDK, Ant, которые находятся обычно в путях, обозначенных переменными окружения Windows: JAVA_HOME, ANDROID_SDK, ANDROID_NDK, ANT_HOME соответственно. Если в путях переменных окружения есть пробелы, то такие переменные требуют специального экспорта в окружение bash.
В каталоге c:cygwinhomeимя_пользователя находится файл .bash_profile, в котором делаются основные настройки рабочего окружения среды bash Cygwin. Для настройки переменных окружения, связанных с путями поиска утилит JDK, SDK, NDK, Ant, добавьте в конец файла .bash_profile следующие строки:
export ANT_HOME=`cygpath -u «$ANT_HOME»` export JAVA_HOME=`cygpath -u «$JAVA_HOME»` export ANDROID_SDK=`cygpath -u «$ANDROID_SDK»` export ANDROID_NDK=`cygpath -u «$ANDROID_NDK»`
Команда export назначает указанное значение строковой переменной окружения. Это значение вырабатывает утилита cygpath, которая принимает в качестве параметра значение старой переменной окружения Windows. Обратите внимание, что строка с опциями для запуска команды cygpath обрамлена символом ` , который служит для выделения запускаемой команды в конфиге. Не переgутайте ` с другими символами ‘ и «», это очень важно.
Если после внесения указанных изменений в файл .bash_profile запустить окно терминала Cygwin, то в переменных окружения bash появятся переменные $JAVA_HOME, $ANDROID_SDK, $ANDROID_NDK, $ANT_HOME, которые будут иметь корректные пути cygwin. Вот пример такого пути для переменной $JAVA_HOME:
JAVA_HOME=’/cygdrive/c/Program Files/Java/jdk1.7.0_45′
[Ссылки]
1. Installing and Updating Cygwin Packages site:cygwin.com .
Источник: microsin.net