No Image

Эмулятор bash для windows

СОДЕРЖАНИЕ
0 просмотров
10 марта 2020

Подсистема Windows для Linux (Windows Subsystem for Linux, WSL), впервые представленная в Windows 10 версии 1607, стала действительно стабильной функцией в Windows 10 (версия 1709). Теперь пользователи получают среду для тестирования Linux-приложений прямо внутри Windows, которая работает быстрее, чем в виртуальной машине.

Что нужно знать про оболочку Bash в Windows 10

Функция WSL на самом деле не является виртуальной машиной, контейнером или программным обеспечением Linux, скомпилированным для Windows. Windows 10 предлагает полноценную подсистему Windows 10, предназначенную для запуска программного обеспечения Linux. Подсистема основана на проекте Microsoft Astoria, который первоначально предназначался для запуска приложений Android в Windows.

WSL можно рассматривать как противоположность Wine. В то время как Wine позволяет вам запускать приложения Windows прямо в Linux, подсистема Windows для Linux позволяет запускать приложения Linux непосредственно в Windows.

При создании среды оболочки на базе Bash Ubuntu, Microsoft работала совместно с компанией Canonical. Оболочка работает поверх подсистемы и технически не является Linux. Linux является основным ядром операционной системы, которое недоступно в подсистеме. Вместо этого функция WSL позволяет запускать оболочку Bash и исполнять такие же бинарные файлы, которые работают в Ubuntu Linux. Многие сторонники открытого программного обеспечения считает, что операционную систем Linux правильно называть именно “GNU/Linux”, потому что на ядре Linux работает много программного обеспечения GNU. Оболочка Bash, которую вы получаете в Windows 10, как раз содержит утилиты GNU и другое программное обеспечение.

Хотя эта функция изначально называлась “Ubuntu Bash в Windows”, она также позволяет запускать Zsh и другие оболочки командной строки. Сейчас поддерживаются и другие дистрибутивы Linux. Вы можете выбрать openSUSE Leap или SUSE Enterprise Server вместо Ubuntu, поддержка Fedora скоро будет реализована.

При использовании оболочки имеются некоторые ограничения. По умолчанию фоновое серверное ПО и графические приложения Linux не поддерживаются. Кроме того, в данной среде работают не все приложения командной строки, потому что функция не идеальна.

Как установить Bash в Windows 10

Данная функция не работает в 32-разрядной версии Windows 10, поэтому убедитесь, что вы используете 64-разрядную версию.

Если вы используете 64-битную версию Windows, то для начала работы перейдите в Панель управления > Программы и компоненты > Включение и отключение компонентов Windows. Отметьте галочкой пункт Подсистема Windows для Linux и нажмите кнопку ОК.

Затем нажмите “Перезагрузить сейчас”, чтобы перезапустить компьютер и применить изменения. Функция не будет работать до перезагрузки.

Примечание: начиная с Windows 10 (версия 1709), чтобы использовать эту функцию вам больше не нужно включать режим разработчика в приложении Параметры. Вам просто нужно включить подсистему в окне “Компоненты Windows”.

После перезагрузки ПК откройте Магазин Microsoft и выполните поисковый запрос “Linux”. Откроется список доступных для установки приложений.

Примечание: начиная с Windows 10 (версия 1709), вы больше не сможете устанавливать Ubuntu, выполнив команду bash. Вместо этого вам нужно установить Ubuntu или другой дистрибутив Linux из Магазина Microsoft.

Итак, вы увидите список всех дистрибутивов Linux, доступных в Магазине Microsoft. Начиная с Windows 10 (версия 1709), в магазине предлагаются Ubuntu, openSUSE Leap, openSUSE Enterprise, Debian Linux, Arch Linux и Kali Linux.

Чтобы установить конкретный дистрибутив, выберите его и нажмите кнопку “Получить” или “Установить”. В результате запуститься обычная установка, как и в случае с другими приложениями из Магазина Microsoft.

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

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

Читайте также:  Ваш браузер не поддерживает воспроизведение видео

Как использовать оболочку Bash и устанавливать программное обеспечение Linux

После успешной установки вы получаете полноценную командную оболочку Bash на основе Ubuntu или другого выбранного дистрибутива Linux.

Поскольку в системах Linux используются одинаковые бинарные файлы, вы можете использовать команды Ubuntu apt или apt-get, чтобы установить программное обеспечение из репозитория Ubuntu. Просто используйте любую команду, которую вы обычно используете в этом дистрибутиве Linux. У вас будет доступ ко всему программному обеспечению командной строки Linux там, хотя некоторые приложения могут работать не идеально.

Чтобы открыть установленную среду Linux, просто откройте меню Пуск и выполните поиск любого дистрибутива, который вы установили. Например, если вы установили Ubuntu, запустите ярлык Ubuntu.

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

При первом запуске среды Linux вам будет предложено ввести имя пользователя и пароль UNIX. Они не должны совпадать с вашим именем пользователя и паролем Windows, и будут использоваться в среде Linux.

Например, если вы введете “comss” и “qwerty” в качестве своих учетных данных, ваше имя пользователя в среде Linux будет “comss”, а пароль, который вы используете в среде Linux, будет “qwerty”, независимо от имени пользователя и пароля Windows.

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

Если у вас установлен Ubuntu, вы также можете запустить команду ubuntu для ее запуска. Для OpenSUSE Leap 42 используйте opensuse-42. Для SUSE Linux Enterprise Server 12 используйте sles-12. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Microsoft.

Кроме того, вы можете запустить стандартную среду Linux, выполнив команду bash, но Microsoft заявляет, что данный метод устаревает. Это означает, что команда bash может перестать функционировать в будущем.

Если у вас есть опыт использования оболочки Bash в Linux, MacOS или на других платформах, вы будете чувствовать себя уверенно.

В Ubuntu нужно использовать префикс команд sudo чтобы запускать их с правами root. Пользователь “root” на платформах UNIX имеет полный доступ к системе, аналогично “Администратору” в Windows. Файловая система Windows расположена по пути в /mnt/c в среде оболочки Bash.

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

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

Важно помнить, что, в отличие от Windows, оболочка Bash и имитирующая ее Linux среда чувствительны к регистру. Другими словами, файл с названием “File.txt” отличается от файла с названием “file.txt”.

Для установки и обновления программного обеспечения среды Ubuntu нужно будет воспользоваться командой apt. Обязательно прикрепите эти команды к sudo, что заставляет их запускаться от пользователя root. Ниже представлены базовые команды apt-get, которые вам нужно знать:

  • Загрузить обновленную информацию о доступных пакетах: sudo apt update
  • Установить пакет приложения: sudo apt install packagename (замените packagename на название пакета)
  • Удалить пакет приложения: sudo apt remove packagename (замените packagename на название пакета)
  • Выполнить поиск доступных пакетов: sudo apt search word (замените word на ключевое слово в названии или описании пакета)
  • Загрузить и установить новейшие версии установленных пакетов: sudo apt upgrade

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

Примечание: Программное обеспечение, которое вы устанавливаете в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или из другого места в Windows, но только если вы запустите команду bash -c.

Дополнительно: установка родного шрифта Ubuntu

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

Читайте также:  Pga 989 материнская плата

Чтобы установить шрифт, сначала загрузите семейство шрифтов Ubuntu с веб-сайта Ubuntu. Откройте загруженный .zip-файл и найдите файл UbuntuMono-R.ttf. Это шрифт Ubuntu с фиксированный шириной, который используется только в терминале. Это единственный шрифт, который вам нужно установить.

Дважды щелкните файл UbuntuMono-R.ttf, и вы увидите предварительный просмотр шрифта. Нажмите “Установить”, чтобы установить шрифт в систему.

Чтобы моноширинный шрифт Ubuntu стал доступен в консоли, вам нужно добавить параметр в реестр Windows.

Запустите редактор реестра, используя сочетание Windows + R , введя запрос regedit и нажав Enter.

Перейдите по следующему пути:

Щелкните правой кнопкой мыши в правой панели и выберите Создать > Строковый параметр . Назовите новое значение 000. Дважды щелкните на строке “000”, которую вы создали, а затем введите Ubuntu Mono в качестве значения.

Затем запустите окно Ubuntu, щелкните правой кнопкой мыши строку заголовка и выберите команду “Свойства”. Перейдите на вкладку “Шрифт” и выберите “Ubuntu Mono” в списке шрифта.

Запустить bash скрипт из windows также просто как если бы вы использовали linux, необходимо всего лишь установить cygwin. Все используемые мной bash скрипты для администрирования железа прекрасно работаю под cygwin-ом.

Cygwin — бесплатный эмулятор командной строки Unix для Windows, используется для переноса программного обеспечения из UNIX в Windows, запуска скрипов bash, sh и т.п.

Установка cygwin.

1. Заходим на сайт программы — cygwin.com и закачиваем утилиту для установки setup.exe

2. Запускаем скачанную утилиту setup.exe и жмем далее.

3. Выбираем установку из интернета, жмем далее.

4. Выбираем папку для установки (по умолчанию C:cygwin), жмем далее.

5. Выбираем папку для загрузки установочных файлов (по умолчанию C:cygwin), жмем далее.

6. Выбираем тип соединения — прямое (Direct Connect) и жмем далее.

7. Выбераем сайт, с которого будут загружаться установочные файлы (я выбрал ftp://cygwin.uib.no), жмем далее.

8. Переходим к выбору устанавливаемых пакетов. Этот этап является наиболее важным, от него зависит работа запускаемых вами скриптов. Я при первой установке не выбрал пакет inetutils (в него входит утилита telnet), из-за чего написанный мной скрипт, использующий telnet, не работал. Тщательно изучите список предлагаемых пакетов и выберите необходимые вам. Я устанавливал из категории Net пакеты inetutils, openssh, openssl, ping, iperf, tftp, proftpd, а из раздела Utils пакеты utils-linux, mc, bzip2, ipcalc.

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

10. Запускаем ярлык Cygwin Terminal и работаем.

P.S. Для того, чтобы запустить bash скрипт, необходимо дать скрипту нужные права, используя команду:

namescript — название вашего скрипта вместе с расширением.

Вот и все. Теперь можно запускать bash скрипты из windows.

Итак, буквально через пару дней кончается 2017 год. Время рейтингов, подведения итогов и прочего стандартного булшита. Предлагаю в этот раз поговорить о самом насущном, о том, чем приходится пользоваться каждый день — о Терминалах. Что же у нас есть среди Terminal Emulator для Windows?

Изначально эта прекрасная операционная система шипится с двумя Терминалами — старым COMMAND.COM (стандартный вмеми известный cmd.exe), а также новым PowerShell.

Читайте также:  Помогу пересечь границу нелегально

Думаю, каждый, кто хоть немного работал за Windows, сможет назвать минусы и минусы этих терминальчиков. Это и практически полное отсутствие конфигурации, это и отсутствие многих фич, которые везде есть буквально из коробки (напимер, tab-ы, или статусный бар). Кроме того, тут нет таких важный вещей, как стандартный набор linux-тулзов (posix). Точнее так, часть tools есть, но они совсем не соответствуют стандарту, имеют своё уникальное поведение и набор принимаемых аргументов.

С точки зрения развития и общего UI/UX PowerShell, на самом деле, не так плох. Его действительно используют люди. Но это обычно это те, кто никогда не работал за Линуксами, и кто попросту привык к тем командам, которые тут есть. Anyway, этот терминал далёк от iTerm 2 — лучшего в мире терминалов.

Какие же есть альтернативы? На самом деле, в первую очередь нужно понять для себя, какую реализацию posix утилит мы хотим: либо это Cygwin (или аналог), либо это божественная Linux Subsystem, которая появилась в 2016 году в Десятке. Наверное, сейчас уже и выбор особо никакой не стоит. Если у вас Windows 10 — вы выбираете встроенную реализацию, иначе — Cygwin.

После выбора ядра Терминала, стоит посмотреть на визуальную реализацию. Наверное, можно сказать, что в 2017 году есть 3-4 достойных терминала. Это ConEmu, это Cmder, это Babun, и это Hyper™.

ConEmu

ConEmu — это, наверное, самая старая попытка реализовать внешний Терминал для Винды. В качестве реализации Linux-утилит классически используется Cygwin. Из плюсов можно отметить то, что это как-то работает. Есть все популярные фичи терминалов. Но… ConEmu не очень приятно пользоваться. При работе то и время замечаешь за собой, что пользуешься не «встроенной нативной программой», а чем-то на коленке написанным. Вечно присутствуют какие-то визуальные лаги и баги отображения текста в консоли. Я пытался использовать ConEmu лет 5 назад. Не смог.

Cmder

Cmder — это логическое развитие ConEmu. Командер базируется на Конему, но тут проделано много дополнительной работы. В частности, были полечены баги в отображение текста, улучшена световая схема, добавлены некоторые фичи. Сам я командером никогда не пользовался, но, по отзывам, этот терминал одназначно входит в двойку лучших. Кстати, Cmder может работать, как с тулами из Cygwin, так и с тулами из Linux Subsystem.

Hyper

Hyper — это то, чем я пользуюсь, когда работаю за Windows. Мне посоветовал этот терминал коллега. Сначала я был крайне недоверчев к консоли, которая написана на Электроне (javascript). Я думал, что это будет лагать просто, как не в себя. Отчасти так и было в первой версии редактора, когда Хайпер использовал hterm внутри себя. Но теперь, когда Hyper перешёл на xterm.js, всё стало просто замечательно.

Чем прекрасен этот терминал? Причин несколько. Во-первых, тут нет лагов (если говорить про ядро xterm.js). Во-вторых, у этой консоли изумительный дизайн (на сколько я не привередлив к этому, тут это просто цепляет). Кроме того, у данного Терминала бесконечное количество фич: в Хайпер встроена масса стандартных функций, но если и их вам будет мало, тут есть поддержка плагинов, которые активно разрабатываются сообществом.

Мой конфиг для Hyper

Пожалуй, покажу, как я использую этот Терминал. В конфиге нет ничего особенного. Просто увеличен размер шрифтов, увеличен размер терминала. Кроме того, Линуксовый bash используется в качестве Shell по умолчанию, а также подключена iTerm2 визуальная тема. Важно, что используется canary ветка, которая необходима для включения xterm.js.

А какой терминал используете вы? Будет интересно узнать, как выживают люди на Windows.

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector