Содержание
В этой статье речь пойдет о настоящей параллельной установке Ubuntu к Windows. Прежде чем что-то делать, следует создать резервную копию существующей системы и важной информации.
Прежде, решиться на установку Ubuntu в качестве второй системы, протестируйте восстановление ОС Windows, чтобы, если что-то пойдет не так, не обнаружить непригодность резервных копий.
Причина столь больших усилий: при параллельной установке Ubuntu к Windows могут возникнуть проблемы, связанные не только с системой Linux. К примеру, сложности, связанные со взаимодействием современных вариантов реализации UEFI.
Каждый производитель материнских плат ведет себя на свой лад и проводит тестирование только на совместимость с Windows. Дополнительными барьерами, которые необходимо принять во внимание, могут стать подписанные загрузчики, быстрый запуск и механизмы энергосбережения.
BIOS или UEFI?
На современном оборудовании вашего компьютера, вероятно, стоит прошивка UEFI, и Windows установлена в режиме UEFI. Если же ПК или ноутбук у вас уже давно, там может быть и классический BIOS. Для установки Ubuntu важно точно знать расклад, поскольку необходимо выбрать режим UEFI или BIOS.
Чтобы это проверить, введите в строку поиска Windows запрос «Сведения о системе» и найдите строчку «Режим BIOS». Если там стоит «Legacy» (устаревший), систему Ubuntu следует устанавливать в режиме BIOS. В этом случае в BIOS необходимо отключить как Secure Boot, так и опцию Fast Boot и режим нельзя будет перевести на «UEFI».
Если в сведениях о системе указано «UEFI», Ubuntu следует устанавливать в режиме «UEFI» и использовать 64-разрядную версию. Чтобы запускать Ubuntu параллельно Windows в режиме UEFI, пользователи Windows 8 и 10 должны отключить быстрый запуск. Это осуществляется в настройках электропитания через пункт «Действие кнопки питания».
В разделе «Параметры завершения работы» убедитесь, что перед опцией «Включить быстрый запуск» не стоит флажка. Пользователи Windows 7 должны отключить из меню Пуск режим гибернации командой «powercfg /h off». И в завершение отключите опцию Fast Boot из прошивки UEFI.
Подготовка пространства для Ubuntu
Чтобы установить Ubuntu параллельно Windows, потребуется достаточно места. Установщик Ubuntu способен сократить пространство существующей Windows. Вы можете сделать это заранее, вручную и напрямую из Windows. Для этого зайдите в «Управление дисками», которое вызывается через меню Пуск командой «diskmgmt.msc».
Даже если вы пользуетесь только Windows, на жестком диске зачастую располагаются различные разделы, в том числе Recovery, UEFI Boot и, разумеется, Windows System. Чем сложнее начальные условия, тем выше вероятность, что впоследствии диспетчер загрузки Ubuntu сломает себе зубы о вашу систему.
Чтобы сократить существующий раздел C системы Windows, нажмите по нему правой кнопкой мыши на главном экране утилиты и выберите «Сжать том». Теперь нужно указать размер сжимаемого пространства требуемого места в МБ. Если вы введете «20000», Windows освободит 20 ГБайт для Ubuntu. Этого достаточно, чтобы начать работу с Linux. Для бронирования места нажмите на кнопку «Сжать».
Установка Ubuntu
Снова запустите компьютер с DVD или USB-накопителя, как описано на стр. 85. В режиме Live CD нажмите на иконку Рабочего стола «Установить Ubuntu 16.04 LTS». Следуйте указаниям Мастера, выбрав сначала язык. Подключитесь через LAN или Wi-Fi к Интернету, чтобы сразу же получить обновления.
Ключевым моментом при установке станет «Тип установки». В данном случае следует выбрать «Установить Ubuntu рядом с Windows Boot Manager». Далее задайте стандартные установки, например местоположение и учетную запись.
В завершение установки вам предлагается два варианта: оставаться в режиме Live CD или перезагрузить компьютер. Выберите «Продолжить знакомство» и откройте командную строку комбинацией клавиш «Ctrl+Alt+T».
Командой «sudo apt-get install efibootmgr» запускается небольшой инструмент для настройки порядка загрузки. Команда «efibootmgr» позволит вывести информацию о загрузочных записях. Помимо строчки «Windows Boot Manager» должна появиться запись «Ubuntu». Командой «sudo efibootmgr –o x,y» измените порядок загрузки, где «x» предназначена для цифр перед записью Ubuntu, а «y» — для цифр перед Windows Boot Manager.
Первые шаги в Linux
Эта операционная система предлагает лишь базу для работы с программами и веб-службами. Чтобы все проходило гладко, следует познакомиться с системой.
1. Знакомство с Рабочим столом
Ubuntu использует так называемый рабочий стол Unity. Он выглядит просто, с левой стороны отображается программная панель — панель запуска. Кроме того, сверху расположилась панель меню, подобно реализации в Mac OS X от Apple. При открытии программы Ubuntu сворачивает меню в эту панель наверху экрана, а не в окно. Чтобы почувствовать себя как в Windows, перенесите панель запуска вниз экрана. На данный момент для этого требуется ввести команду в терминале. «gsettings set com.canonical.Unity.Launcher launcher-position Bottom» переносит панель вниз. Аналогом известной Панели управления из Windows в Ubuntu являются системные настройки.
2. Проверка наличия обновлений
После установки Ubuntu система считается обновленной, если позволить Мастеру выполнить обновление. Для любителей ускорить процесс существует команда «sudo apt-get update && sudo apt-get upgrade». Первая часть команды запрашивает последний пакет с серверов Linux, вторая запускает обновления. Чтобы перейти на новую версию Ubuntu, к примеру с Beta 2 с премиум-DVD на финальную, введите еще «sudo apt-get dist-upgrade». Если командная строка вас пугает, найдите в менеджере обновлений соответствующий графический интерфейс.
3. Установка программ
Для Linux существует множество программ, знакомых вам по Windows. Командой «sudo apt-get install vlc» вы можете, к примеру, установить VLC media player. Gnome предлагает для Ubuntu графическую утилиту, похожую на магазин App Store. В ней найдите «vlc» и нажмите на кнопку «Установить».
Решение проблем с Ubuntu
Параллельная установка Ubuntu 16.04 рядом с Windows сама по себе проблем не создает, что подтвердили наши тесты при установке в режиме BIOS. Однако дьявол кроется в деталях, как выяснили наши эксперименты с различными ПК и ноутбуками с UEFI. При этом кажется, что все идет как по маслу, однако потом снова загружается Windows, а об Ubuntu ни слуху ни духу.
Если вы тоже столкнулись с подобной проблемой, поищите решение в Google с указанием точной модели ПК или ноутбука в сочетании с Ubuntu. Быстрее всего найдутся советы по специфической настройке BIOS/UEFI или особая адаптация загрузчика. Так, мы потерпели неудачу с ноутбуком Sony Vaio Pro и диском SSD с поддержкой NCQ. Только после отключения этой функции Ubuntu запустилась. В целом, рекомендуется использовать последнюю версию UEFI.
Вместо того чтобы довериться автоматике Ubuntu в отношении настройки жесткого диска или твердотельного накопителя, при возникновении ошибки вы можете прибегнуть к ручной разбивке на разделы. Соответствующий пункт меню в «Типе установки» называется просто «Другой вариант». Здесь необходимо создать три раздела: «/boot» на 250 МБайт (файловая система ext2), раздел swap на 4092 МБайт, а оставшееся место вы можете отдать под корневой раздел «/». Позвольте загрузчику записаться на раздел «/boot».
Безопасность Linux под контролем
Даже Linux не является неуязвимой. В феврале 2016 года хакеры взломали сервер проекта Linux Mint и изменили размещенные на нем ISO-файлы. В установочных файлах они скрыли бэкдор для кражи паролей. Но вы можете себя защитить.
Проверка контрольной суммы. Манипуляции с дистрибутивами Linux всплывают сразу же, если контрольные суммы не совпадают. Такие утилиты для Windows, как md5sums отображают значения для ISO-файлов. Они должны совпадать с данными от разработчиков.
Фото: компании-производители
Была ли статья интересна? Поделиться ссылкой
Microsoft Windows — популярная операционная система. В Windows 10 появилась новая функция под названием WSL (подсистема Windows для Linux). Это дополнительная функция, которая позволяет разработчикам и опытным пользователям запускать среду GNU / Linux непосредственно в Windows без необходимости в традиционной виртуализации или конфигурации двойной загрузки.
В этом руководстве вы узнаете, как запустить графический интерфейс Debian в Windows 10 с помощью WSL.
Содержание
Debian на WSL
Инструмент WSL изначально был разработан Microsoft в сотрудничестве с Canonical, создателем Ubuntu. По сути, это уровень совместимости с ядром, основанный на Ubuntu.
В 2020 году Microsoft выпустила WSL 2. Он предлагает несколько важных улучшений по сравнению с WSL 1. Он предлагает лучшую совместимость системы, лучшее управление виртуальными машинами, полную поддержку ядра Linux и многое другое. Посмотрите разницу между WSL 1 и WSL 2. Обратите внимание, что WSL 2 доступен только для Windows 10 версии 2004, сборка 19041 или выше. Выполните следующую команду, чтобы проверить версию Windows 10, которую вы используете.
$ winver
Поскольку WSL изначально был основан на Ubuntu, он по умолчанию поддерживает Debian. Debian для WSL доступен в Microsoft Store. Однако мы продемонстрируем, как установить Debian даже без учетной записи Microsoft.
В случае Windows все команды будут выполняться в Windows PowerShell с правами администратора. Это Linux-эквивалент запуска оболочки sudo. Чтобы запустить PowerShell с правами администратора, нажмите «Win + X» и выберите «Windows PowerShell (Admin)».
Включение WSL
Дополнительные функции, такие как WSL, по умолчанию не включены. К счастью, включить WSL очень просто. Выполните следующую команду в PowerShell.
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
WSL 2 также требует функции платформы виртуальных машин.
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Эти изменения требуют перезапуска системы для полной работоспособности.
После перезагрузки запустите PowerShell с правами администратора. Сделайте WSL 2 версией по умолчанию.
$ wsl —set-default-version 2
Обратите внимание: если вы используете 64-разрядную версию Windows 10, вам может потребоваться загрузить и установить пакет обновления ядра Linux для WSL 2.
Скачивание и установка Debian
Сначала ознакомьтесь со всеми доступными дистрибутивами, поддерживаемыми WSL.
$ wsl —list —online
Скажите WSL установить Debian. Debian доступен в виде устанавливаемого пакета в Microsoft Store.
$ wsl —install -d Debian
Процесс может занять несколько минут.
Настройка Debian
Debian установлен. Если вы установили с помощью WSL, автоматически появится новая оболочка. Во время первого запуска оболочка Debian попросит создать нового пользователя.
Если вы хотите получить доступ к Debian позже, используйте следующую команду WSL. С этого момента я буду использовать Терминал Windows для простоты использования.
$ wsl -d Debian
Обновите кеш APT и обновите все пакеты.
$ sudo apt update && sudo apt upgrade -y
Затем нам нужно проверить, используем ли мы последнюю версию Debian. На момент написания этого руководства последним стабильным выпуском был Debian 11 под кодовым названием bullseye.
$ cat /etc/os-release
В моем случае это Debian 9 (stretch), где должен быть Debian 11 (bullseye). Для получения последней версии Debian требуется обновление дистрибутива.
Сначала сделайте резервную копию файла sources.list.
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
В файле sources.list замените все экземпляры stretch (Debian 9) на bullseye (Debian 11). Это фактически укажет APT работать с пакетами для Debian 11. Откройте sources.list в текстовом редакторе и замените все экземпляры stretch на bullseye.
$ sudo nano /etc/apt/sources.list
Вот примерный список репозиториев для Debian 11 bullseye.
$ deb http://deb.debian.org/debian bullseye main contrib non-free $ deb http://deb.debian.org/debian bullseye-updates main contrib non-free $ deb http://security.debian.org/debian-security bullseye-security main contrib non-free
Теперь снова запустите команды обновления APT.
$ sudo apt clean && sudo apt update
$ sudo apt full-upgrade
Это будет разрешение на перезапуск различных служб во время процесса. Выберите «Да».
Читайте также: 10 лучших расширений безопасности Chrome в 2021 году
Теперь мы можем безопасно избавиться от устаревших пакетов в системе.
$ sudo apt autoremove
Перезапустите сеанс Debian, чтобы изменения вступили в силу. Проверьте изменение.
$ cat /etc/os-release
Настройка графического интерфейса
На данный момент система Debian полностью функциональна. Однако единственный способ взаимодействия с системой — это интерфейс командной строки. По умолчанию графический интерфейс отсутствует.
Мы можем обойти это, внедрив VNC. Процесс настройки несколько сложен, но вполне выполним.
Предпосылки
Для этого метода есть несколько предварительных условий. Во-первых, убедитесь, что дистрибутив WSL настроен для работы с WSL 2.
$ wsl —set-version Debian 2
Установка компонентов
Теперь войдите в оболочку Debian. Нам нужны дополнительные компоненты, такие как curl и wget.
$ sudo apt update && sudo apt install -y curl wget
Мы будем устанавливать tasksel, очень удобный инструмент для управления различными компонентами рабочего стола и служб. Выполните следующую команду APT.
$ sudo apt install tasksel
Запустите tasksel с привилегиями sudo.
$ sudo tasksel
Он покажет список групп пакетов и пакетов. Нажмите пробел, чтобы выбрать / отменить выбор группы. После того, как вы выбрали нужные, нажмите «ОК».
Инструмент скачает и установит все необходимые компоненты. Это займет некоторое время.
Установка VNC-сервера
Следующим шагом будет установка VNC-сервера. Для этого мы установим TigerVNC.
$ sudo apt-get install tigervnc-standalone-server
Установка.NET Runtime
.NET — это универсальная платформа для создания приложений для Windows, Linux и macOS от Microsoft. Он нам понадобится для следующей части конфигурации.
Выполните следующие команды, чтобы установить.NET Runtime. Для получения более подробных инструкций по установке ознакомьтесь с официальным руководством по установке.NET от Microsoft.
$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo apt install ./packages-microsoft-prod.deb
$ rm packages-microsoft-prod.deb
$ sudo apt update && sudo apt install apt-transport-https
$ sudo apt update && sudo apt install dotnet-runtime-5.0
Установка systemd-genie
WSL, сам по себе, является всего лишь простой реализацией фреймворка Linux. Использование systemd-genie — это способ дать Debian полноценный и функциональный фреймворк Linux.
Мы уже установили его зависимость (.NET Runtime). Осталось только настроить репозиторий systemd-genie и установить пакет.
Сначала настройте репозиторий APT для systemd-genie.
$ wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg
$ chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
$ cat <<</span> EOF > /etc/apt/sources.list.d/wsl-transdebian.list $ deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main $ deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main $ EOF
$ apt update
Наконец, установите systemd-genie.
$ sudo apt install systemd-genie
Установлены все необходимые инструменты. Пришло время настроить их для получения ожидаемого поведения.
Настройка пароля VNC-сервера
В настройке VNC у каждого пользователя будут уникальные пароли. Для полной функциональности нам нужно как минимум три пароля, по одному для каждого из следующих пользователей.
- root
- gdm
Сначала настройте пароль VNC для текущего пользователя.
$ vncpasswd
Затем настройте пароль VNC для root.
$ sudo -H vncpasswd
Наконец, настройте пароль VNC для GDM. Обратите внимание, что вы можете пропустить этот шаг, если вы не выбрали установку среды рабочего стола GNOME.
$ sudo -H -u Debian-gdm vncpasswd
Замена X по умолчанию на Xvnc
Функция диспетчера отображения по умолчанию — вызывать экземпляры X для каждого пользовательского сеанса (включая экран входа в систему). Однако, поскольку мы собираемся использовать сервер VNC, он не будет сокращаться. Для работы с VNC подходящим кандидатом является Xvnc.
Читайте также: IP адрес домашней сети
Далее наша цель — заменить X на Xvnc. Это требует настройки сценария Xorg, который вызывает Xvnc вместо службы отображения X / Xorg.
Прежде чем продолжить, всегда рекомендуется делать резервную копию существующего скрипта Xorg.
$ sudo mv /usr/bin/Xorg /usr/bin/Xorg.old
Теперь создайте новый скрипт Xorg.
$ sudo nano /usr/bin/Xorg.new
Введите следующий код.
#!/bin/bash for arg do shift case $arg in vt*) set — «$@» «${arg//vt/tty}« ;; -keeptty) ;; -novtswitch) ;; *) set — «$@» «$arg« ;; esac done # display geometry command=(«/usr/bin/Xvnc» «-geometry» «1366×768» «-PasswordFile» «${HOME:-/root}/.vnc/passwd» «$@») systemd-cat -t /usr/bin/Xorg echo «launching Xvnc:» «${command[@]}« exec «${command[@]}«
Сохраните файл и закройте редактор. Для правильной работы файл должен иметь правильные права доступа.
$ sudo chmod 0755 /usr/bin/Xorg.new
Создайте ссылку на файл для эмуляции исходного скрипта Xorg.
$ sudo ln -sf /usr/bin/Xorg.new /usr/bin/Xorg
Настройка переменных среды
Нам нужно настроить некоторые переменные среды, чтобы Xorg считывал данные от пользователя, выполняющего команду genie. Для этого нам нужно настроить файл bashrc как корневого, так и текущего пользователя. Обратите внимание, что bashrc отличается от bash_profile.
Откройте bashrc текущего пользователя.
$ nano ~/.bashrc
Добавьте следующие коды в конец файла.
export XDG_RUNTIME_DIR=/run/user/$UID export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ‘{print $2; exit;}’):0.0 sudo /etc/init.d/dbus start &> /dev/null
Сделайте то же самое с файлом bashrc пользователя root.
$ su — $ nano ~/.bashrc
export XDG_RUNTIME_DIR=/run/user/$UID export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ‘{print $2; exit;}’):0.0 sudo /etc/init.d/dbus start &> /dev/null
Наконец, перезагрузите bashrc для текущего пользователя.
$ source ~/.bashrc
Запускаем systemd-genie
Теперь systemd настроен на автоматический запуск gdm и создание экземпляра отображения X для экземпляра входа в систему. Из-за конфигурации вместо этого он будет создавать экземпляры Xvnc. Он начнёт слушать с 5900.
Следующая команда покажет сообщение «подключение к systemd», за которым следует несколько ошибок. Ошибки ожидаются. Вы должны попасть на экран входа в систему.
$ genie -l
Вуаля! Вы успешно вошли в систему Debian с графическим интерфейсом, работающую под WSL 2! Все, что осталось, — это подключиться к серверу WSL через VNC. Следующая команда сообщит IP-адрес сервера.
$ hostname -I
Для подключения к системе используйте клиент VNC (на порту 5900). Для входа используйте пароль gdm VNC. Это должно привести вас на экран входа в систему.
Заключение
Для пользователей Windows WSL — отличный способ привыкнуть к миру Linux без необходимости изучать все с нуля. В этом руководстве демонстрируется рекомендуемый метод установки и настройки Debian 11 с графическим интерфейсом пользователя на WSL с помощью сервера VNC (TigerVNC).
Подсистема WSL (Windows Subsystem for Linux или Windows для Linux) позволяет запускать среду Linux без графического интерфейса непосредственно в Windows без необходимости использовать традиционную виртуальную машину или устанавливать Linux второй операционной системой. Для удобства в статье я буду называть Linux-ом любую гостевую операционную систему: Ubuntu, Debian и т.д.
Официальная документация Microsoft по WSL Установка Windows Subsystem for Linux Установка Linux Перенос в WSL образа Linux с диска C на другой диск Частые ошибки и их решения
Официальная документация на русском по WSL находится по адресу https://docs.microsoft.com/ru-ru/windows/wsl/
В официальной документации вы можете найти команды WSL и многое другое.
Подробное описание установки WSL можно найти в официальной документации, здесь я приведу краткий алгоритм. Шаги:
- Убедиться, что Windows 10 версии не ниже 2004 сборка 19041, если ниже, то обновитесь через центр обновления. Может встанет и на версию ниже, но гарантий не даю и поддержку не осуществляю.
- Включить в «Панель управления Все элементы панели управления Программы и компоненты Включение или отключение компонентов Windows» компонент «Подсистема Linux для Windows». Перезагрузиться.
- Включить в «Панель управления Все элементы панели управления Программы и компоненты Включение или отключение компонентов Windows» компонент «Платформа виртуальной машины». Перезагрузиться.
- По ссылке https://aka.ms/wsl2kernel скачиваем установщик с последней версией пакета обновления ядра Linux в WSL. Устанавливаем.
- Установить WSL 2 по умолчанию выполнив в PowerShell с правами администратора следующую команду wsl —set-default-version 2
Теперь можем устанавливать Linux.
Открываем Microsoft Store (можете найти через поиск Windows) и в поиске Microsoft Store вводим «Linux». После этого увидим список дистрибутивов Linux, которые можно нам установить:
К примеру, установим Ubuntu 20.04 LTS, для этого нажимаем на плитку с данной системой. В форме информации о Ubuntu нажимаем на кнопку Получить. После этого произойдёт загрузка и установка дистрибутива.
После установки у нас в меню Пуск появится иконка запуска Ubuntu.
Запускаем Ubuntu. Появится предложение ввести имя нового пользователя и установить ему пароль. Указываем данные и через минуту система готова к работе.
Все образы устанавливаются на диск C. У многих он небольшого размера, поэтому возникает желание перенести образ установленного Linux на другой диск. Для этого делаем следуюшее:
- Скачиваем утилиту LxRunOffline https://github.com/DDoSolitary/LxRunOffline Утилиту я распаковал и поместил на диск C.
- Создаём каталог на другом диске, в который будем перемещать гостевую систему. В моём случае я создал каталог D:ProgramWCL
- Задаём требуемые права на каталог D:ProgramWCL, для этого выполним команду в PowerShell:
icacls D:ProgramWCL /grant "zaharov:(OI)(CI)(F)"
zaharov — это название вашей учётной записи в системе, в моём случае zaharov у вас другая.
- Запускаем PowerShell и выполняем команду wsl —list —all чтобы узнать какие гостевые системы у нас установлены и как они именуются:
- Переносим Ubuntu-20.04 в D:ProgramWCL, для этого выполняем команду в командной строке или в PowerShell:
C:LxRunOffline.exe move -n Ubuntu-20.04 -d D:ProgramWCLUbuntu-20.04
В строке с командами корректно указываем название переновимой системы.
WslRegisterDistribution failed with error: 0xc03a001a
Данная ошибка появляется, когда мы после установки Linux запускаем его и начинается его «настройка» и далее нет возможности запустить Linux. Решение есть. После первичного запуска «гостевой» операционной системы у нас возникает ошибка:
Закрываем данное окно и делаем следующее. Идём по пути:
%LOCALAPPDATA%/packages
В данном каталоге у нас находятся как раз пакеты для установки. Находим необходимый нам пакет. К примеру, если мы устанавливаем Ubuntu, то ищем пакет в названии которого будет присутствовать Ubuntu:
Нам необходимо отключить сжатие у этого каталога, т.е. отключить настройку «Сжимать содержимое для экономии места на диске» (убедиться, что галочка отжата):
После этого проблема исчезнет.
Пропадает сеть в гостевой операционной системе WSL
Основной компьютер я перевожу всегда в режим гибернации и не выключаю. После выхода из гибернации и запуска Linux в WSL я периодически сталкиваюсь с проблемой, когда на Linux пропадает сеть, как локальная с физическим компьютером, так и интернет.
Решается проблема просто:
- Заходим в настройки сетевых адаптеров.
- Находим адаптер с пипиской (WSL).
- Отключаем его и снова включаем.
Проблема решена. Где-то на уровне Windows есть ошибка приводящая к этому.
Статья-заметка будет периодически дополняться. Может быть 🙂
Введение
Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.
Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep
возникают обусловленные этим обстоятельством ошибки.
Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.
Установка требуемого набора ПО и настройка WSL2
Проверяем текущую версию Windows, для этого в строке поиска Windows вводим команду winver
и получаем примерно следующее:
Для удобства дальнейших действий устанавливаем бесплатный Windows Terminal, используя Microsoft Store (также существует возможность загрузки из других источников):
В любом удобном месте на диске создаем каталог, в котором будем хранить наши файлы. В качестве примера создадим каталог C:wsl
.
и устанавливаем автономный установщик Ubuntu 20.04, распаковываем полученный файл с помощью архиватора (например 7-zip). Переименовываем распакованный каталог с длинным именем Ubuntu_2004.2020.424.0_x64
во что-то более приемлемое, например Ubuntu-20.04
и копируем его в каталог C:wsl
(далее по тексту просто wsl
).
и распаковываем в каталог wsl
кроссплатформенный звуковой сервер PulseAudio v.1.1., также вносим исправления в его конфигурационные файлы.
В файле wslpulseaudio-1.1etcpulsedefault.pa
в разделе Load audio drivers statically
редактируем строку:
load-module module-waveout sink_name=output source_name=input record=0
а в разделе Network access
редактируем строку:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
В файле wslpulseaudio-1.1etcpulsedaemon.conf
раскомментируем и изменяем строку
exit-idle-time = -1
При необходимости и устанавливаем пакет обновлений для ядра Linux в WSL2. Запускаем Windows Terminal и выбираем режим работы Command Prompt нажатием клавиш Ctrl+Shift+2
.
В первую очередь устанавливаем режим работы WSL2, для этого вводим команду:
wsl --set-default-version 2
Переходим в каталог с автономным загрузчиком Ubuntu 20.04, в моем случае это wslUbuntu-20.04
и запускаем файл ubuntu2004.exe
. При появлении запроса имени пользователя указываю имя engineer
(можно ввести любое другое имя), ввести свой пароль и подтвердить введенный пароль для указанной учетной записи:
wsl -l -v
Настраиваем брандмауэр Microsoft Defender, т.е. отключаем его для общедоступной сети:
Настройка Ubuntu 20.04
В Windows Terminal снова выбираем закладку Command Prompt и устанавливаем обновления для Ubuntu 20.04. Для этого в командной строке вводим:
sudo apt update && sudo apt upgrade –y
sudo apt install kubuntu-desktop -y
установка занимает до 30 минут в зависимости от производительности компьютера и пропускной способности канала доступа в Internet, при появлении запроса установщика подтверждаем OK
. Устанавливаем русскую локализацию и словари Ubuntu 20.04. Для этого в командной строке вводим:
sudo apt install language-pack-ru language-pack-kde-ru -y sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y sudo apt install hunspell-ru mueller7-dict -y sudo update-locale LANG=ru_RU.UTF-8 sudo dpkg-reconfigure locales # примечание: выбираем ru_RU.UTF-8 UTF-8, см. скриншоты ниже. sudo apt-get install --reinstall locales
sudo add-apt-repository ppa:kubuntu-ppa/backports sudo apt update && sudo apt full-upgrade -y
Добавляем свой набор консольных приложений, например mc
и neofetch
:
sudo apt install mc neofetch -y
Проверяем, что получилось, вводим в командную строку neofetch
, см. скриншот:
Редактируем конфигурационный файл WSL /etc/wsl.conf
:
sudo nano /etc/wsl.conf
[automount] enabled = true root = /mnt options = «metadata,umask=22,fmask=11» mountFsTab = true [network] generateHosts = true generateResolvConf = true [interop] enabled = true appendWindowsPath = true
сохраняем изменения (Ctrl+O
), подтверждаем операцию и выходим из текстового редактора (Ctrl+X
).
Экспортируем настроенный образ Ubuntu-20.04 в созданный нами каталог wsl
. Для этого в Windows Terminal снова выбираем закладку Windows PowerShell и вводим команду:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
Подготовка bat-файлов и ярлыков на рабочий стол Windows
С помощью редактора Notepad++ создаем bat-файлы (обязательно в кодировке OEM-866 для корректного вывода символов кириллицы): Файл Install-Ubuntu-20.04-plasma-desktop.bat
— предназначен для автоматизации первоначальной установки созданного образа Ubuntu 20.04 на компьютере с уже настроенной подсистемой WSL2 и X-сервером. Если имя пользователя и пароль отличается от указанных в примере, то необходимо внести соответствующие изменения в этот bat-файл:
@echo off wsl --set-default-version 2 cls echo Ожидайте окончания установки дистрибутива Ubuntu-20.04... wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop wsl -s Ubuntu-20.04 cls echo Дистрибутив Ubuntu-20.04 успешно установлен! echo Не забудьте сменить учетную запись по умолчанию «root» на существующую учетную запись пользователя, echo либо используйте предустановленную учетную запись «engineer», пароль: «password». pause
Файл Reinstall-Ubuntu-20.04-plasma-desktop.bat
— предназначен для переустановки подготовленного образа Ubuntu 20.04 на компьютере.
@echo off wsl --unregister Ubuntu-20.04 wsl --set-default-version 2 cls echo Ожидайте окончания переустановки дистрибутива Ubuntu-20.04... wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop wsl -s Ubuntu-20.04 cls echo Дистрибутив Ubuntu-20.04 успешно переустановлен! pause
Файл Set-default-user.bat
— для установки пользователя «по умолчанию».
@echo off set /p answer=Введите существующую учетную запись в Ubuntu (engineer): c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer% cls echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию! pause
Файл Start-Ubuntu-20.04-plasma-desktop.bat
— собственно запуск рабочего стола KDE Plasma.
@echo off echo ===================================== Внимание! ============================================ echo Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server. echo Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать echo строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и echo "vcxsrv.exe", и закомментировать все строки, содержащие "x410". echo ============================================================================================ rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul start "" /B x410.exe /wm /public > nul start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul c:wslUbuntu-20.04Ubuntu2004.exe run "if [ -z "$(pidof plasmashell)" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;" rem taskkill.exe /F /T /IM vcxsrv.exe > nul taskkill.exe /F /T /IM x410.exe > nul taskkill.exe /F /IM pulseaudio.exe > nul
Файл Start-Ubuntu-20.04-terminal.bat
— запуск графического терминала без рабочего стола KDE Plasma.
@echo off echo ===================================== Внимание! ============================================ echo Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server. echo Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать echo строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и echo "vcxsrv.exe", и закомментировать все строки, содержащие "x410". echo ============================================================================================ rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul start "" /B x410.exe /wm /public > nul start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul c:wslUbuntu-20.04Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;" taskkill.exe /F /T /IM x410.exe > nul rem taskkill.exe /F /T /IM vcxsrv.exe > nul taskkill.exe /F /IM pulseaudio.exe > nul
Также для удобства использования в каталоге wsl
подготавливаем ярлыки, указывающие на соответствующие bat-файлы. После чего содержимое каталога wsl
выглядит следующим образом:
Запуск рабочего стола KDE Plasma
Проверяем, что все подготовительные действия выполнены, пробуем запустить ярлык Plasma-desktop
. Появляется запрос пароля, вводим пароль для учетной записи и… окно закрывается. В первый раз это нормально. Пробуем еще раз — и видим знакомую панель задач KDE Plasma. Настраиваем требуем внешний вид панели задач, на примере для удобства использования панель переносится в правую часть экрана и центрируется. Проверяем настройки локализации, при необходимости добавляем русский язык:
При необходимости выносим ярлыки для установленных linux-приложений на панель задач KDE Plasma.
Если Ubuntu 20.04 требует выйти из учетной записи пользователя для применения изменений в настройках, или Вам необходимо перезагрузить ОС, для этого в Windows Terminal введите команду:
wsl -d Ubuntu20.04 --shutdown
С помощью ярлыка Plasma-desktop
или Konsole
можно запустить GUI KDE Plasma Ubuntu 20.04. Например, установим с помощью Konsole
графический редактор GIMP:
После окончания установки запускаем из Konsole
графический редактор GIMP:
При необходимости можно настроить доступ к Ubuntu20.04 по SSH
и RDP
, для этого необходимо установить соответствующие службы командой:
sudo apt install ssh xrdp -y
примечание: для включения парольного доступа по SSH
необходимо отредактировать файл /etc/ssh/sshd_config
, а именно параметр PasswordAuthentication no
необходимо установить в значение PasswordAuthentication yes
, сохранить изменения и перезагрузить Ubuntu20.04.
При каждом запуске Ubuntu20.04 меняется внутренний ip-адрес, перед настройкой удаленного доступа необходимо уточнить текущий ip-адрес с помощью команды ip a
:
Соответственно, этот ip-адрес необходимо внести в настройки сессий SSH
и RDP
перед запуском. Вот так выглядит удаленный доступ по SSH
с помощью MobaXterm:
А вот так выглядит удаленный доступ по RDP
:
Использование X-сервера vcxsrv вместо x410
Запускаем и настраиваем vcxsrv
, внимательно устанавливаем соответствующие флажки:
Сохраняем настроенную конфигурацию в каталоге wslvcxsrv
со стандартным именем config.xlaunch
.
Редактируем bat-файлы Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
в соответствии с имеющимися в них инструкциями.
Запускаем ярлык Plasma-desktop
, и вот что получаем:
Рабочий стол KDE Plasma полностью закрывает рабочий стол Windows, для переключения между окнами linux- и windows-приложений используем известную комбинацию клавиш Alt+Tab
, что не совсем удобно. Кроме того, выяснилась неприятная особенность X-сервера vcxsrv
– он «падает» при запуске некоторых приложений, в частности того же GIMP или LibreOffice Writer. Возможно следует подождать, когда разработчики уберут замеченные «баги», но это не точно… Так что для получения приемлемых результатов лучше использовать X Server Microsoft x410.
Заключение
Все-таки надо отдать должное компании Microsoft, продукт WSL2 получился вполне рабочим, и на мой неискушенный взгляд — весьма удачным. И насколько мне известно, разработчики продолжают усиленно его «допиливать», и возможно — через годик-другой, данная подсистема предстанет во всей своей функциональной полноте. Источник: habr.com
В Windows 10, наконец-то, появится легкий доступ к файлам Linux
Обновление Windows 10 в апреле 2019 года включает долгожданную функцию: «Поддержка легкого доступа, просмотра и даже модификации файлов подсистемы Windows для Linux (WSL) из проводника файлов или через командную строку».
Вместо прямого доступа к этим файлам Windows запускает сервер Plan 9 в фоновом режиме в качестве части программного обеспечения WSL. Windows 10 содержит «службу Windows и драйвер, который выступает в качестве клиента и взаимодействует с сервером Plan9». Этот сервер переводит ваши файловые операции и обрабатывает метаданные Linux, такие как разрешения на файлы, обеспечивая корректную работу даже при доступе к файлам с помощью инструментов Windows. Но это просто сложная вещь, которая происходит на заднем плане, и вам не нужно об этом думать.
Вы можете открыть окно Проводника файлов непосредственно в текущем каталоге из окружения оболочки Linux. Просто введите следующую команду в оболочку Bash:
explorer.exe .
Отсюда вы можете нормально работать с файлами. Используйте перетаскивание, копирование и вставку, или даже открывайте их непосредственно в приложениях Windows для изменения.
Microsoft может в будущем изменить то, как это работает. Но, пока что, вы также можете ввести следующий путь в окно Проводника, чтобы получить доступ к файлам дистрибутива Linux:
\wsl$\
Другими словами, если вы используете оболочку Bash от Ubuntu, вы печатаете:
\wsl$Ubuntu
Конечно, это также работает из командной строки. В PowerShell или командной строке команда cd wsl$Debian изменяет корневую директорию вашей установленной системы Debian.
Подсистема Windows для пользователей Linux давно нуждается в этой функции. Наконец-то, появился способ работать с этими файлами без риска что-то сломать.
Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, Яндекс.Мессенджере и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.
Также читайте меня в социальных сетях: Facebook, Twitter, VK и OK.
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.
Есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI или PayPal:
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
ли со статьей или есть что добавить?