В этой статье вы узнаете, как использовать подсистему Windows для Linux 2 для настройки и запуска локального интерфейса оболочки Linux в Windows без использования виртуальной машины. Это не похоже на использование терминалов, таких как Git Bash или cmder , для которых в $ PATH добавлено подмножество инструментов UNIX. Это на самом деле похоже на запуск полного ядра Linux в Windows, которое может запускать собственные приложения Linux. Это довольно круто, не правда ли?
Если вы опытный разработчик, вы уже знаете, что Linux — лучшая платформа для построения и запуска серверных решений с использованием технологий с открытым исходным кодом. Хотя можно запустить то же самое на Windows, опыт не так велик. Большинство компаний облачного хостинга предлагают Linux клиентам для запуска своих серверных решений в стабильной среде. Чтобы программное обеспечение работало на сервере точно так же, как и на локальном компьютере разработчика, вам необходимо использовать идентичные платформы. В противном случае вы можете столкнуться с проблемами конфигурации.
При работе с технологиями с открытым исходным кодом для создания проекта вы можете столкнуться с зависимостью, которая отлично работает в Linux, но не полностью поддерживается в Windows. В результате вам потребуется выполнить одну из следующих задач, чтобы внести свой вклад в проект:
- Двойная загрузка Windows и Linux (переключитесь на Linux для добавления кода)
- Запустите виртуальную машину Linux, используя платформу, такую как Vagrant, VirtualBox, VMWare и т. Д.
- Запустите приложение проекта внутри контейнера Docker
Всем вышеперечисленным решениям требуется несколько минут с момента запуска для запуска полноценного интерфейса Linux. В новой подсистеме Windows для Linux версии 2 (WSL2) доступ к полной оболочке Linux занимает не более секунды. Это означает, что теперь вы можете работать над проектами на базе Linux внутри Windows с высокой скоростью. Давайте посмотрим, как мы можем установить один на локальной машине.
Установка Ubuntu в Windows
Во-первых, вам нужно будет использовать последнюю версию Windows. В моем случае это сборка 1903 года. Как только вы подтвердите это, вам нужно активировать функцию Windows Subsystem for Linux
. Просто зайдите в Панель управления -> Программы -> Включить или отключить функцию Windows . Найдите «Подсистема Windows для Linux» и установите флажок. Дайте Windows одну или две минуты, чтобы активировать функцию. Как только это будет сделано, нажмите кнопку перезагрузки машины, которая появится рядом.
Далее перейдите в Windows Store и установите Ubuntu. Первый вариант Ubuntu установит последние версии. Другие параметры Ubuntu позволяют установить более старую поддерживаемую версию.
После завершения установки вам нужно будет запустить его из меню. Поскольку это первый раз, вам нужно подождать, пока образ Ubuntu будет загружен и установлен на вашем компьютере. Это разовый шаг. При следующем запуске вы сразу получите доступ к оболочке Linux.
После завершения установки образа вам будет предложено создать новую учетную запись пользователя root в этой оболочке:
После того, как вы создали свои учетные данные, не стесняйтесь вводить любую команду Linux, чтобы подтвердить, что вы действительно получаете доступ к собственной оболочке Linux:
Вам будет приятно отметить, что git
, python3
, ssh
, vim
, nano
, curl
, wget
и многие другие популярные инструменты доступны из коробки. В следующем разделе мы будем использовать команду sudo apt-get
для установки большего количества фреймворков. Во-первых, давайте рассмотрим несколько способов получения доступа к этому новому интерфейсу терминала оболочки Linux. Вероятно, это хорошая идея для обновления установленных пакетов:
$ sudo apt-get update && sudo ap-get upgrade
Доступ к интерфейсу оболочки Linux
Существует несколько интересных способов доступа к интерфейсу оболочки Linux.
-
Зайдите в Пуск меню Windows > введите «Ubuntu». Вы можете прикрепить его к началу для быстрого доступа
-
Откройте командную строку или Windows PowerShell и выполните команду
bash
-
В проводнике Windows SHIFT + щелкните правой кнопкой мыши папку, чтобы открыть специальное контекстное меню. Нажмите Открыть оболочку Linux здесь .
-
В проводнике Windows перейдите в любую
wsl
папку, затем в адресной строке введитеwsl
и нажмите клавишу ввода . -
В Visual Studio Code измените терминал по умолчанию на
wsl
.
Если вы столкнетесь с новыми способами, пожалуйста, дайте мне знать. Давайте настроим Node.js в следующем разделе.
Установка Node.js
Лучший способ установить и настроить Node.js — через nvm . Внутри оболочки Linux выполните следующие команды:
$ sudo apt-get install build-essential $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash $ nvm install --lts
Приведенные выше команды должны установить самую последнюю версию LTS Node.js. Если вы столкнулись с проблемой при выполнении команды nvm
, добавьте следующую строку в файл .bashrc
:
source ~/.nvm/nvm.sh
Вам нужно будет перезапустить оболочку Linux или просто выполнить команду source ~/.bashrc
прежде чем пытаться выполнить команду nvm. После завершения установки Node.js попробуйте установить пакет npm глобально, чтобы убедиться, что он работает.
Вы также можете перейти к существующему проекту Node.js на диске Windows и попробовать запустить его, чтобы убедиться, что он работает. Очень интересная особенность подсистемы Windows для Linux заключается в том, что вы все еще используете localhost
при запуске веб-приложений. Node.js прекрасно работает в Windows. Следовательно, это не такая большая выгода для подсистемы Windows для пользователей Linux. Где он действительно сияет, так это в открытых серверных средах, таких как Django, Ruby on Rails и Lamp Stack. Настройка их в Windows иногда может быть сложной задачей. Для некоторых проектов это может быть невозможно из-за отсутствия поддержки Windows для некоторых библиотек с открытым исходным кодом. С WSL2 это больше не проблема. В следующем разделе мы установим стек LAMP в Windows, который, как мне кажется, легче установить и настроить, чем стек WAMP.
Установка LAMP на Windows
Внутри оболочки Linux введите следующую команду для установки Apache2
, MySQL
и PHP
. Это значительная загрузка, поэтому дайте ей немного времени для завершения:
$ sudo apt-get install lamp-server^
Далее, давайте запустим и настроим нашу базу данных MySQL:
# Start the MySQL service $ sudo service mysql start # Define password for root@localhost $ sudo mysql mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; exit
Вы также можете использовать CTRL + D для выхода из оболочки MySQL. Далее давайте настроим и запустим веб-сервер Apache. Используя vim
, nano
или ваш любимый текстовый редактор, добавьте следующие две строки в /etc/apache2/apache2.conf
:
Servername localhost AcceptFilter http none
Запустите веб-сервер Apache с помощью команды sudo service apache2 start
. Перейдите по http://localhost
чтобы подтвердить, что Apache успешно запущен:
Далее давайте установим PhpMyAdmin
:
$ sudo apt-get install phpmyadmin
Добавьте следующую строку в /etc/apache2/apache2.conf
:
Include /etc/phpmyadmin/apache.conf
Перезагрузите веб-сервер Apache, чтобы новая конфигурация вступила в силу:
$ sudo service apache2 reload
Чтобы подтвердить, что phpmyadmin
был успешно настроен, перейдите по URL-адресу http://localhost/phpmyadmin
. Введите учетные данные пользователя MySQL, которые вы установили ранее. (Обратите внимание, что имя пользователя root
). Вы должны иметь похожий вид:
Вот как просто настроить LAMP на Windows. Это должно быть достаточной демонстрацией того, что вы можете удобно настроить среду разработки Linux на Windows. В следующем разделе мы кратко рассмотрим новый терминал Windows, который разрабатывает Microsoft.
Терминал Windows
Windows Terminal — это проект Microsoft с открытым исходным кодом, целью которого является предоставление функций, запрашиваемых сообществом, таких как:
- богатый текст
- глобализация
- поддержка вкладок
- тематика и стиль
- и много других …
Реализация этих функций в существующем консольном интерфейсе была невозможна без нарушения совместимости со старыми консольными приложениями. Поэтому был создан проект Windows Terminal, который позволил разработчикам радикально изменить архитектуру, не беспокоясь об обратной совместимости. Проект все еще находится в стадии разработки, поэтому ожидайте увидеть больше функций, выпущенных в будущем. Давайте посмотрим, как мы можем установить и настроить новый терминал Windows.
Установка и обновление
Перед установкой Windows Terminal убедитесь, что на вашем компьютере установлена последняя версия Windows 10. В противном случае установка завершится неудачно со старыми сборками. В настоящее время существует два способа установки Windows Terminal. Первый способ через Microsoft Store:
Второй метод — использование инструмента Chocolatey , который похож на npm
для приложений Windows. После того, как вы установите Chocolatey на своем компьютере, вы можете установить Windows Terminal на свой компьютер через PowerShell следующим образом:
choco install microsoft-windows-terminal
Вы должны ожидать аналогичного выхода. В моем случае я обновлял:
После завершения установки вы можете запустить его из меню «Пуск». Терминал по умолчанию, который вы найдете, — это PowerShell. Каждый раз, когда вы нажимаете знак + , новая вкладка будет создаваться с использованием терминала по умолчанию. Используя выпадающее меню, вы можете выбрать другой тип терминала.
Если щелкнуть « Настройки» , откроется редактор по умолчанию для JSON. Для вас это может быть NotePad, NotePad ++, VS Code или любой другой редактор. Я предпочитаю VS Code или что-то подобное, потому что он автоматически закрывает теги JSON при наборе текста. Если вы посмотрите внимательно, вы заметите разделы для:
- Globals — глобальные настройки: например, профиль по умолчанию, настройки вкладок, размер терминала и т. Д.
- Сочетания клавиш — горячие клавиши
- Профили — запуск терминала: например, PowerShell, командная строка
- Схемы — цветовые схемы
Как вы можете видеть, очень легко понять и настроить параметры в формате JSON. Один быстрый совет, который я хотел бы показать, предназначен для таких пользователей, как я, которые установили более старую версию Windows Terminal. Некоторые из вас, вероятно, заметили, что некоторые профили отсутствуют на скриншоте выше. Несмотря на обновление приложения, настройки моего профиля остаются прежними. Чтобы быстро добавить отсутствующие настройки без необходимости вручную, все, что мне нужно сделать, это:
- Закройте приложение Windows Terminal полностью
- Удалить
profile.json
(находится в%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
) - Перезапустить приложение терминала
Кроме того, были добавлены новые сочетания клавиш, которые включают следующее:
{ "command" : "closePane", "keys" : [ "ctrl+shift+w" ] }, { "command" : "copy", "keys" : [ "ctrl+shift+c" ] }, { "command" : "duplicateTab", "keys" : [ "ctrl+shift+d" ] }, { "command" : "paste", "keys" : [ "ctrl+shift+v" ] },
Давайте теперь узнаем, как мы можем стилизовать наш терминал в следующем разделе.
Укладка консоли
Стилизация терминала обрабатывается в настройках под каждым профилем. Вы можете настроить каждый профиль, изменив любой из следующих атрибутов:
"acrylicOpacity" : 0.2, "useAcrylic" : true "colorScheme" : "One Half Dark", "cursorColor" : "#FFFFFF", "cursorShape" : "bar", "fontFace" : "Consolas", "fontSize" : 10, "padding" : "0, 0, 0, 0", "background":"#002B36", "backgroundImage": "<insert image path here>" "backgroundImageOpacity": 1, "backgroundImageStretchMode": "none"
Я считаю, что приведенные выше настройки говорят сами за себя, за исключением acrylic
. Это фоновый эффект, который делает фон терминала слегка прозрачным и размытым. acrylicOpacity
контролирует прозрачность. Чтобы иметь полностью непрозрачный фон, установите useAcrylic
в false
. Вы можете использовать GIF для backgroundImage
. Анимация будет воспроизводиться автоматически. Довольно круто, правда?
colorScheme
происходит из разделов schemes
. Те, которые приходят по умолчанию:
- Кэмпбелл
- Одна половина темная
- Одна половина света
- Соляризованная темнота
- Солнечный свет
Резюме
Давайте закончим это краткое введение в новый инструмент и платформу разработки Windows. Они все еще свежие из духовки, так что ожидайте ошибок — которые будут решены в ближайшем будущем. Дайте мне знать, если вы планируете перейти от разработки на основе виртуальной машины к разработке на подсистеме Windows для Linux 2.