Help — Linux in Windows


Содержание

WSL – запуск исполняемых файлов и конфигурирование подсистемы Windows для Linux (WSL) в Windows 10.

В современных версиях операционной системы Windows 10 имеется возможность использования подсистемы Windows для Linux (WSL — W indows S ubsystem for L inux), позволяющей легко и просто установить из Microsoft Store некоторые дистрибутивы Linux, в том числе Debian, Ubuntu, Kali, Suse. Подробности — Linux в среде Windows 10. При использовании WSL, пользователь получает не изолированную виртуальную машину с Linux, а интегрированную в Windows подсистему с возможностью выполнения утилит командной строки из обеих ОС, запуск программ одной ОС из среды другой и т.п. Кроме того, WSL предоставляет пользователю Windows 10 возможность использования нескольких дистрибутивов Linux одновременно.

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

Формат командной строки:

wsl.exe [Аргументы] [Параметры. ] [командная строка]

Параметры командной строки:

Аргументы для запуска двоичного кода Linux:

— Если командная строка не указана, то wsl.exe запускает стандартную оболочку bash дистрибутива Linux, используемого по умолчанию.

— —exec, -e — выполнение указанной командной строки без использования стандартной оболочки Linux.

— — — Передача оставшейся командной строки как есть.

—distribution, -d — Запуск указанного дистрибутива Linux. Параметр DistributionName должен принимать значение имени дистрибутива Linux, присвоенное ему в подсистеме WSL, например SLES-15 для SUSE Linux Enterprise Server 15. Список зарегистрированных в системе дистрибутивов можно получить с помощью команды wsl –list

—user, -u — Запуск от имени указанного пользователя.

Аргументы для управления подсистемой Windows для Linux:

—export — Экспорт дистрибутива DistributionName в TAR-файл FileName

—import — Импорт указанного TAR-файла в качестве нового дистрибутива DistributionName в каталоге InstallLocation

—list, -l [[—all] –running] — отобразить список дистрибутивов Linux, зарегистрированных в системе. При указании параметра —all отображается список всех дистрибутивов, включая те, которые сейчас устанавливаются или удаляются. При указании параметра —running отображается список выполняющихся на данный момент дистрибутивов.

-setdefault, -s — установить указанный дистрибутив в качестве дистрибутива по умолчанию.

—terminate, -t — прекратить выполнение указанного дистрибутива.

—unregister — отменить регистрацию (удалить) указанный дистрибутив.

—upgrade — дистрибутив переводится в формат файловой системы WslFs.

—help — отобразить справку по использованию wsl.exe.

Примеры использования WSL.EXE для запуска приложений.

wsl —help — отобразить подсказку по использованию wsl.exe.

wsl –h — то же, что и в предыдущем примере, но с использованием синтаксиса укороченных параметров.

wsl –list — отобразить список дистрибутивов Linux, зарегистрированных в системе. Пример отображаемой информации:

Распределения подсистемы Windows для Linux:

Ubuntu (по умолчанию)
kali-linux
SLES-15
Ubuntu-18.04

На сегодняшний день перевод сообщений утилиты wsl.exe на русский язык оставляет желать лучшего. Первым в списке зарегистрированных в Windows 10 дистрибутивов Linux отображается дистрибутив, установленный по умолчанию. Именно этот дистрибутив используется для запуска исполняемых файлов Linux, если явно не указано имя другого дистрибутива.

wsl.exe — если параметры командной строки не заданы, выполняется запуск дистрибутива Linux, установленного по умолчанию.

wsl -d Ubuntu — запустить дистрибутив Ubuntu . Для завершения работы в консоли Linux можно использовать команды logout или exit . После запуска дистрибутива отображается стандартный эмулятор терминала Linux с приглашением к вводу команд. Пользователю предоставляется стандартная оболочка bash.

wsl -e ls -l /etc — выполнить команду ls -l /etc для дистрибутива по умолчанию (отобразить содержимое каталога /etc в подробном формате).

wsl -d sles-15 -e ls -l /etc — то же, что и в предыдущем примере, но команда выполняется в среде дистрибутива sles-15

Для идентификации дистрибутива сценариями, можно использовать стандартную для WSL переменную окружения WSL_DISTRO_NAME .

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

wsl -e env — отобразить переменные окружения. В текущих версиях утилиты wsl.exe допускается форма командной строки без параметра -e :

Пример отображаемой информации о переменных окружения:

HOSTTYPE=x86_64
LANG=C.UTF-8
WSL_DISTRO_NAME=Ubuntu
USER=root
PWD=/mnt/c/WINDOWS/system32
HOME=/root
NAME=Win10
SHELL=/bin/bash
TERM=xterm-256color
SHLVL=1
LOGNAME=root
PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/mnt/c/WINDOWS/system32: /mnt/c/WINDOWS: /mnt/c/WINDOWS/System32/Wbem: /mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/: /mnt/c/WINDOWS/System32/OpenSSH/: /mnt/c/Users/User/AppData/Local/ Microsoft/WindowsApps
WSLENV=
_=/usr/bin/env

Как видим, текущий каталог, определяемый значением переменной PWD принимает значение, соответствующее текущему каталогу на момент запуска wsl.exe , в данном случае, C:\Windows\System32, что соответствует /mnt/c/WINDOWS/system32 в Linux.

Переменную WSLENV можно применить для совместного использования сценариями Windows и Linux.


Пути поиска исполняемых файлов включают в себя как каталоги файловой системы Windows, так и каталоги Linux.

wsl -d kali-linux -u root ifconfig — отобразить конфигурацию сетевых интерфейсов дистрибутива kali-linux от имени суперпользователя root .

Одновременное применение команд разных ОС с разными переменными окружения и различным синтаксисом может вызывать некоторые трудности, Например, нужно установить и сражу же запустить в среде WSL файловый менеджер Midnight Commander ( mc ). Напрашивается решение объединить установку и запуск в контейнер:

wsl apt-get install mc && mc

Но, интерпретатор команд Windows воспримет специальный символ & как предназначенный командной оболочке Windows и интерпретирует вводимую строку как 2 команды:

Wsl apt-get install mc — установить утилиту mc в среде Linux по умолчанию
mc — выполнить команду mc в среде Windows 10

Чтобы установленная программа mc выполнялась в среде Linux, она должна запускаться с помощью wsl.exe :

wsl apt-get install mc & wsl mc

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

wsl ping ya.ru — выполнение команды ping.ya.ru в среде дистрибутива Linux, установленного по умолчанию.

wsl –e /mnt/c/windows/system32/ping.exe ya.ru — выполнение команды ping.ya.ru в среде Windows 10.

Примеры использования WSL.EXE для администрирования дистрибутивов Linux.

wsl —export kali-linux D:\kali-linux.tar — экспорт дистрибутива kali-linux в TAR-файл D:\kali-linux.tar

wsl —import ubuntu2 D:\linux\ubuntu2 D:\ubuntu.tar — импорт указанного TAR-файла D:\ubuntu.tar в качестве нового дистрибутива ubuntu2 , размещаемого в каталоге D:\linux\ubuntu2. При стандартной установке дистрибутивы Linux устанавливаются в каталог «C:\Users\имя пользователя\Local Settings\Packages»
BR> wsl —list —all — отобразить список установленных дистрибутивов Linux, включая те, которые устанавливаются или удаляются в данный момент времени.

wsl —list –running — отобразить список выполняющихся в данный момент дистрибутивов.

wsl –setdefault ubuntu2 — установить дистрибутив ubuntu2 , в качестве дистрибутива по умолчанию.

wsl -t Ubuntu — завершить работу дистрибутива Ubuntu

wsl —unregister ubuntu — отменить регистрацию дистрибутива Ubuntu

wsl —upgrade Ubuntu — выполнить перевод дистрибутива Ubuntu в формат файловой системы WslFs .

Как включить Подсистему Windows для Linux?

1. Самый простой способ активации «Подсистемы Windows для Linux» (Windows Subsytem for Linux) — при помощи команды, выполненной в консоли PowerShell от имени администратора:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

1.1 Если консоль PowerShell вам по каким-то причинам недоступна, включить WSL можно при помощи графического интерфейса: Панель управления → Программы и компоненты → Включение и отключение компонентов Windows, установить галочку напротив пункта Подсистема Windows для Linux и применить изменения нажатием на кнопку ОК.

2. Для применения изменений потребуется перезагрузка компьютера. После перезагрузки останется только установить один из поддерживаемых дистрибутивов из Microsoft Store как любое другое приложение.

3. После установки дистрибутива останется только запустить его из меню «Пуск» или сразу из командной строки по имени.

Как работать с файлами Linux subsystem в Windows 10?

Есть задача — развернуть в Linux on Windows LEMP для тестирования сайта, редактирование кода при этом будет выполнятся средствами IDE в Windows.
Но есть некоторые проблемы с данной связкой, если изменять файлы через Linux систему — винда сразу видит изменения, но если в винде удалить/создать файл — этих изменений в Linux не видно.

Расскажите, как вы используете Linux subsystem в Windows 10, какие проблемы знаете в работе с «общей» файловой системой и как с ними жить.

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Общий взгляд на подсистему Windows для Linux

Общий взгляд на подсистему Windows для Linux

  • Автор: Уваров А.С.
  • 20.01.2020


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

Что такое подсистема Windows для Linux (Windows Subsystem for Linux, WSL)? Это не эмулятор и не виртуальная машина, а именно подсистема, основная задача которой — создать для разработчиков и тестеров привычное Linux окружение в среде Windows. Цели создать полноценную систему у разработчиков не стояло и не стоит, поэтому не следует рассматривать WSL как полноценную замену виртуальной машине, у WSL иные задачи.

Кроме предоставления пользователям Windows привычного Linux окружения разработчики WSL поставили во главу угла вопрос максимальной интеграции двух систем, чтобы вы могли без особых затруднений работать с вашими данными из любой среды. Собственно, с этим и связан ряд ограничений.

Прежде всего это коснулось файловой системы, для работы Linux подсистемы с диском используется дополнительный слой абстракции в виде Virtual File System (VFS), которая позволяет Linux работать с собственными файлами, расположенными на NTFS, и вообще вся инсталляция Linux представляет собой обычную папку, которую вы можете открыть через проводник, точно также в среде Linux вы можете перемещаться по файловой системе Windows.

Удобно? Да. Но ради этого пришлось отказаться от собственных инструментов Linux по работе с файловой системой и дисками, также вы не сможете использовать FUSE.

Второе ограничение связано с сетью, в Windows 10 1607 сетевая подсистема Linux в WSL не реализована, частично это исправлено в Windows 10 1703, но рассчитывать на полноценную работу с сетью не стоит, потому как сетевой стек Linux в WSL заменен еще одним слоем абстракции, позволяющим использовать для работы сетевые возможности Windows.

После прочтения этих строк многим может показаться, что Microsoft подсунула им какую-то урезанную версию Linux, но здесь следует остановиться и еще раз перечитать первые абзацы данной статьи: WSL — не виртуальная машина, это — подсистема.

В чем плюсы данного подхода? Во-первых — экономия ресурсов, запущенная виртуальная машина гарантированно потребляет нужный для работы ОС объем оперативной памяти, не оптимально расходует дисковое пространство, хотя бы потому что вам придется держать две копии рабочих файлов, на хосте и внутри виртуалки. Это может быть критично для слабых машин, например, для ноутбука, который, зато удобно брать с собой для демонстрации результата работы заказчику.

Во-вторых, простой совместный доступ к данным из обоих сред. Вы можете редактировать нужный файл в любимом редакторе под Windows и тут-же видеть результаты в работающем на Linux приложении.

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

Как установить подсистему Windows для Linux

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

Затем в классической Панели управления откройте оснастку Программы и компоненты — Включение и отключение компонентов Windows и установите компонент Подсистема Windows для Linux (бета-версия).

Теперь откройте командную строку и выполните команду:

затем ответьте на несколько простых вопросов.

Цукерберг рекомендует:  Json - функции работы с массивами json

Важно! Для успешной установки WSL вы должны осуществить вход в систему с учетной записью Microsoft.

На этом установка закончена и вас встречает командная строка Linux, можете начинать обживать систему. В этом плане WSL ничем не отличается от обычного Linux, в вашем распоряжении привычный пакетный менеджер и родные репозитории Ubuntu. В Windows 10 1607 это Ubuntu 14.04 LTS, а в выпуске 1703 — Ubuntu 16.04 LTS, которая также была доступна в инсайдерских версиях.

Подсистема установлена, это хорошо, самое время рассмотреть ее типичные применения.

Администрирование Linux-систем

Как известно, для удаленного администрирования Linux нет ничего лучше Linux. Если же ваша основная система Windows, то для работы с Linux серверами вам потребуется сразу несколько инструментов, как правило джентельменский набор составляют PuTTY и WinSCP, если вы используете аутентификацию по ключам, то к ним еще добавится Pageant. Это проверенные временем и эффективные инструменты, но постоянно переключаться между ними не совсем удобно.

Используя WSL, вы окунаетесь в родную среду и вам не нужно постоянно скакать между окнами. Тем более что SSH позволяет делать много интересных вещей. Например, удаленно выполнять команды и скрипты, получая результат на свой ПК. Допустим вы хотите скопировать с рабочего сервера свой конфиг Squid, чтобы разместить его на форуме. Нет ничего проще, выполните что-то вроде:

Первая часть команды соединяется по SSH с удаленным сервером example.com под учетной записью user и выводит в стандартный поток локальной системы содержимое squid.conf. Затем мы выбираем все строки, кроме комментариев, удаляем пустые, и выводим то, что осталось в файл на рабочем столе Windows-системы.

Как видим, WSL позволяет удобно соединить в единое пространство удаленную систему, локальный Linux и вашу Windows. Никаких преград больше нет, передавайте и обрабатывайте файлы не задумываясь где они находятся и откуда и куда их надо скопировать или переместить.

Также вы можете легко выполнять на удаленном сервере локальные скрипты, особенно если их размещение в удаленной системе нежелательно (потенциально небезопасны, содержат приватные данные и т.д.). Для этого выполните:

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

Разработка

Если вы занимаетесь разработкой на PHP, Python и т.п. языках, то вы можете отлаживать собственные проекты сразу в родной среде, продолжая при этом использовать привычные инструменты разработки. Достаточно разместить проект в контейнере WSL и одновременно работать с ним из Windows-приложений, так как все данные внутри WSL доступны через обычный проводник.

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

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

Чтобы создать git-репозиторий, скажем, проекта Visual Studio, достаточно перейти в в его каталог и инициализировать новый репозиторий:

Собственно, данная задача — одно из основных предназначений WSL — предоставить разработчикам удобную мультиплатформенную среду. Следует признать, что это у Microsoft получилось.

Сайтостроение

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

В качестве тестового сервера для такой работы обычно используется что-то вроде XAMMP/Денвер/Open Server и т.д. Нисколько не умаляя достоинств этих пакетов следует признать и их серьезные недостатки. Главный из которых — существенное отличие тестовой среды от производственной, что может породить проблемы при переносе проекта. Это могут быть как ошибки в путях, так и более серьезные проблемы, связанные с неправильным конфигурированием веб-сервера (например, через директивы htaccess), либо отсутствием каких-либо модулей.

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

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

Кроме того, вы можете использовать все богатство инструментов Linux для отладки вашего сайта, например, curl для работы c HTTP-запросами. Да, curl есть и под Windows, но в Linux мы легко можем передать результат по конвейеру и обработать его нужным нам образом. Довольно распространенной задачей при переходе на HTTPS является поиск небезопасного содержимого, обычно это картинки или скрипты подключенные в коде страницы по небезопасному протоколу, эту задачу легко решить, скомбинировав работу двух команд:

Как видим, для веб-разработчика WSL представляет не только удобную тестовую среду, но и является удобным инструментом по отладке, заменяя множество отдельных утилит и инструментов.

Работа с файлами и данными Windows


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

Многие задачи, которые в Windows требуют применения стороннего софта или написания пакетных файлов в Linux часто решаются в одну строку. Например, пакетное переименование по маске:

Приведенная выше команда переименует в текущей директории все файлы JPG с именем типа DSCN1023.JPG в файлы вида My_Photo1023.JPG. Другая распространенная задача — заменить пробелы в именах файлов на подчеркивание. Тоже очень просто:

Задача посложнее. Есть некая база в формате CSV, которая содержит ФИО, телефон и еще некоторую информацию, допустим нам надо отобрать из нее записи по каждому из мобильных операторов. Отлично, набираем в консоли:

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

Естественно, возможности подсистемы Windows для Linux не исчерпываются перечисленными примерами, мы привели лишь некоторые из них, чтобы вы могли лучше понять, для чего предназначена данная подсистема и что можно делать с ее помощью. Надеемся, что данный инструмент займет достойное место в вашей системе и поможет наиболее эффективно использовать все достоинства каждой из ОС.

Как начать работу с WSL в Windows 10

Подготовьте свою систему для WSL

У вас должна быть установлена последняя версия Windows 10 с установленным обновлением Fall Creator, скачать Windows 10 бесплатно. Затем проверьте, какая версия Windows 10 установлена в вашей системе, выполнив поиск в «О программе» в окне поиска в меню «Пуск». Вы должны использовать версию 1709 или последнюю версию WSL.

Если установлена более старая версия, вам нужно загрузить и установить обновление Windows Creator Update (FCU) Windows 10 с сайта Microsoft. Как только FCU установлен, перейдите в «Настройки обновления» (просто выполните поиск «обновлений» в окне поиска в меню «Пуск») и установите все доступные обновления.

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

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

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

Установка Linux в Windows

Существует множество способов установки Linux в Windows, но мы выберем самый простой способ. Откройте Windows Store и найдите Linux. Вы увидите следующий вариант:

Нажмите «Get the apps», и Windows Store предоставит вам три варианта: Ubuntu, openSUSE Leap 42 и SUSE Linux Enterprise Server. Вы можете установить все три дистрибутива бок о бок и одновременно запускать все три дистрибутива. Чтобы иметь возможность использовать SLE, вам нужна подписка.

В этом случае мы устанавливаем openSUSE Leap 42 и Ubuntu. Выберите желаемый дистрибутив и нажмите кнопку «Получить», чтобы установить его. После установки вы можете запустить openSUSE в Windows. Он может быть закреплен в меню «Пуск» для быстрого доступа.

Использование Linux в Windows

Когда вы запустите дистрибутив, он откроет оболочку Bash и установит дистрибутив. После установки вы можете начать использовать его. Просто. Просто имейте в виду, что в openSUSE нет пользователя и он работает как пользователь root, тогда как Ubuntu попросит вас создать пользователя. На Ubuntu вы можете выполнять административные задачи как пользователь sudo.

Вы можете легко создать пользователя на openSUSE:

Создайте новый пароль для пользователя. Например:

Вы можете переключиться с root на пользователя, выполнив команду su:

Для выполнения многих задач вам нужно использовать не root, например, использовать команды, такие как rsync, для перемещения файлов на вашем локальном компьютере.

Первое, что вам нужно сделать, это обновить дистрибутив. Для openSUSE:

Теперь у вас есть встроенная оболочка Linux Bash в Windows. Хотите ssh на своем сервере с Windows 10? Нет необходимости устанавливать puTTY или Cygwin. Просто откройте Bash и затем ssh на своем сервере. Очень просто.

Хотите rsync файлы на ваш сервер? Идем дальше и используем rsync. Он действительно превращает Windows в пригодную для использования машину для тех пользователей Windows, которые хотят использовать собственные Linux-инструменты на своих машинах без необходимости иметь дело с виртуальными машинами.

Где находится Fedora?

Возможно, вам будет интересно узнать о Fedora. К сожалению, Fedora пока недоступна в магазине. Мэтью Миллер, менеджер релиза Fedora, сказал в Twitter: «Мы работаем над решением некоторых нетехнических проблем. Боюсь, что сейчас у нас больше нет ничего.

Мы пока не знаем, каковы эти нетехнические проблемы. Когда некоторые пользователи спрашивали, почему команда WSL не может публиковать сами Fedora, в конце концов, это проект с открытым исходным кодом – Rich Turner, руководитель проекта в Microsoft ответил : «У нас есть политика не публиковать другие IP-адреса в магазине. Мы полагаем, что сообщество MUCH предпочитает видеть дистрибутив, опубликованный владельцем дистрибутива, или если он опубликован Microsoft или кем-либо еще, что не является авторитетным источником».

Таким образом, Microsoft не может просто продолжить публикацию Debian или Arch Linux в Windows Store. Брандмауэр находится в официальных сообществах, чтобы донести свои дистрибутивы до пользователей Windows 10.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как работать с Linux используя Windows

Инструкция по установке Ubuntu Linux внутри Windows с использованием различных технологий виртуализации.

Содержание

Если вы только начали свой путь разработчика и до сих используете операционную систему семейства Microsoft Windows, то уже наверняка столкнулись с ситуацией, когда ваш инструментарий отличается от того, что установлено у большинства людей из этой профессии. Чаще всего проблемы начинаются при работе в командной строке. Дело в том, что Windows не является POSIX-совместимой операционной системой, поэтому в ней отсутсвует базовый набор прикладных программ, который необходим для разработки.

Этот вопрос можно решить установкой какого-либо из многочисленных дистрибутивов Linux в качестве основной, либо альтернативной операционной системы. Для новичков есть способ проще и быстрее — технологии виртуализации. Об этом и поговорим.

Ubuntu из Microsoft Store

Если вы работаете на Windows версии 10 с архитектурой x64, то можно можно воспользоваться встроенным решением и установить слой совместимости (Windows Subsystem for Linux) на основе Ubuntu Linux через магазин приложений Microsoft Store.


Перед тем как начать, необходимо убедиться, что системные требования соответствуют рекомендованным. Для этого запустите приложение Microsoft Store, введите в графе поиска Ubuntu и перейдите по найденной ссылке. Если ранее Windows не обновлялся, то вероятней всего вы получите соответствующее указание сделать это до начала установки Ubuntu. Если всё OK, то нажимайте на кнопку «Получить» и через несколько минут (в зависимости от скорости интернет соединения) вы получите сигнал об успешной установке приложения.

Первый запуск может вызвать ошибку Error: 0x8007007e и предложение прочитать инструкцию по её решению https://aka.ms/wslinstall. Если хотите сэкономить время, то просто запустите PowerShell (не путать с cmd ) от имени администратора и выполните следующую команду:

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

Преимущество такого способа установки позволяют стереть грань между операционными системами и получить доступ ко всему инструментарию Linux ( bash , ssh , git , apt и так далее) из стандартной командной строки Windows не теряя привычное окружение и оставаясь на одном файловом уровне.

Ссылки на официальную документацию:

VirtualBox

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

Инсталлятор Oracle VM VirtualBox для Windows Hosts
Ссылка на скачивание: Download Oracle VM VirtualBox

Образ операционной системы Ubuntu Linux в формате ISO
Ссылка на скачивание: Download Ubuntu Desktop

Цукерберг рекомендует:  Java - Вывод значения окончания потока

Для начала необходимо установить и запустить приложение VirtualBox.

Нажимаем кнопку «Создать», выбираем из списка тип операционной системы «Linux», если нет своих предпочтений по дистрибутиву, то выбираем версию «Ubuntu» 32 или 64 битной архитектуры, а название можно ввести любое.

Указываем объём оперативной памяти выделенной под виртуальную систему. Рекомендованный объём составляет 1024 MB.

Указываем объём дискового пространства выделенного под виртуальную систему. Рекомендованный объём составляет 10 GB.

Тип виртуального жёсткого диска можно оставить как есть — VDI (VitrualBox Disk Image).

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

Имя и размер файла можно оставить без изменений и сразу нажать на кнопку «Создать».

По завершению у вас будет создана виртуальная машина, но она пока без операционной системы. Для того чтобы её установить, нужно скачать Ubuntu Linux (32-bit или 64-bit, в зависимости от того, что было выбрано на шаге, где мы указывали тип ОС).

Нажатие на кнопку «Запустить» должно привести к появлению диалогового окна с предложением указать путь до скаченного ISO образа. Сделайте этого и нажмите кнопку «Продолжить»

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

Выберите языковую поддержку в списке слева и нажмите «Установить Ubuntu».

Можно загрузить обновления сразу на этапе установки.

Без особых опасений выбираем пункт «Стереть диск и установить Ubuntu» и двигаемся дальше.

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

Заполните поля и выберите режим входа в систему.

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

По завершению виртуальный компьютер перезагрузится и вы попадёте в уже установленную среду Ubuntu Linux.

Но это ещё не всё. Весьма желательно установить так называемые «Дополнения гостевой ОС». Они содержат драйверы и прочие системные файлы, необходимые для наилучшей производительности и обеспечения дополнительных функциональных возможностей между виртуальной и гостевой операционными системами.

Выберите пункт меню «Устройства» программы VitrualBox, подпункт «Подключить образ диска Дополнений гостевой ОС…» и дождитесь предложение запустить приложение для автоматического запуска с виртуального привода.

Виртуальная ОС Ubuntu Linux установлена и готова к работе.

Ссылка на официальную документацию: Oracle VM VirtualBox User Manual

4 Tools to Help You Run Windows Programs in Linux

Get the best of both worlds with these Windows emulators

Years ago, people tended not to adopt Linux because they couldn’t run their favorite Windows programs. The world of open-source software has improved immensely, however, and many people have become accustomed to using free tools, from email clients and office applications to media players.

Still, there might be that odd, must-have software gem that works only on Windows. In this case, try using one of these four tools that will help you install and run Windows applications within a Linux environment.

What We Like

No Windows license required to use Windows applications.

Capable of running most Windows games.

What We Don’t Like

Doesn’t always run the latest versions of Windows products like Microsoft Office.


Some games and applications run sluggishly.

WINE stands for «Wine Is Not An Emulator.» WINE provides a Windows compatibility layer for Linux that makes installing, running, and configuring many popular Windows applications possible.

To install WINE, run whichever of the following fits your flavor of Linux.

  • Ubuntu, Debian, Mint, etc.:
  • Fedora, CentOS:
  • Arch, Manjaro, etc.:

With most desktop environments, you can run a Windows program with WINE by right-clicking on the file and choosing Open with WINE program loader.

Of course, you can run the program from the command line using the following command:

The file can be either an executable or an installer file.

WINE offers a configuration tool you can launch using the menu of your desktop environment or from the command line using the following command:

The configuration tool lets you choose the version of Windows to run programs against, manage graphics and audio drivers, manage desktop integration, and handle mapped drives.

Winetricks

What We Like

Greatly expands what WINE can do with minimal effort.

Doesn’t require installation.

What We Don’t Like

Not directly supported by its maker WineHQ.

Not as optimized for gaming as other alternatives.

WINE on its own is a great tool. Sometimes, however, installing an application can fail. Winetricks provides a nice graphical tool to ease the install process and run Windows applications.

To install Winetricks, run whichever of the following commands is appropriate for your setup:

  • Ubuntu, Debian, Mint, etc.:
  • Fedora, CentOS:
  • Arch, Manjaro etc.:

When you run Winetricks, you are greeted with a menu with the following options:

  • View help

  • Install an application
  • Install a game
  • Install a benchmark
  • Select the default wineprefix
  • Select office2007pro
  • Enable silent install
  • Show broken apps

If you choose to install an application, a long list of applications will appear. The list includes the Audible player, ebook readers for the Kindle and Nook, older versions of Microsoft Office, Spotify, the Windows version of Steam, and various Microsoft development environments up until 2010.

The games list includes a number of popular games including Call of Duty, Call of Duty 4, Call of Duty 5, Biohazard, and Grand Theft Auto: Vice City.

Some of the items require a CD to install, while others can be downloaded.

Play On Linux

What We Like

Hands down the best emulator for Windows gaming.

Install multiple versions of WINE simultaneously.

Excellent community support.

What We Don’t Like

Starting games in full screen mode can sometimes cause crashing.

Error reporting is lacking.

The best free tool for running Windows programs is Play On Linux.

As with Winetricks, Play On Linux provides a graphical interface for WINE. Play On Linux goes a step further by allowing you to choose the version of WINE to use.

To install Play On Linux, run one of the following commands:

  • Ubuntu, Debian, Mint, etc.:
  • Fedora, CentOS:
  • Arch, Manjaro, etc.:

When you first run Play On Linux, a toolbar appears at the top with options to run, close, install, remove, or configure applications. You’ll also see an installation option in the left panel.

When you choose the install option, a list of categories appears as follows:

  • Accessories
  • Development
  • Education
  • Games
  • Graphics

  • Internet
  • Multimedia
  • Office
  • Other
  • Patches

You can choose from a huge number of applications including development tools such as Dreamweaver, an assortment of retro classics such as Sensible World of Soccer, modern games such as Grand Theft Auto versions 3 and 4, the Half Life series, and more.

The graphics section includes Adobe Photoshop and Fireworks, and you’ll find browsers in the internet section.

The office section is a bit hit and miss. Those apps may not work.

Play On Linux requires you to have the setup files for the programs you are installing, although you can download some of the games from GOG.com.

Software installed via Play On Linux is generally more likely to work than software installed by Winetricks.

You also can install non-listed programs; however, the programs listed have been specifically configured to be installed and run using Play On Linux.

Crossover

What We Like

Streamlined setup makes it easier for Linux newcomers to use Windows programs.

Reliable 24/7 customer support with premium plan.

What We Don’t Like

Applications take up more space on your hard disk due to how it handles containers.

Free trial is limited to 14 days.

Crossover is the only item in this list that isn’t free. Installers are available for Debian, Ubuntu, Mint, Fedora, and Red Hat.

When you first run Crossover, you are presented with a blank screen with an «Install Windows Software» button at the bottom. If you click on the button, a new window appears with the following options:

  • Select application
  • Select installer
  • Select bottle

A bottle in Crossover is like a container that is used to install and configure each Windows application.

When you choose Select application, you’ll see a search bar from which you can search for the program you wish to install by typing a description.

You also can choose to browse the list of applications. A list of categories will appear, and as with Play On Linux, you can choose from a wide array of packages.

When you choose to install an application, a new bottle suitable for that application will be created, and you will be asked to provide the installer or setup.exe.

Why use Crossover when Play On Linux is free? Some programs work only with Crossover and not Play On Linux. If you desperately need that program, then this is one option.

While WINE is a great tool, and the other options listed provide extra value for WINE, some programs may not work properly, and some may not work at all. Other options include creating a Windows virtual machine or dual booting Windows and Linux.

The Slack Cheat Sheet: Shortcuts, Commands, and Syntax to Know

Top Deals

Running Linux alongside Windows has proven to be increasingly useful over the years. But dual-booting can be difficult to manage while setting up a virtual machine comes some stability issues.

One solution is to use the Windows Subsystem for Linux, but this comes without a desktop environment. So, why not just install the Linux distribution you own?

Here’s how to run a Linux desktop within Windows using the Windows Subsystem for Linux.

What Is the Windows Subsystem for Linux?


In case you were unaware, with the 2020 Fall Creators Update Windows 10 shipped with the Windows Subsystem for Linux. This is an optional feature that can be easily installed, which supports the installation of the Linux operating systems available in the Windows Store.

It basically means that you can open a Linux terminal in Windows and install and run Linux software.

No virtual machine is required and there is no dual booting.

The problem with Windows Subsystem for Linux, however, is that it is purely a command line experience. There is no desktop. For power users, this probably won’t be a problem, but as Linux has a wide selection of desktop environments, it does seem a bit of an oversight.

Fortunately, you can now install a Linux desktop in Windows, as long as you have first set up the Windows Subsystem for Linux.

Make Sure Windows 10 Is Compatible

Before proceeding, here’s the important bit: you need to be running a 64-bit version of Windows.

You can check this in Settings > System > About, where you’ll find the System type entry. To proceed, this should read “64-bit operating system”. If not, and you’re running 64-bit hardware, you’ll need to upgrade Windows 10 from 32-bit to 64-bit.

Another prerequisite is that you need to be running Windows 10 build 14393 or later. You can check this in the same About screen, listed under Windows specifications. Look for the OS build—if it is higher than 14393, you can use the Windows Subsystem for Linux. If not, simply run a Windows Update.

Once Windows 10 is compatible, it’s time to follow our gu > How to Get the Linux Bash Shell on Windows 10 How to Get the Linux Bash Shell on Windows 10 Need to use Linux no time to switch to a different PC or run a VM? Run Linux in Windows 10 with a Bash shell terminal instead! Read More .

With that set up, it’s time to add a desktop.

Install a Linux Desktop in Windows

If you have set up the Windows Subsystem for Linux already, click Start and enter bash. Click the first option (the bash run command) to start using Linux. The following steps assume you installed Ubuntu as your preferred Linux operating system.

Start by running an update and upgrading Ubuntu:

While this upgrade is running, head to Sourceforge to download and install the VcXsrv Windows X Server utility. (Other X Servers are available for Windows, including Xming and MobaXterm. For the remainder of this guide, we’ll be using VcXsrv.)

An X server lets you access a Linux application or desktop environment’s graphic user interface (GUI). Linux systems rely on X for displaying the desktop, but it can also be used across a network.

Ensure your X window server is installed before proceeding. The next step is to install your Linux desktop.

Many Linux desktop environments (LDEs) are available. We’re going to keep things simple and install a lightweight environment called LXDE. To install, input:

Цукерберг рекомендует:  .java. уровень 2 - Кто после курсов сдал экзамен на SCJP

Following installation of LXDE, input this command

This instructs Linux to display the desktop through the X server. So, when you run the X Server program you downloaded above, you’ll see the Linux desktop environment.

We used VcXsrv which features the XLaunch tool. Click this to view the X Display Settings window and select One large window or One large window without titlebar. Look for the Display number while you’re there and set it to .

Click Next, then select Start no client to ensure the XLaunch starts only the server, allowing you to start the Linux desktop later. Click Next again, then Finish. You might first like to click Save configuration to save it.

Ready to launch your Linux desktop? In the command line, enter the command to start your preferred LDE. For LXDE, for example, use:

The Linux desktop environment should then appear!

You can now run any of the preinstalled Linux software and even install new apps and utilities.

Don’t Want a Linux Desktop? Just Install an App

In addition to installing a Linux desktop, you can simply install a Linux desktop app from Windows 10. This is useful if you consider installing a full desktop for one to be overkill.

For example, to install the Rhythmbox media player and run it in Linux on Windows, use:

Ensure that you have set the export command:

Then simply run the app from the Bash prompt:

The media player will launch, ready for you to browse for a library.

Now, in this case, you would obviously need to add some media files into the Linux environment on your computer. You might do this by installing a browser and downloading files, or simply by hooking up a USB drive with media files on.

After connecting the USB drive, remember to mount it (this example uses D: as the drive letter):

When you’re done, you’ll need to unmount the drive before removal. This ensures the integrity of the data on the drive.

While it’s possible to browse your Windows folders from within the Linux apps, no actual files can be opened. This is a shortcoming of the Windows Subsystem for Linux, albeit one that protects both the Windows and Linux environments from damage.

Linux in Windows: The Ultimate Convergence!

The Windows Subsystem for Linux makes it simple to run Linux software on a Windows PC. There’s no need to worry about virtual machines or the pain of dual booting.

With a Linux desktop installed, the convergence is almost complete. It’s a great way to get to grips with Linux from the comfort of the Windows desktop.

Want to learn more? Here’s how to get started with Linux. And you might also enjoy checking out why Windows shipping the Linux kernel changes everything Why Windows Shipping the Linux Kernel Changes Everything Why Windows Shipping the Linux Kernel Changes Everything Want to run Linux in Windows? Thanks to the Windows Subsystem for Linux it’s even easier. Here’s why this is important. Read More .

8 comments Write a Comment

Leave a Reply Cancel reply

After following the instructions here, and trying to startlxde, I was getting the error msg
Xlib: extension «RANDR» missing on display «:0».
This I was able to fix using this cmd (from Stack Overflow, where else?: https://stackoverflow.com/questions/17944234/xlib-extension-randr-missing-on-display-21-trying-to-run-headless-googl):
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
Of course that should be in your .bashrc

Used it with Kali Linux from windows store on my surface 3 tablet and worked. Thanks for the instructions.

I followed the tutorial but installed Mate rather than Lxde as a DE for Ubuntu.
In VcXsrv in need to check the box saying «disable access control» otherwise the DE would not launch (error message).

Now I still get a whole lot of error messages when launching mate-session in ubuntu but the DE loads in VcXsrv and I get to the Mate desktop :)

The command «startlxde» is not recognized at either the Ubuntu command line nor the Windows Command Promt.
I followed the directions of this article but got stuck.
At the part «Ready to launch your Linux desktop? In the command line, enter the command to start your preferred LDE. For LXDE, for example, use:» which command line are you referring to, bash, cmd, something else?

I wanted to do this with GNOME but it doesn’t seem to be working because there appears to be no such command as «startgnome». Does anyone know how to accomplish this?

Make a KDE Plasma tutorial so we can run KDE Plasma on Windows 10 via WSL.

Or, run a distro in a virtual machine / or dual-boot config. The former being the easiest.

The whole point of this article was running a Linux Desktop and applications in a native Windows10 environment with Xming. Dual booting just opens up the door for problems down the road, and running hardware based VM’s are taking away from your systems resources. Which are already being abused by the Windows operating system. The best way to run any application is in user space like docker and lxc , sharing the kernel so you dont have to allocate system resources to a VM. You can share the display manager with lxc and docker and run GUI based apps straight from a terminal based hypervisor. I access my WSL install straight from the regular old microsoft RDP app on localhost:3390 . I have Ubuntu and Kali, the Ubuntu is just a CLI with apps over X11 Forwarding, and Xming like this tutorial explains. Option B, My kali desktop runs over rdp on localhost:3390. I have a bash script that will set this up and start xrdp. Save it as script.sh , chmod +x script.sh , and then run it ./script.sh . Pop open RDP and connect to 127.0.0.1:3390 , type in user name/password & you’re in business.
Just make sure the xorg option is selected in the RDP app when you connect.
#!/bin/bash
apt-get update
apt-get dist-upgrade -y —force-yes
apt-get —yes —force-yes install kali-desktop-xfce xorg xrdp
echo «[+] Configuring XRDP to listen on port 3390 (but not starting the service). »
sed -i ‘s/port=3389/port=3390/g’ /etc/xrdp/xrdp.ini

Christian Cawley is Deputy Editor for Security, Linux, DIY, Programming, and Tech Explained. He also produces The Really Useful Podcast and has extensive experience in desktop and software support. A contributor to Linux Format magazine, Christian is a Raspberry Pi tinkerer, Lego lover and retro gaming fan.

4 Ways to Run Linux Commands and Software on Windows

So, all the times we have written about platform applications for another platform, it was with regards to the availability of Windows software for the Linux platform.

What if you want to run Linux software on Windows? Afterall, there are certain features that are peculiar to Linux and sometimes, Unix-like platforms.

There are several ways to work with Linux software (including software and commands) within a Windows environment and today we will go through the most reliable ways.

1. Virtual Machines

This is the quickest and most reliable way to run Linux software on Windows because you will be running the complete OS within your Windows installation with access to everything that you have to offer. Your only limitation will be your machine’s hardware.

There are a handful of efficient virtual machine software that you can try with the most common and free solution being VirtualBox.

2. coLinux

coLinux stands for Cooperative Linux and it is a program that enables you to natively run Linux on Windows and other Operating Systems.

It is a port of the Linux kernel and its code allows it to run alongside another OS without the need for emulation.

3. Windows Subsystem for Linux and Bash

Microsoft collaborated with Canonical in 2020 to provide a reliable version of Bash for Windows. It is capable of running our favourite Linux commands and tools like nano, grep, and ssh.

What’s even cooler is that Bash on Windows can be activated easily.

4. Remote Access

You probably didn’t see this point coming because it isn’t exactly running Linux software on Windows, but imagine that you already have a Linux machine that you can plug into, perform your tasks, and move on. Remotely accessing desktops has been a tech skill for almost as long as cool networking options have existed.

The most common methods include Virtual Network Computing (VNC), Remote Desktop Protocol (RDP), and of course, Secure Shell (SSH).

RDP ships with Windows 10 but you will need to install xrdp on the Linux machines you will be remotely accessing. VNC requires a number of dependencies and SSH is a command-line tool you can use with an app like PuTTY or KiTTY.

So, assuming there aren’t cross-platform software versions of Linux apps for you to use, you can always try any of the above methods.

The more you work with any if not all of the listed options, the more experience you gather and you will know which one works best for you and you’ll be able to share your experience with us.

Are there any methods of running Linux software and tools on Windows that I have left out? Tell me about them in the comments section below.

Windows Subsystem for Linux (WSL): установка Ubutnu в Windows 10

Дата добавления: 30 октября 2020

Введение. Запуск linux приложений в Windows 10.
Windows Subsystem for Linux (сокращённо WSL) представляет собой слой совместимости для выполнения бинарных файлов Lunux (ELF) в среде операционной системы Windows 10 и Windows Server 2020.
WSL позволяет использовать множество программ, собранных под Linux и доступных в репозиториях дистрибутивов без пуска каких-либо виртуальных машин, что ускоряет процесс, имеет высокий уровень интеграции с основной системой, и требует намного меньше системных ресурсов по сравнению с виртуализацией.
Однако важно понимать, что это всего лишь слой совместимости для запуска Linux программ, а не полноценное Linux ядро, поэтому ожидать полноценной Linux системы без виртуальный машины, и поддержки всех программ и файлов конфигурации (особенно требующий низкоуровневый доступ) не следует.
WHL пока эффективнее всего применять для небольших высокоуровневых консольных утилит и для получения привычного консольного bash-окружения.

Для начала нам надо активировать компонент Windows Subsystem for Linux так как по умолчанию он выключен. Есть два способа:
1. Включение Windows Subsystem for Linux через Windows Power Shell
Необходимо запустить Windows Power Shell с правами администратора и выполнить команду:

После этого может потребуется перезагрузка компьютера (если компонент уже не был включён).
2. Включение Windows Subsystem for Linux через «компоненты Windows»
Заходим в классическую панель управления => Программы и компоненты => Слева «Включение или отключение компонентов Windows».
Выбираем «Подсистема Windows для Linux, и нажимаем OK. Потребуется перезагрузка компьютера.

Установка дистрибутива Linux
Проще всего выбрать и установить необходимый вам дистрибутив, как бы это странно не звучало, в магазине Microsoft (находим и заходим в приложение Microsoft Store).
По запросу «Linux» в поиске можно найти одни из наиболее популярных дистрибутивов:

Для примера выберем и установим «свежий» Ubuntu 18.04 LTS:

Теперь в меню приложений мы увидим установленный дистрибутив Ubuntu 18.04.

Запустим приложение и проведём начальную настройку:
При первом запуске нас просят ввести свой имя пользователя (которое будет использоваться в Linux системе), а создать пароль к создаваемой учётной записи:

В версии 18.04 при открытии приложения по умолчанию открывается терминал от имени root. Для входа под созданным пользователем можно использовать команду:

, где «Subsanek» — ваше имя пользователя В Windows.

А для перехода к файлам Windows нам нужно заглянуть в каталог mnt, где найдём все подключенные диски и сможем в них перейти:

Вы можете без проблем доустановить необходимые пакеты из репозитория Ubuntu с помощью привычного apt, и пользоваться ими, как если бы вы находились в реальном Linux.
С «лёгкими» и консольными приложениями, как правило, проблем никаких нет:

Запуск графических приложения с помощью Windows X-сервера Xming
С помощью Windows Subsystem for Linux можно запускать не только консольные, но и графические приложения, используя X-сервер на Windows.
Для начала нам нужно скачать и установить X-сервер Xming на Windows машину (Xming является по сути портом X-сервера для Windows). Скачать сервер Xming можно c официальной страницы.
После установки мы получаем утилиты XLaunch для запуск задаём конфигурацию сервера:

Запускаем XLaunch и задаём следующие настройки:
Теперь прописываем в терминале (Ubutntu) переменную окружения DISPLAY:

Теперь вы сможете запускать не только консольные, но и графические приложения, используя Xming в качестве X сервера на Windows машине (хотя здесь и X клиенты также по сути на Windows работают, ведь WSL, как говорилось ранее, собственного Linux-ядра не имеет, а лишь эмулирует).
Примеры запуска графических приложений, используя WSL и Xming:

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих