Bash for windows 10

Bash for windows 10

В юбилейном обновлении Windows 10 версии 1607 появилась новая возможность для разработчиков — оболочка Ubuntu Bash, позволяющая запускать, устанавливать приложения Linux, использовать скрипты bash прямо в Windows 10, все это называется «Подсистема Windows для Linux». В версии Windows 10 1709 Fall Creators Update доступны уже три дистрибутива Linux для установки. Во всех случаях требуется 64-разрядная система для установки.

В этой инструкции — о том, как установить Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10 и некоторые примеры использования в конце статьи. Следует также учитывать, что есть некоторые ограничения при использовании bash в Windows: например, нельзя запускать GUI приложения (правда, сообщают об обходных путях с помощью X server). Кроме этого, командами bash нельзя запустить Windows-программы, несмотря на наличие полного доступа к файловой системе ОС.

Установка Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10

Начиная с версии Windows 10 Fall Creators Update (версия 1709) установка подсистемы Linux для Windows несколько изменилась по сравнению с тем, что было в предыдущих версиях (для предыдущих версий, начиная с 1607, когда функция была представлена в бета-версии, инструкция — во второй части этой статьи).

Теперь необходимые шаги выглядят следующим образом:

  1. Прежде всего, необходимо включить компонент «Подсистема Windows для Linux» в «Панель управления» — «Программы и компоненты» — «Включение и отключение компонентов Windows».
  2. После установки компонентов и перезагрузки компьютера, зайдите в Магазин приложений Windows 10 и загрузите оттуда Ubuntu, OpenSUSE или SUSE Linux ES (да, теперь доступно три дистрибутива). При загрузке возможны некоторые нюансы, о которых далее в примечаниях.
  3. Запустите загруженный дистрибутив как обычное приложение Windows 10 и выполните первоначальную настройку (имя пользователя и пароль).

Для включения компонента «Подсистема Windows для Linux» (первый шаг) можно использовать команду PowerShell:

Теперь несколько примечаний, которые могут быть полезны при установке:

  • Вы можете установить сразу несколько дистрибутивов Linux.
  • При загрузке дистрибутивов Ubuntu, OpenSUSE и SUSE Linux Enterprise Server в русскоязычном магазине Windows 10 заметил следующий нюанс: если просто ввести название и нажать Enter, то нужных результатов в поиске не оказывается, но если начать вводить и затем нажать по появляющейся подсказке, автоматически попадаешь на нужную страницу. На всякий случай прямые ссылки на дистрибутивы в магазине: Ubuntu, OpenSUSE, SUSE LES.
  • Запускать Linux можно и из командной строки (не только с плитки в меню Пуск): ubuntu, opensuse-42 или sles-12

Установка Bash в Windows 10 1607 и 1703

Для того, чтобы установить оболочку bash, выполните следующие простые действия.

  1. Зайдите в параметры Windows 10 — Обновление и безопасность — Для разработчиков. Включите режим разработчика (должен быть подключен Интернет для загрузки необходимых компонентов).
  2. Зайдите в панель управления — Программы и компоненты — Включение или отключение компонентов Windows, отметьте пункт «Подсистема Windows для Linux».
  3. После установки компонентов, введите в поиске Windows 10 «bash», запустите предлагаемый вариант приложения и выполните установку. Вы можете задать свое имя пользователя и пароль для bash, либо использовать пользователя root без пароля.

По завершении установки вы можете запускать Ubuntu Bash на Windows 10 через поиск, или создав ярлык для оболочки там, где вам требуется.

Примеры использования Ubuntu Shell в Windows

Для начала отмечу, что автор не является специалистом по bash, Linux и разработке, а примеры ниже — просто демонстрация того, что в Windows 10 bash работает с ожидаемыми результатами для тех, кто разбирается в этом.

Приложения Linux

Приложения в Windows 10 Bash можно устанавливать, удалять и обновлять с помощью apt-get (sudo apt-get) из репозитория Ubuntu.

Использование приложений с текстовым интерфейсом ничем не отличается от такового на Ubuntu, например, вы можете установить Git в Bash и использовать его привычным образом.

Скрипты bash

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

Скрипты bash не могут вызвать программы и команды Windows, но возможен запуск скриптов и команд bash из bat файлов и сценариев PowerShell:

Также вы можете попробовать запускать приложения с графическим интерфейсом в Ubuntu Shell в Windows 10, на этот счет в Интернете уже имеется не одна инструкция и суть способа сводится к использованию Xming X Server для вывода GUI приложения. Хотя официально возможность работы с такими приложениями Майкрософт не заявлена.

Как было написано выше, я не тот человек, который может в полной степени оценить ценность и функциональность нововведения, но вижу как минимум одно применение для себя: различные курсы Udacity, edX и другие, связанные с разработкой проходить будет куда проще, работая с необходимыми инструментами прямо в bash (а в этих курсах обычно демонстрируется работа именно в терминале MacOS и Linux bash).

А вдруг и это будет интересно:

Почему бы не подписаться?

Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)

09.08.2016 в 08:56

Позавчера установил российский дистрибутив Линукса — ROSA Desktop Fresh R8, свежайший релиз. ВСЁ «искаропки». Это лучший дистрибутив Линукса. Снёс Десятку 1607. И никогда не вернусь.

09.08.2016 в 11:43

Да, после 29 июля народ побежал с Win 10 на семерку и Линукс. Десятка меня устраивала, но со временем возникло неприятное ощущение, что в компе хозяйничают посторонние. За информацию о дистрибутиве спасибо.

17.06.2018 в 19:54

Никогда не говори никогда!. Win10 лучшее решение Microsoft на базе ядра Linux. Удивлен? )
У тебя получилось так: уйду с Linux чтобы прийти к Linux и никогда не вернусь к Linux ) . Да win10 не Linux. Но как называть ОС на базе Linux . )
Или все таки ядра Linux не так хороши . ) По ходу чувак ты не в теме )

09.08.2016 в 23:48

Это слишком сложно. А можете описать, как поставить Линукс Убунту на вмртуальный бокс или стол? Спасибо!

10.08.2016 в 09:52

Здравствуйте. Да просто скачайте VirtualBox (с. оф. сайта) и образ ISO Ubuntu Linux. Там дальше все предельно понятно будет: создать виртуальную машину в VirtualBox, выбрать ISO, чтобы с него установилась система: все по-русски и с подсказками.

09.01.2017 в 17:27

Случилась такая беда, забыл пароль, как его сбросить? или как переустановить подсистему линукс для виндовс? после отката действий в обратном порядке и переустановке всего заново ничего не происходит.

10.01.2017 в 11:08

не знаю, сработает ли (не проверял, взял из предложенного гуглом):
1) командная строка (именно она, не bash) от администратора
2) lxrun /setdefaultuser другое_имя_пользователя
Вас запросят пароль для него (нового пользователя). А при следующем входе в bash вы уже будете под другим пользователем.
Также в качестве другое_имя_пользователя можно прописать root

11.02.2017 в 13:32

в CMD введи — lxrun /uninstall /full
сносит линь полностью. потом снова — bash
установка заново

Читайте также:  Активация ipad может занять несколько минут

26.02.2017 в 16:17

Ну наконец-то я теперь смогу установить свой любимый wine!

27.02.2017 в 11:49

Это шутка или я чего-то не допонимаю? Зачем может пригодиться Wine в Windows?

03.08.2018 в 10:44

Найс шутка, пожалуй запомню

05.03.2017 в 00:49

Не удаётся установить подсистему Linux для Windows. Windows 10 корпоративная.

C:WINDOWSsystem32>bash
— Бета-версия компонента —
Будет выполнена установка среды Ubuntu в Windows. Она предоставляется Canonical
и лицензирована в соответствии с условиями компании, с которыми можно ознакомиться здесь:
aka.ms/uowterms
Приложение, которое вы пытаетесь запустить, не поддерживается в этой версии Windows.

Подскажите в чем именно проблема, bash не доступна в корпоративной редакции Windows 10?

05.03.2017 в 09:16

Здравствуйте. Точно ответить не могу, но возможные варианты:
1) если LTSB, то там нету — так как bash пока в бета-версии.
2) требуется сборка не ниже 14316
Ну и на всякий случай: режим разработчика включили?

29.07.2017 в 22:54

Уважаемый Дмитрий! Не устану Вас благодарить за столь полезный сайт с прекрасным наполнением! Благодарю за Ваш труд и потраченное время, которые экономят время других!
P. S. (Удалить после прочтения). При беглом чтении статьи глаза увидели повторение слов («Для начала отмечу, что что автор не является специалистом по bash…).

30.07.2017 в 12:21

Спасибо за отзыв. Ошибку исправил, спасибо.

31.10.2017 в 12:51

Спасибо за статьи и вообще очень полезную информацию в одном месте!

P.S.
Только вот не понимаю что-то, статья (например эта) вышла 31.10.17, а время в комментариях аж за прошлый год есть

31.10.2017 в 18:04

Она обновлена 31.10.17, — дописано про то, как всё это теперь выглядит в Fall Creators Update. При этом я и дату обновляю (потому как если статья будет за 2015 год, а в ней «В Windows 10 Fall Creators Update….» — это тоже будет немного странно).

01.11.2017 в 09:24

спасибо за очень хороший сайт.

01.11.2017 в 11:20

Спасибо за отзыв.

04.11.2017 в 03:39

Дмитрий ,присоединяюсь к хвале и благодарности окружающих коментариев! Удивился ,что нельзя регистрироваться, подписался. Когда то мечтал о вселенной без логинов и паролей — так вот она — ваш сайт а ещё что бы язык был единый на планете для взаимопонимания (но это скоро в гугле)

может прочтёте мой вопрос — 1709 х64 монитор + телевизор = 2 экрана, оба 125 проц масштаба. Пользуюсь радиомышкой с дивана сенсорной клавиатурой. НО она на телике малюсенькая, а на мониторе застилает пол экрана. А мне надо ровно наоборот. То есть возможность видно есть, но она перепутана. Как их поменять местами?

А ещё появилась иконка микрофона-голос ввода, но как я не тыкался безуспешно.. а в гугл хроме пашет..

Добавлю что я уверенный пользователь, компы у меня от спектрума

У вас всё по делу,спасибо

04.11.2017 в 08:19

Здравствуйте.
Тут похоже, что у вас разрешение экрана малое, а телевизора — большое, вероятно, Full HD. Независимо поменять размер указателя мыши для экранов не получится, т.е. она в любом случае X на Y пикселей.
А вот насчет голосового ввода не понял… где именно у вас появилась такая иконка?

23.12.2017 в 15:00

Чем не угодила многим здесь Windows 10. Сбегать с нее на Linux это более чем странно. Куда ни глянь, везде программы под Windows, только в ней можно чувствовать себя, как рыба в воде. Ставлю периодически разные дистрибутивы Linux рядом с Windows 10, ковыряюсь, пытаюсь делать что-то. Но не имеет смысла все это. Linux для меня — это софт, который стоит освоить и научиться им пользоваться (интерес). Но операционная система должна сама быть домом для другого софта, а не сама быть проблемой. Вот только от безысходности можно на нее пересесть. Например, когда лицензии на Windows стоят больших денег, которых нет. Или железо не позволяет устанавливать Windows в принципе.

14.01.2018 в 02:13

Есть какой нибудь вариант запустить этот виндовый линух на win 10 ltsb
я попробовал и вот что пишет —
C:Usersuser>bash
— Бета-версия компонента —
Будет выполнена установка среды Ubuntu в Windows. Она предоставляется Canonical
и лицензирована в соответствии с условиями компании, с которыми можно ознакомиться здесь:

Приложение, которое вы пытаетесь запустить, не поддерживается в этой версии Windows.

14.01.2018 в 10:36

Самому не на чем проверить, но судя по обсуждениям, найденным благодаря гуглу, вроде как не работает…

16.02.2018 в 16:44

Здравствуйте! Не подскажете почему ни в одном из приложений в windows store нет кнопки получить или купить? как это исправить?

17.02.2018 в 11:13

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

18.04.2018 в 16:13

Добрый день, пытаюсь поставить баш, и не выходит. Нажимаю галку в компонентах, комп перезагружается и ничего, галка со своего места исчезает. Режим разработчика типа включается в «Системе» но не скачивается как компонент, включил его в политике, в реестре записи есть. Такая же история. Попробовал включить через powershell — получил ошибку
Enable-WindowsOptionalFeature : Не удается прочитать параметр реестра.
Подскажите пожалуйста решение, кроме сноса винды)

19.04.2018 в 07:39

Здравствуйте. Странно конечно. Но: а после установки галки в компонентах и перезагрузки удается из магазина скачать Ubuntu (ну или иной дистрибутив)? Если да, то что происходит после его запуска?

Недавно мы говорили о том, как выполнять различные Linux утилиты в Windows. Но для Windows 10 это, похоже, уже неактуально. С последним обновлением в Windows 10 появилась нативная поддержка оболочки Bash, в окружении дистрибутива Ubuntu благодаря новой Linux подсистеме в Windows 10. Ну кто бы мог подумать, что появится возможность работать в родной Bash под Windows.

Bash в Windows 10

В начале цикла разработки Windows 10, Microsoft открыла страницу обсуждения и голосования за новые функции. Там зашел разговор о командной строке Windows. Разработчики спросили сообщество, что им не нравится в командной строке Windows и какие функции они хотели бы увидеть в новой версии.

Многие пользователи заявили что им нужны небольшие улучшения командной строки, другие же сказали что неплохо было бы иметь возможность использовать инструменты Linux / Unix в Bash Windows 10. Много пользователей согласились с тем, что нужно сделать проще использование этих инструментов в Windows.

Прислушиваясь к голосу сообщества, Microsoft первым делом улучшила CMD, PowerShell и другие инструменты командной строки. А во-вторых, Microsoft сделала, то что казалось невероятным несколько лет назад, они добавили реальный, нативный Bash вместе с поддержкой всех необходимых инструментов командной строки, работающих непосредственно на Windows, в среде, которая ведет себя как Linux. Это не какая-нибудь виртуальная машина, это реальный Linux в Windows.

Для реализации этого Microsoft построили новую инфраструктуру в Windows, это Windows Subsystem for Linux или WSL, на основе которой работает образ окружения Ubuntu, поставляемый партнером Canonical. Эта функция позволит разработчикам более эффективно использовать инструменты Linux. Инфраструктура основана на уже заброшенном проекте, Project Astoria, который должен был использоваться для запуска Android-приложений в Windows. Ее можно расценивать как противоположность Wine, только Wine запускает приложения Windows в Linux, подсистема Linux позволяет выполнять приложения Linux в Windows, точнее, только консольные приложения Bash в Windows 10.

Читайте также:  Oracle целое от деления

С технической точки зрения, это вообще не Линукс. Каждая система GNU Linux должна быть основана на ядре Linux, здесь же просто есть возможность выполнять двоичные файлы, которые работают в Ubuntu.

Но запуск Bash в Windows 10 имеет некоторые ограничения, вы не сможете выполнять здесь серверное программное обеспечение, проще говоря сервисы, а также недоступны графические программы. Решение предназначено для разработчиков, которые хотят запускать linux-утилиты из командной строки Windows. Да, эти команды имеют доступ к файловой системе Windows, но вы не можете использовать их для автоматизации своих задач или в стандартной командной строке Windows. Также заметьте, что возможно не все приложения командной строки будут работать, потому что эта функция еще находится на стадии тестирования. Дальше будет рассмотрено как включить Bash в Windows 10.

Установка Bash в Windows 10

Вы можете запустить Bash в Windows 10 начиная с версии Windows 10 Insider Preview 14316. Именно в этой сборке была использована впервые подсистема Linux в Windows. Надо заметить, что эта возможность работает только с 64-битной версией Windows.

Если вы уверенны что используете правильную версию системы, откройте настройки системы, затем обновление и безопасность, а потом для разработчиков:

Здесь нужно поставить переключатель в положение режим разработчика.

Установка bash в Windows 10 на втором этапе, настроем саму подсистему Linux. Откройте панель управления, выберите пункт Программы, и откройте Включение и отключение компонентов Windows. Затем активируйте “Windows Subsystem for Linux (Beta)” и нажмите ОК:

Чтобы запустить Bash в Windows 10 откройте Пуск, наберите в поиске Bash и нажмите Enter:

При первом запуске программа предложит принять условия использования программного обеспечения, а затем загрузит приложение Ubuntu из магазина Windows:

Использование и запуск Bash в Windows 10

Установка Bash в windows 10 завершена. Теперь у вас есть полноценная командная строка Ubuntu в Windows с оболочкой Bash. Поскольку используются одни и те же двоичные файлы, вы можете устанавливать программное обеспечение с помощью Apt-get из репозиториев Ubuntu.

Можно установить любое приложение, но не все будут работать, особенно в Beta версии.

Чтобы запустить Bash в Windows 10 просто откройте меню пуск и наберите Bash или Ubuntu в поиске. После этого вы увидите приложение Bash on Ubuntu on Windows. Вы можете сделать ярлык этого приложения в меню Пуск, на рабочем столе или панели задач.

Уже можно использовать Bash под Windows. Если вы раньше уже пользовались Bash в Linux или MacOS, то будете чувствовать себя здесь как дома. Здесь не нужно использовать команду sudo, поскольку у оболочки уже есть права администратора. Ваша файловая система Windows доступна в /mnt/c.

Для управления и перемещения по каталогам используйте те же команды что и в Windows. Если вы привыкли к стандартной оболочке Windows, то вот несколько аналогов команд Linux для команд DOS:

  • Изменить текущий каталог — cd, в DOS — chdir
  • Посмотреть содержимое каталога — ls, в DOS — dir
  • Переместить или переименовать файл — mv, в DOS — move или rename
  • Копирование файла — cp, в DOS — copy
  • Удаление файла — rm, в DOS — del или erase
  • Создать директорию — mkdir, в DOS — mkdir
  • Открыть файл для редактирования — vi или nano, в DOS — edit

Важно также понимать, что в отличии от WIndows, оболочка Bash и ее окружение чувствительны к регистру. Другими словами, file.txt и File.txt, это совсем разные файлы.

Для установки и обновления программ необходимо использовать команду apt-get. Вот небольшой список ее параметров:

  • apt-get update — скачать списки программного обеспечения из репозиториев
  • apt-get install пакет — установить пакет
  • apt-cache search слово — поиск пакета по слову
  • apt-get upgrade — загрузка и установка последних обновлений

После того как вы скачали и установили приложение, вы можете ввести его имя в командной строке и нажать Enter, для его запуска.

Не забудьте, что устанавливаемые в этой оболочке программы, ограничиваются по области действия оболочкой. Вы не можете получить доступ к ним из обычной командной строки PowerShell, CMD или в любом другом месте Windows. Также Bash под Windows не может напрямую взаимодействовать с исполняемыми файлами Windows, хотя обе среды имеют доступ к одним и тем же файлам на компьютере.

Ода bash-терминалу в Windows Subsystem for Linux

Статья о настройке функциональности и внешнего вида bash-терминала Windows Subsystem for Linux (WSL) в Windows 10.

Введение

Я постоянно использую терминал для работы с git и автоматизации сборки проектов (вёрстка/фронтенд: компиляция pug и scss, обработка изображений, транспиляция js…). На моём рабочем компьютере стоит Windows 10, а на ноутбуке — OSX и мне хочется использовать одни и те же консольные команды на обеих системах, поэтому я использовал GitBash (терминал, устанавливающийся вместе с Git) внутри эмулятора (Cmder). Такая связка работала заметно медленнее терминала на OSX, поэтому я был воодушевлён новостью «В Windows 10 встроили подсистему Linux» (март 2016 г.), но тогда, в 2016 году, её использование разочаровало: нельзя было запускать из bash-терминала программы Windows, подсистема не определяла изменение файла, если изменение было сделано из Windows. Сейчас эти проблемы решены.

Спойлер

Главный выигрыш для меня — скорость. В моём стартовом репозитории есть трудоёмкая задача полной сборки проекта (компиляция, транспиляция, спрайты, шрифты, картинки…), с Gitbash она занимает 17 секунд, с bash-терминалом WSL — 10 секунд.

Упоминаемые в статье файлы

Установка Windows Subsystem for Linux (WSL)

В сети полно статей с инструкциями (по большей части, устаревших). Пользуйтесь официальной инструкцией с docs.microsoft.com и всё получится. Я установил Ubuntu, т.к. имею небольшой опыт ее использования.

После успешной установки можно запустить терминал подсистемы Linux командой bash в cmd.exe (или PowerShell) или кликом по иконке в меню «Пуск».

Основы использования терминала Ubuntu в Windows 10

Это подсистема внутри Windows, чтобы использовать nodeJS и git, нужно поставить их в подсистему (даже если они уже установлены в Windows). Я выбрал вариант с Ubuntu, поэтому при установке nodejs пользовался этой инструкцией, а git установил командой sudo apt-get install git (не забудьте указать git-у своё имя пользователя и email).

Можно запускать приложения Windows. Попробуйте notepad.exe — запустится Windows-блокнот.

Диски Windows расположены в /mnt/ . Попробуйте cd /mnt/c/ && ls для перехода к диску С:/ и вывода его корневых директорий (по умолчанию вывод выглядит уныло, но это настраивается).

Директория пользователя расположена в

Читайте также:  Play market ошибка сервера что делать

для переходя в неё). Просто напоминаю.

В Linux-системах заглавные и строчные символы — разные символы. При использовании автодополнения ( Tab ) важно вводить символы в правильном регистре.

Директория пользователя подсистемы Linux физически у меня расположилась по довольно длинному пути (см. ниже). Сегмент nicothin — имя пользователя системы (как в начале пути (Windows), так и в конце (Ubuntu)).

Если редактировать файлы Linux-подсистемы из Windows, то Linux в некоторых случаях не сможет получить к ним доступ (не хватит прав). После такого редактирования нужно в bash-терминале подсистемы выполнить что-то вроде chmod 777

/.bashrc — редактированный из Windows файл) и перезапустить терминал. Или можно использовать команду source

/.bashrc (укажите редактированный файл) для применения внесённых изменений.

Как запускать Sublime Text из консоли Ubuntu

Если используете Sublime Text, добавьте путь к subl.exe в PATH в Windows, чтобы по команде в терминале subl.exe запускался Sublime Text:

  1. В проводнике сделайте правый клик на Этот компьютер, выберите Свойства, потом Дополнительные параметры системы.
  2. На вкладке Дополнительно нажмите кнопку Переменные среды.
  3. Сделайте двойной клик по Path для перехода к её редактированию.
  4. Нажмите кнопку Создать и добавьте путь к subl.exe.
    В моем случае это c:Program FilesSublime Text 3 .
  5. Перезапустите терминал.

Вконтакте ВКонтакте вконтакте вконтактов

Настройка консоли Ubuntu

Цвета

Увы, сразу после установки консоль (особенно вывод команды ls ) выглядит «бородато» и «носит свитер».

Можно добавить файл с настройками цветового оформления ( touch

/.dircolors для создания файла) с этим содержимым.

Содержимое удобно добавлять из Windows, но тогда после сохранения файла в bash-терминале выполните chmod 777

/.dircolors и перезапустите терминал.

Переход к нужной директории при старте

Если при запуске терминала хочется попадать в директорию проектов, можно вписать в самом верху

/.bashrc команду cd /mnt/d/projects/ (укажите путь к нужной директории).

Алиасы

Добавим файл ( touch

/.bash_aliases ) c этим содержимым и перезапустим bash-терминал.

Теперь по команде subl . откроется Sublime Text (текущая папка будет показана как проект), а по команде наподобие subl filename.txt можно быстро открывать файлы.

Странная проблема с алиасами

Я настраивал bash-терминал на двух домашних компьютерах с Windows 10 и на одном из них после добавления файла терминал при рестарте выводил 4 сообщения : command not found . Из-за чего — я так и не понял (права доступа были и владелец файла — я), но нашел строки в

/.bashrc , которые к этому приводили. Это было подключение файла с алиасами:

Решил проблему, закомментировав эти строки и вписав алиасы прямо в

/.bashrc (в самом низу).

Показ git-ветки в командной строке

Шаг 1: добавим в начале

/.bashrc функцию для показа ветки:

Шаг 2: определим переменную, отвечающую за приглашение командной строки, добавим в неё показ результата работы этой функции (см. .bashrc ). Получится что-то вроде:

Мелкие улучшения

Есть довольно много действий в bash-терминале, на которые Windows 10 отреагирует звуковым сигналом (нажатие Backspace , когда уже нечего стирать, например). Чтобы это отключить, создайте

/.inputrc со строкой set bell-style none .

Vim по умолчанию показывает довольно тёмный текст, что на тёмном фоне смотрится плохо. Можно создать

/.vimrc со строкой set background=dark , чтобы текст стал более читаемым.

Замеченные баги

Работать с буфером обмена по умолчанию не комфортно ( Ctrl + V , Shift + Insert не работают, приходится кликать (. ) ПКМ по заголовку окна и выбирать ИзменитьВставить). Решается использованием терминала не самостоятельно, а внутри Cmder.

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

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

/.bash_history — активный пользователь и сохранение истории включено). Не критично.

Не работают инструменты копирования в буфер. К примеру, при настройке SSH для github.com, есть инструкция для Linux:

Но её невозможно выполнить, т.к. xclip работать не будет. Решается использованием виндовской утилиты: clip.exe

После загрузки Windows иногда (было всего дважды) отказывается работать. Помогает перезагрузка (это же Windows).

Брандмауэр Windows по умолчанию не даёт зайти на запущенный внутри WSL сервер при запросе с другого устройства (запускаем сервер разработки на рабочем компе, открываем его страницы с телефона, находящегося в той же локальной сети). Как это лечить — не разобрался, приходится временно отключать брандмауэр.

Как заходить на сервер, запущенный в WSL, со сторонних устройств в одной локальной сети

Я пишу много html-страниц. В процессе работы у меня запущен локальный сервер, собирающий разметку, стили, javascript, спрайты и т.п. Бывает удобно запустить на основном компьютере сервер и зайти на него с помощью ноутбука, телефона, планшета (сервер доступен по IP, наподобие http://192.168.1.207:8080). Однако, встроенный в Windows 10 фаервол по умолчанию блокирует такие соединения.

Чтобы попасть на такой сервер, нужно добавить правило для брандмауэра:

  1. Найти с помощью поиска «Брандмауэр защитника Windows», открыть, нажать слева «Дополнительные параметры».
  2. В открывшемся окне Монитора брандмауэра выбрать (слева) «Правила для входящих…», нажать «Создать правило» (справа).
  3. Выбрать «Для порта», нажать «Далее».
  4. Выбрать «Определенные локальные порты», ввести номер порта (мой локальный сервер работает на порту 8080, его я и ввёл), нажать «Далее».
  5. Выбрать «Разрешить подключение», нажать «Далее», выбрать профили (я выбрал все), «Далее».
  6. Ввести какое-либо имя, нажать «Готово».

После этого получится зайти с любого устройства (в одной локальной сети) на запущенный в WSL на рабочем компьютере сервер.

Комфортное использование с Cmder

Для более тонкой настройки внешнего вида и комфортной работы с буфером обмена (привычное сочетание Ctrl + V для вставки) удобно использовать bash-терминал подсистемы Linux внутри cmder (эмулятор терминала, внутри которого можно запустить один из установленных в Windows терминалов). Для этого нужно добавить возможность старта WSL-консоли в настройках Cmder:

  1. Правый клик по иконке бургера в нижнем правом углу для перехода к настройкам.
  2. В разделе Startup выбрать радиокнопку Auto save/restore opened tabs, чтобы при рестарте не создавать вкладки заново.
  3. В разделе Startup, подразделе Tasks проверить наличие задачи WSL::bash. Если её нет, нажать кнопку Add/refresh default tasks… и согласиться на добавление задач.
  4. В списке задач появится пункт WSL::bash, при создании новой вкладки терминала нужно выбрать его.

Если в списке задач есть пункт WSL::bash, но WSL не запускается при его выборе (в момент создания новой вкладки Cmder), то в настройках можно попробовать нажать Add/refresh default tasks… и согласиться на обновление списка задач (см. п. 3). Если и после этого не получается запустить терминал подсистемы (Cmder сообщает о проблеме и пишет, что по нажатию Enter закроет вкладку), то можно добавить свою собственную задачу, которая будет запускать cmd.exe и сразу вызывать в ней команду bash . Команда запуска терминала будет выглядеть так:

Вместо заключения

Я скачал и установил в систему шрифт Ubuntu Mono для большей аутентичности внешнего вида терминала.

Ссылка на основную публикацию
Adblock detector