Сообщение корпорации Microsoft о нативной поддержке Bash on Ubuntu в среде Windows 10 наделало много шума. При этом компания решила не растягивать удовольствие ожидания для пользователей своей ОС, и выпустила Windows 10 Insider Preview Build 14316 с интегрированным Ubuntu спустя всего несколько дней после анонса. Полноценное крупное обновление Windows 10 с новой возможностью будет выпущено летом, а пока можно изучить возможности системы в превью билде.

Пользователи, которые опробовали новинку, сообщают, что все действительно работает. При этом возник вопрос — можно работать только в командной строке, или же есть какой-то способ запустить десктопное приложение с графическим интерфейсом? После проверки у ряда пользователей получилось запустить кое-какие десктопные Linux приложения. Официально заявляется, что такой возможности нет, но пользователь Reddit с ником w2qw нашел способ запуска «иксов» в Windows 10, что открывает возможность установки и работы с VIM и Firefox.



Конечно, тот же Firefox работает и под Windows (ну еще бы он не работал), но если есть необходимость запуска приложений, работающих только в Linux, этот способ может помочь. Так, нужно использовать Xming X Server для Windows, это позволит запустить «иксы» вне bash. А затем просто запускаем приложение:

DISPLAY=:0 firefox

Работать все это будет чуть медленнее, чем нативное приложение, но производительность все равно остается приемлемой.

Еще один пользователь Reddit, starlig-ht заявил, что ему удалось запустить Xfce.

Напомню, что для включения Bash on Ubuntu в среде Windows 10 Insider Preview Build 14316 необходимо включить Developer Mode в настройках Update & Security. Как только пользователь это сделает, можно вызвать командную строку Windows, прописать «bash», и выполнить загрузку Ubuntu (этот процесс изображен на скриншоте в анонсе).

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


  1. VBKesha
    13.04.2016 11:45
    +56

    Теперь Wine можно будет запустить под Win


    1. EminH
      13.04.2016 11:59
      +12

      ага, и из под Wine запустить Internet Explorer :)


      1. adm_88
        15.04.2016 19:07

        Кстати, развивая мысль — Майкрософт тоже должен поделиться с убунтой чем-то. Ждем Internet Explorer в 16.10 из коробки и без wine?


    1. KvanTTT
      13.04.2016 12:14
      +22

      Wine под Win — это Win.


      1. JuniorIL
        13.04.2016 14:31

        Встроенный эмулятор для старых игрушек? Вот это Win!


        1. qw1
          13.04.2016 16:05
          +6

          Где-то мне встречались нативные сборки WINE под Windows, так что можно запускать их без лишнего слоя.


          1. nadayop
            18.04.2016 10:34

            А кто-нибудь вообще это пробовал?
            Эта нативная сборка выглядит, как набор библиотек, которые якобы нужно положить в папку с программой.
            У меня так и не получилось ничего запустить.

            Хочу с помощью wine под win запустить несколько копий одного приложения, которое не умеет несколько копий, но имеет поддержку wine
            В ubuntu очень удобно это делать в PlayOnLinux.

            Хотя м.б. мне стоит копать в сторону песочниц под win, но тут тоже немного рабочих вариантов.


    1. JuniorIL
      13.04.2016 14:30

      Del


  1. Abiboss
    13.04.2016 12:01
    +3

    Хм, после окончательного релиза через Windows Update будут распространяться обновления, в том числе, для встроенного Linux


    1. radiolok
      13.04.2016 15:20
      +16

      … одно из которых предложет обновить встроенный Linux до Windows 10…


      1. Abiboss
        14.04.2016 10:19

        Однажды, хотя, быть может, такой день и никогда не настанет, кто-нибудь в Microsoft по ошибке выпустит какой-нибудь первоапрельский пакет обновления, собранный исключительно для внутренних нужд, который заместит Windows 10 встроенным Linux


    1. Radjah
      14.04.2016 13:52

      Там же apt нормально работает:
      apt-get update
      apt-getp upgrade
      Вот это всё.


  1. nikitastaf1996
    13.04.2016 12:03

    А потом виртуальную машину с win.


  1. Shished
    13.04.2016 12:13
    +7

    Запуск xfce не относится к новости. пользователь Reddit пересобрал все компоненты под cygwin.


  1. mwambanatanga
    13.04.2016 12:15
    +15

    Еще один пользователь Reddit, starlig-ht заявил, что ему удалось запустить Xfce.

    По-моему, то, что он сделал:

    # uname -a
    CYGWIN_NT-10.0 BETELGEUSE 2.4.1(0.293/5/3) 2016-01-24 11:26 x86_64 Cygwin


    отличается от того, о чём говорит Микрософт.


  1. Andrusha
    13.04.2016 12:25
    +7

    "… но пользователь Reddit с ником w2qw нашел способ запуска «иксов» в Windows 10, что открывает возможность установки и работы с VIM и Firefox"
    Обычный vim запускается безо всяких иксов, а на первом скриншот GVim.


    1. TsukinoMai
      13.04.2016 13:49
      +3

      Который вполне существует и под Windows. Так что запускать его таким изощрённым способом — занятие весьма странное.


      1. Andrusha
        13.04.2016 15:32

        Да вообще сложно представить пример ПО с графическим интерфейсом, для которого пригодится эта схема — сейчас почти все популярное на GTK и Qt под Windows собирается. Единственное, что заманчиво выглядит — форвардинг иксов через SSH.


        1. Lsh
          13.04.2016 15:44
          +4

          Единственное, что заманчиво выглядит — форвардинг иксов через SSH

          Так это и так давно можно. Putty+X-сервер-под-винду.


          1. Andrusha
            13.04.2016 18:11

            Заманчиво как нативное решение: либо сразу поставил, либо чуть позже набрал что-то вроде pkgmgr /iu:«UbuntuLinuxEnvironment». Так-то я себе раньше cygwin на рабочую windows-машину ставил.


  1. ainu
    13.04.2016 13:37
    +2

    Запустить X-сервер (который Xming) можно уже сейчас, а само приложение будет крутиться например в coLinux.
    Другое дело, X-клиент (понятия сервер-клиент немного перепутаны, да), то есть тот самый X org, от которого например зависим gde и firefox, должен работать в ubuntu окружении. И пока подтверждения тому, что в ubuntu-в-windows будет X (не сервер, который XMing, рисующий графику а именно иксы) — не было. На скриншотах Цугвин, как правильно выше заметили. Для запуска ssh или mc или ruby иксы не нужны.

    Отвечая на вопрос, а откуда у него иксы (коммент с реддита):

    Just that the display isn't available.

    I have a Cygwin X-server running on :0.0 according to Cygwin. I must admit that I don't know if I need to configure or launch x-org any differently than using the XWin init script.


    По сути как я понял приложение использует дисплей :0 из цугвина. Ну и X server оттуда же или Xming.

    Кроме того, регулярно крашится frefox, не работают такие вещи, как nautilus и gedit. О том, что будут запускаться десктопные приложения, говорить рано. А если это будет ещё и через Xming, это будет ооочень медленно (для терминалов не заметно, а для игрушек-браузеров уже критично).


    1. Lsh
      13.04.2016 13:58

      Вроде как, Х-сервер из Cygwin поддерживает MIT-SHM (для этого в Cygwin есть специальный сервис). Но память у подсистем раздельная. Если это изменится в будущем, то вполне может заработать с нормальной скоростью при использовании обычного Х11 сервера в винде.


    1. Radjah
      14.04.2016 14:02

      Зачем собирать X-сервер в Cygwin, когда есть тот же VcXsrv, который от Cygwin никак не зависит?


      1. ainu
        14.04.2016 17:08

        Может, тот умеет больше, чем альтернативы, или стабильнее подключается.
        Идеально конечно, если каноникл специально под этот проект напишет и отладит свой сервер (который не эльф-файл будет, а windows-сервис) или форкнет существующий. Идеально если напишут транслирование команд X сервера в directX, хотя в это не сильно верится.


  1. strlock
    13.04.2016 13:46
    +4

    Нет, Microsoft, всё равно не перейду на Windows 10)


  1. Lsh
    13.04.2016 13:54
    +5

    ШОК! Сенсация! Реализация Х11 сервера есть и под Windows!

    Мне кажется, что ЦА этой подсистемы по умолчанию в курсе таких вещей.
    Лучше бы кто сказал, почему многие приложения падают с жалобами на Х-ы.

    см. выхлоп в терминале
    image


    1. ainu
      13.04.2016 14:48

      Для того, чтобы X сервер работал, нужен X.org клиент в системе, который не факт что в убунте есть.


      1. Lsh
        13.04.2016 15:12

        o_O Шо? Какой клиент?
        Клиентов там полно — все графические приложения.


        1. ainu
          13.04.2016 15:24

          Терминология немного страдает у иксов. X сервер — это Xming, который подключается к Xorg. Я Xorg клиентом назвал, не знаю как назвать, как не клиентом. Ну, подсистема, не знаю. Не суть в этом.


          1. Lsh
            13.04.2016 15:43
            +2

            Да, терминология страдает. =)
            Есть Х сервер, который работает по протоколу Х11. У него есть много реализаций: Xorg, Xming, X/Cygwin и т.д. (есть даже коммерческие за деньги).
            К серверу подключается клиент по протоколу Х11. Это любое приложение: калькулятор, файловый менеджер, почтовый клиент, т.п.

            X сервер — это Xming, который подключается к Xorg.

            Наоборот, клиент подключается к серверу, именно он выступает инициатором. Xorg и Xming, оба являются серверами. Поэтому тут написано вообще чего-то непонятное.
            нужен X.org клиент в системе, который не факт что в убунте есть.

            Клиентов в системе полно. Это любое приложение с графическим интерфейсом.
            Никакого сервера со стороны Ubuntu не надо. Это не RDP и не VNC.


            1. ainu
              13.04.2016 16:36
              +4

              Всё правильно пишете, но я не совсем про это говорю. Попробую по другому.
              Допустим, имеем голую убунту, без иксов. Например, ubuntu server. Хотим поставить, например, htop, mc или vim — без проблем, apt-get и пошёл. Однако когда мы пытаемся сделать apt-get install firefox, мы получим зависимость от libxcursor1, который зависит от http://packages.ubuntu.com/ru/precise/libx11-6, которая так и называется — X Client Library, которая суть клиент X, имплантированное в приложение, которое подключится к X серверу на другом конце планеты чтобы нарисовать кнопочку.
              И этот самый libx11-6 (который я называю клиентом а не сервером, так как он и есть клиент, и именно его я назвал термином xorg, что не совсем верно, т.к. это только часть xorg) надо устанавливать в систему в виде пакета. И вот теперь о чем я и говорил — не факт, что этот пакет нормально встанет в систему. Например, если я на виртуальном или выделенном сервере поставлю firefox, я смогу через Windows по SSH соединяться и этот firefox смотреть. Но некоторые виртуальные серверы (не выделенные) на попытку установить firefox, спотыкаются на пакете libx по разным причинам, которые крутятся около «братан, извини, видеокарты нет у меня» или около того (хотя видеокарта ему не нужна). И не факт, что apt-get install libx11-6, запущенная на Windows 10 сработает нормально, запустит и установит всё что надо.

              Мою фразу «нужен X.org клиент в системе» прошу читать так:
              «в системе должен быть установлен пакет X Client Library, он же libX11, являющийся частью x.org (не путать с x.org Server). Это необходимо для запуска программ, которые при компиляции использовали встроенный внутрь этих программ клиент X (#include <X11/Xlib.h>). и используют для запуска соответствующую библиотеку. Это не нужно для запуска программ, которые используют альтернативные реализации X клиента».
              Все мои упоминания xorg прошу читать как «xlib». Хотя мне кажется, xorg клиент — это xorg клиент (обычно библиотека), xorg сервер — это xorg сервер и тут путаницы быть не должно.


              1. ainu
                13.04.2016 16:40

                И судя по выхлопу в консоли и ошибкам в самом первом комментарии, эта самая libX и вызывает X window system error.


              1. Lsh
                13.04.2016 17:11

                Теперь понятно. Просто как-то мудрено было написано. И слова «библиотека» не было. Да и я не соглашусь всё равно с такой терминологией. Именно потому, что клиенту не обязательно использовать эту конкретную библиотеку, тут никакой привязки нет. Например, есть XCB. Ну ладно, фиг с терминологией.

                Т.е. вы хотите сказать, что за libX11 не подтянулись какие-то зависимости, поэтому оно работает криво? Не очень похоже на это. Оно работает через раз. А так, оно бы не работало вообще из-за отсутствия какой-либо библиотеки. При установке пакетный менеджер не ругался. И видеокарта тут никакая не нужна. Вот есть же Xvfb, работает без видеовыхода, соответственно и клиенты никакой карты не требуют. Кроме того, я пробовал запуск графических приложений на Ubuntu Server с выводом через SSH на Х-сервер (сейчас не помню, какой именно стоял), который работал на винде. Всё при этом работало без проблем.

                Лично мне кажется, что криво реализован какой-нибудь вызов ядра, связанный с работой с памятью или сокетами. Поэтому приложения запускаются через раз.

                Тут, конечно, надо углубиться в отладку. Но у меня нет достаточного скила, да и долго это.


      1. oWeRQ
        13.04.2016 16:35

        X11 сервер должен быть в Windows, в Ubuntu он есть, но работать не будет, по крайней мере пока ядро/прослойка не научится работать с видео. X11 клиент в Ubuntu будет работать и спокойно выводить на удаленный сервер, который запущен в Windows.


        1. Lsh
          13.04.2016 17:14

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


  1. Lungo
    13.04.2016 13:57

    Напомню, что для включения Bash on Ubuntu в среде Windows 10 Insider Preview Build 14316 необходимо включить Developer Mode в настройках Update & Security. Как только пользователь это сделает, можно вызвать командную строку Windows, прописать «bash», и выполнить загрузку Ubuntu (этот процесс изображен на скриншоте в анонсе).

    Кроме этого, нужно еще установить компонент Linux через соответствующий пункт панели управления


  1. pda0
    13.04.2016 14:00
    +1

    Ещё немного и в Windows можно будет запустить нормальный 64-битный Kerbal Space Program. :-D


    1. Lsh
      13.04.2016 14:03
      +1

      Про 3D пока можно забыть. Ускорение не доступно, т.к. Х-сервер и Х-клиент работают так, как если бы Ubuntu была виртуалке, т.е. общаются через сокет.


    1. Yrok472
      13.04.2016 15:35

      В стиме уже доступна версия x64 в качестве пререлиза 1.1, работает на порядок лучше предыдущих релизов.


      1. pda0
        13.04.2016 15:38

        Главный вопрос — поддержка модов. Большинство просто содержат проверку, отключающую их на Windows x86_64.


        1. Yrok472
          13.04.2016 16:16

          Пробовал только свежие сборки с паком больших топливных баков, HyperEdit и mechjeb, все работает. Авторы модов уже зашевелились и начинают адаптировать свои творения, так что проблем не должно возникнуть.


          1. pda0
            13.04.2016 17:01

            Там главные проблемы с тяжеловесами, типа TAC, FAR…


  1. ZaDOOMchiviy
    13.04.2016 14:07

    Теперь можно будет запустить компилятор Crystal под Windows не дожидаясь официальной поддержки))


  1. hdfan2
    13.04.2016 14:11
    +24

    У нас был bash, grep, awk и целое множество других утилит всех сортов и расцветок, а также vim с emacs'ом. Не то что бы это был необходимый запас для работы в Windows. Но если начал использовать в нём Linux, становится трудно остановиться. Единственное что вызывало у меня опасение — это иксы. Нет ничего более беспомощного, безответственного и испорченного, чем GUI-шные программы. Я знал, что рано или поздно мы перейдем и на эту дрянь.


  1. potan
    13.04.2016 14:20
    -1

    Самое то главное — apt-get работает?


    1. ainu
      13.04.2016 14:49
      +1

      Да. Но не всё из apt-get-а запускается «из коробки».


      1. ruikarikun
        13.04.2016 17:37
        -1

        А что не работает? И какие зеркала используются?


        1. ainu
          14.04.2016 07:38
          +1

          Зеркала любые — система запускает родные линуксовые эльфы. Это не цугвин потому что.
          Наутилус и gedit например не работают — в том же реддите отписывались. Ну и часть программ, использующие специфично линуксовые вызовы ядра. Рискну предположить, что docker не запустится. Вне зависимости то зеркал.


        1. Radjah
          14.04.2016 14:08

          ssh-сервер не запускается, например. Жалуется, что в системе /dev/null нет.


    1. iassasin
      13.04.2016 15:35
      +1

      Вроде как да, в статье с новостью о конференции даже скриношты были с запущенным apt-get.


    1. wOvAN
      13.04.2016 17:57

      Ставил Midnight Commander, запускается работает, но не распознает многие клавиши и тупит при листинге каталогов.


      1. Lsh
        13.04.2016 18:37

        Да, терминал-то убогий.


        1. 3al
          14.04.2016 13:59

          А в console2 или, скажем, mintty из cygwin работает?


          1. Lsh
            14.04.2016 14:56

            Нет, bash подсистемы не запускается. Пишет Error: 0x80070057.


            1. Aller2TeaM
              16.04.2016 23:45
              +1

              Где-то в соседней теме было: Дабы не вылезала ошибка: переключаешь (!)системный(!) язык на английский. Запускаешь bash. После установки Ubuntu ставишь обратно системный язык на русский.


        1. ainu
          14.04.2016 17:11
          +1

          Да это вылечится если например появится работающий ssh и подключаться через putty к localhost — не страшно.


  1. RicoX
    13.04.2016 14:38

    Интересно получится ли загнать vlan внутрь и распаковать на linux, на win это часто все еще проблема на многих сетевых без специального драйвера.


    1. ainu
      13.04.2016 14:53
      +6

      Сеть используется не в линуксе. Сеть используется та же самая, что и в Windows. Просто вместо ядра linux используется ядро Windows. Это не запуск ядра linux. Это запуск linux программ в ядре Windows, через трансляцию системных вызовов. Как в Wine — у него нет отдельного виртуального диска, он использует обычный.
      Если подключить Windows к сети, то ping 8.8.8.8 в этой же сети заработает. Само соединение будет делать Windows. Если IP компьютера 192.168.0.33, и в ubuntu установить apache на порт 80, то по адресу http://192.168.0.33:80/ откроется apache.


      1. 13_beta2
        13.04.2016 19:52
        +2

        Кстати говоря, а ping/traceroute пока и не работают.


        1. IRainman
          19.04.2016 11:55
          +1

          Это потому что поддержки RAW-сокетов нет пока ещё.


      1. LexS007
        16.04.2016 00:22

        >Это запуск linux программ в ядре Windows
        Cледом за Debian GNU/kFreeBSD и Debian GNU/Hurd теперь ждем Debian GNU/NT?


  1. camelos
    13.04.2016 15:05
    +4

    открывает возможность установки и работы с Firefox

    Крутяк! Наконец-то смогу поставить лисичку на виндовую машинку.

    По теме. Лучше бы наоборот. Мне катастрофически не хватает некоторых win-приложений на linux и под wine они не взлетают =( Использовать виртуалку не всегда удобно.


  1. burivuh26
    13.04.2016 15:08

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


    1. yurijevs
      13.04.2016 16:02
      +1

      Можно не переключать
      lxrun /install /y


  1. m0Ray
    13.04.2016 15:21
    +2

    EEE в действии?


  1. viru0
    13.04.2016 18:41
    -3

    Ключевой вопрос — зачем?
    Используешь утилиты которые только в linux, ставь linux (иль купи Mac)
    Используешь windows софт, нафег тебе linux.

    Но с другой стороны чем больше возможностей тем лучше.


    1. ainu
      14.04.2016 07:40

      Для тех, кто использует и те и другие утилиты. Например, разработчики.


  1. saboteur_kiev
    13.04.2016 18:48
    +2

    Люто жду, когда в windows появится родной штатный cron и sshd сразу в bash, вместо этого таск шедулера и plain text telnet в cmd


    1. lostmsu
      13.04.2016 18:58

      WinRM


      1. saboteur_kiev
        14.04.2016 01:07

        и зачем? почему бы не одним скриптом через баш опрашивать и win и linux и mac и unix машины?


  1. keysi
    13.04.2016 21:30
    -2

    Для полного счастья осталось выяснить, что приложения скомпилированные под nix, запущенные таким образом, работают быстрее чем эти же приложения под win.


  1. robert_ayrapetyan
    13.04.2016 23:15
    +4

    Лет через 5, ждем Windows на ядре Linux. Эппл сразу не стал выпендриваться


    1. qw1
      13.04.2016 23:41
      +1

      Но у эппла не линукс!


    1. rPman
      14.04.2016 00:32
      -4

      Лет через 5, ждем Windows на ядре Linux
      Откройте для себя ReactOS, здравствовать и процветать этому проекту.


  1. sweetbrick
    14.04.2016 00:07

    Я так понимаю, что о запуске .xzm модулей и установке линуксовых драйверов речь не идет?


    1. ainu
      14.04.2016 07:45

      Драйвера как часть ядра не используются (т.к. ядра нет). Используются драйвера из Windows. Да и смысла нет — в целом для Windows драйверов больше. Когда в этом линуксе запускается, например, mc, не используется: виртуальная память, ядро, CHROOT, init, драйвер диска, драйвер сети, сетевая подсистема. Запускается только mc + транслятор вызовов, и всё.


      1. Lsh
        14.04.2016 15:09

        Смысл очень даже есть. Например, файловые системы.


        1. ainu
          14.04.2016 17:14

          Ну это (согласно идеологии получившейся) надо для Windows сделать драйвер для альтернативных файловых систем, и из bash они станут доступными. Иначе (если модули и драйверы из линукса городить) тот же colinux/andLinux гораздо удобнее выйдет (и кстати, в них производительность тоже не проседает согласно бенчмаркам, так как это не совсем виртуалка, только оперативку много ест).


  1. Samogonshik
    14.04.2016 12:45
    +1

    А KDE встанет?


    1. Lsh
      14.04.2016 15:10

      Сейчас проблема с запуском Х-приложений. Некоторые падают. Как перестанут, то должно более или менее. Какие-то системные части, связанные с оборудованием, естественно отвалятся.


    1. SunX
      14.04.2016 16:01
      +1

      Кде есть (ну так скажем 4я версия, про 5ю не знаю) и нативная под Винду. Правда на мой вкус гадость редкостная оказалась.


  1. Shinso
    14.04.2016 12:45

    Интерестно, а сможет ли винда увидеть часть винчестера, на которой у меня установлена убунту?


    1. Radjah
      14.04.2016 14:13

      Сможет, если для ext2/3/4 драйвер поставить. Тот же ext2fsd.


  1. rPman
    14.04.2016 15:46
    +1

    User Mode Linux запускается? Это фактически будет coLinux только с другой тсороны, и ч64 поддержка появится :)


    1. Lsh
      14.04.2016 17:45

      И чем эта куча наслоений будет лучше виртуалки?


      1. rPman
        14.04.2016 19:59

        UserModeLinux (как и CoLinux или Jail, Chroot, LXC, OpenVZ,..) это не виртуалка в обычном смысле а прослойка к системным вызовам, т.е. если у вас числодробилка, использующая процессор в user space то у вас не будет накладных расходов за использование виртуальной машины (в отличии от виртуализации, даже с использованием аппаратной поддержки) или они будут минимальны.

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


  1. BUSHA
    15.04.2016 14:26

    Немного не в ту степь, но вспомнился старый анекдот из одной строки:

    apt-get install windows


  1. boingo-00
    15.04.2016 19:07

    Если в винде будет абсолютно полноценный линукс — я подумаю о покупке лицензии


    1. xRay
      20.04.2016 08:29
      +1

      Без самого ядра linux этого не будет


      1. boingo-00
        20.04.2016 14:15

        Ну вот и отлично, останусь на своем Debian Testing