Привет!

Скотт Хансельман — известный активист Microsoft, много пишущий о том, как использовать Open Source и Microsoft. Ниже находится перевод его последней статьи по поводу известной новости по теме Ubuntu и Bash в Windows 10. А еще — сегодня 25 апреля, озаглавленный глобально-важным международным днем пингвинов, поэтому призываем вас почаще посещать пингвинов, а также, конечно, заходить на наш постоянно обновляющийся сайт про Open Source и Microsoft. Если же вам хочется отвлечься в этот прекрасный рабочий день, то прикладываем специальное видео, посмотрев которое, можно будет узнать о пингвинах все.







Раньше приглашение в виде символа $ для пользователей Windows, в том числе для меня, означало «проходите мимо».
Я искал такое приглашение



или такое



Конечно, нужные приглашения встречались не всегда. Но сегодня, в первый день конференции **BUILD**, Кевин Галло (*Kevin Gallo*) рассказал в своем докладе, что теперь разработчики смогут выполнять «**Bash в Ubuntu на Windows**». Эта функция включена в юбилейное обновление Windows 10 (выходит в ближайшее время). Она позволяет выполнять в Windows сценарии оболочки и утилиты командной строки Linux без каких-либо модификаций.

Если вы включите режим разработчика в настройках Windows, добавите эту функцию и запустите сценарий bash, то система предложит загрузить Ubuntu на Windows от Canonical через Магазин Windows:



Этот механизм работает в 64-разрядной Windows и не применяет виртуальные машины. Для чего Bash в Windows может пригодиться разработчикам?
Раньше, когда требовалось запустить Bash в Windows, можно было использовать несколько вариантов.

— Cygwin — утилиты командной строки GNU, скомпилированные для 32-разрядной ОС и отлично интегрированные с Windows. Но это не Linux.
— HyperV и Ubuntu — запуск отдельной виртуальной машины Linux (с выделением X гигабайт ОЗУ и Y гигабайт места на жестком диске) и удаленное подключение к ней (RDP, VNC, ssh).
— Docker также позволяет выполнять контейнер Linux в виртуальной машине HyperV

Запуск bash в Windows — именно этого раньше не хватало. С точки зрения пользователя механизм работает как Linux, поскольку выполняет настоящие бинарные файлы Linux. Просто нажмите клавишу Windows и введите «bash».
После настройки введите «apt-get update» и скачайте несколько пакетов для разработчиков. Мне были нужны Redis и Emacs. Чтобы установить emacs, я запустил команду «apt-get install emacs23». Обратите внимание: это настоящий emacs из репозитория Ubuntu.



Разумеется, я не представляю, как выйти из emacs, поэтому просто закрыл окно. ;)

Обратите внимание: механизм не предназначен для запуска серверов или серверных нагрузок Linux. Этот выпуск ориентирован на разработчиков, которых интересует (или которым необходимо) использование инструментов Linux в рабочем процессе, и снимает это серьезное ограничение. Здесь я установил **Redis с помощью apt-get** и получил возможность выполнять его в изолированном режиме.



Я запускаю Redis в bash и создаю приложения ASP.NET в Visual Studio, использующей кеш Redis. С помощью **Azure Redis Cache** я затем разверну решение в Azure — вполне привычное дело для меня.
Взгляните, каким целостным выглядит теперь мое меню «Пуск»!



В ближайшие недели в блоге [http://blogs.msdn.microsoft.com/commandline](http://blogs.msdn.microsoft.com/commandline) будут опубликованы технические подробности. Кроме того, вас ждут грандиозные обновления базовой консоли, которые улучшат поддержку кодов консоли, ANSI, VT100 и многое другое. Это ранняя версия возможностей, предназначенных для разработчиков, и команда ждет ваших отзывов и комментариев. Функция «Ubuntu в Windows» будет доступна разработчикам в одной из ближайших сборок Windows 10. Изначально некоторые возможности не будут работать так, как задумано, но мы надеемся, что вам будет интересно познакомиться с ними и выяснить, как Ubuntu в Windows вписывается в ваш процесс разработки!



Комментарии (13)


  1. asommer
    25.04.2016 18:58


  1. Gorthauer87
    25.04.2016 19:02

    msys ещё умеет баш в виндовс.


  1. Viacheslav01
    25.04.2016 20:10
    -7

    В W10 без слез нельзя смотреть на работу Store приложений созданных на CLR, довести до ума свое не могут, а уже linux тащат.


    1. lastersound
      26.04.2016 07:57
      +2

      Не побоюсь высказать своё мнение, но полагаю что там несколько отделов и каждый отдел своим занимается.


      1. Viacheslav01
        26.04.2016 15:52

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

        А теперь опять цикл «фичи любой ценой»


    1. Paramount
      26.04.2016 11:22

      Странно, но у меня то же ощущение. Постоянно хочется выпилить из системы сторовские приложения и оставить только то, что сам поставил.


  1. youROCK
    25.04.2016 21:48

    Если у них вызов stat() будет работать также быстро, как и под Linux, можно наверное будет даже гитом полтзоваться :))?


  1. lostpassword
    25.04.2016 23:10

    Разумеется, я не представляю, как выйти из emacs, поэтому просто закрыл окно. ;)
    Это было прекрасно!)


  1. lastersound
    26.04.2016 07:52
    -1

    Меня одного больше волнует вопрос — когда умельцы начнут linux графическую оболочку «пихать» в windows?


    1. onix74
      26.04.2016 08:24
      +2

      https://windows.kde.org/


      1. lastersound
        26.04.2016 17:49

        Не… Это не то… На этот проект уже давно положили бубен и больше не занимаются им.


    1. alexover
      27.04.2016 18:11

      Когда-то KDE4 ставил на windows ради интереса. А вот практической пользы лично я не вижу.


  1. alex-pat
    26.04.2016 11:22
    -1

    Что могу сказать по поводу текущего состояния. Apt работает очень медленно. Ncurses страшно лагает, поэтому действительно, единственное, что можно без крови из глаз сделать с емаксом — выйти из него. Как прочие следствия — less(и man) не листает вверх. Я понимаю, что это бета, но если они это не исправят, пока Ubuntu on Windows не получит статус стабильной, данный вайн наоборот окажется никому не нужен и станет очередной неоправдавшейся тратой средств. Не мне объяснять, почему ncurses важен