- Установка WSL2
- Установка X-utils
- Установка VCXsrv
- Делаем так, чтобы это работало всегда
- Установка Windows terminal (опционально)
Если ты собираешься устанавливать VCXsrv (а скорее всего это так), то поставь его скачиваться сейчас. (общажным лучше
качать по зеркало 2 - точно работает)
[тык]
[зеркало 1 (моё)]
[зеркало 2 (тоже моё)]
WSL1 (Windows subsystem for Linux (как то неправильно имхо они её назвали, по идее должно быть наоборот)) - прослойка
между ядром линукса и виндой чтобы можно было запускать linux-овские программы.
WSL2 - то же самое, только теперь линукс работает полностью виртуально. (см. виртуальные машины)
- Поставить качать это
- Проверить что ваш компьютер совместим. А совместим он если
- У вас установлена windows версии 2004 (проверить можно в окне "Система"). (А лучше просто обновить винду, если вы давно этого не делали. Возможно микромягкие запатчили какой нить зиродей, но об этом не сказали.)
- Компьютер поддерживает Hyper-V (виртуализация какой её видит microsoft). Проверить это можно в диспетчере задач ( Производительность -> ЦП -> Снизу справа строка "Виртуализация") См Заметка о Hyper-V
- Включаем WSL - прописать в PowerShell (просто найти в поиске винды) с правами администратора следующее:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Не закрывайте консоль - она вам ещё понадобится. - Туда-же пишем
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Теперь пишем
shutdown /r /f /t 0
- Доброе утро.
Помнишь ту штуку из 0 шага? Запускай её. - Пишем
wsl --set-default-version 2
в PowerShell от имени администратора - тык
Регаемся в microsoft store или вводим учётку - ждём пока установится - Открываем и ждём. WSL распаковывается и устанавливается, так будет только один раз. Дальше она будет запускаться моментально.
- Linux спросит нас - как назвать пользователя. Можно писать что угодно. Например, можно использовать никнейм с
гитхаба.
Дальше нужно придумать пароль. Это важный шаг, потому что то что вы сейчас придумаете, останется с вами на долгое время, поэтому лучше позаботиться о том чтобы ваш пароль был хорошим и запоминаемым.
Если вы не уверены в вашем текущем пароле (например используете его в больше чем 5 местах или не считаете его достаточно важным), то лучше сгенерить новый.
Я рекомендую вот этот генератор, его можно настроить под свой вкус. (по мотивам одного комикса)
Когда вы будете вводить пароль линукс не покажет то что вы печатаете - это нормально. Это делается, чтобы пароль не светился на экране. - Если всё прошло хорошо, то вас поприветствует следующая строка (или что-то похожее на это)
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 4.19.128-microsoft-standard x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Fri Feb 19 00:33:13 MSK 2021
System load: 0.0 Processes: 32
Usage of /: 1.0% of 250.98GB Users logged in: 0
Memory usage: 49%
Swap usage: 8%
irdkwmnsb@irdkwmnsb-laptop:/mnt/c/Users/me$
(для любознательных) Давайте разберёмся в том что мы видем.
Всё кроме последней строки называется MOTD (Message of the day) и так он выглядит на дистрибутивах ubuntu.
Последняя строка состоит из нескольких вещей
irdkwmnsb
- имя текущего пользователя linux.
У всего что запускается в линуксе есть пользователь который это запустил. Есть один специальный пользователь которому
дозволено делать всё что угодно - root
. У него UID (user id) = 0. Чтобы выполнять команды от имени рута, нужно
использовать утилиту sudo
(если коротко, то эта штука позволяет некоторым пользователям запускать некоторые программы
под некоторыми другими пользователями. Настройки у неё в /etc/sudoers (я не буду сейчас углубляться про то как работают
пользователи, но отмечу что помимо пользователей есть группы, это немного другое, и если очень интересно почитать про
это, то гугл - твой друг)).
Существует так же другя утилита которая называется su. Она позволяет логиниться под другим пользователем (логиниться -
открывать shell (оболчку команд для компьютера)). Если запускать su без аргументов, то она откроет оболочку для "
владельца" этого процесса.
Соответствено сочитание sudo su
говорит ОС - пожалуйста, запусти su
как будто это делает root
. Что
происходит? su
даёт нам оболочку под пользователем root
. Попробуйте написать sudo su
в консоль и убедиться что имя
пользователя действительно сменится на root
. Так же, пока мы тут, обратите внимание, что $
сменился #
. Об этом
позже.
@
- знак разделения между именем пользователя и именем хоста.
irdkwmnsb-laptop
- имя хоста текущего компьютера (так же известный как hostname)
:
- знак разделения между именем хоста и текущем путём
/mnt/c/Users/me
- путь до текущей папки.
Если путь начинается с /
, то это абсолютный путь.
В линуксе все файлы имеют абсолютный путь. Попробуйте сделать ls /
(list (перечислить) /
(root directory (корневая
директория))).
Если вдруг внезапно напало желание преисполниться в сознании, то можно гуглить 'What does {x} directory do in linux',
где вместо {x} одно из того что вам было написано.
Рано или поздно вы наткнётесь на директорию /proc
и вам скажут что это особая директория, файлы которой не находятся
на диске. На самом деле, эти файлы "виртуальные". Их действительно нет на диске - операционная система делает их на
лету. Всё потому что в линуксе - всё это файл. Про это тоже можно погуглить.
Если путь начинается с .
, то это относительный путь
В любой директории вам гарантируется две директории - .
и ..
, что соответствует текущей директории и директории
родителя. Значит cd ..
(change directory (поменять директорию)) поменяет текущую директорию на директорию родителя.
Можно попробовать это сделать и увидеть, что теперь мы оказались в родительской директории.
Если путь начинается с ~
, то это тоже относительный путь, но относительно домашней папки текущего пользователя.
У каждого пользователя есть домашняя папка. Это всё что можно знать. Несколько моментов:
В отличие от винды в линуксе директории разделяются слешем, а не бэкслешем, но это не так важно. Если файл начинается с
точки, то он считается скрытым. Именно поэтому когда мы делаем ls
мы не видим директории .
и ..
. Чтобы ls
писал
все файлы нужно добавить параметр -a
(ls -a
)
Некоторые программы могут сохранять настройки в своей домашней директории, поэтому если вы внезапно увидите файлы или
директории которые начинаются с точки в вашей домашней директории, не удивляйтесь если что то сломается когда вы их
удалите (не удаляйте их).
И последняя часть - $
- так называемый prompt - компьютер сообщает нам, что можно вводить команду. Если вместо $
стоит #
, то команда будет выполнена от имени суперпользователя (root-а)
- Пишем
sudo su
, чтобы войти в суперпользователя (нужно будет ввести пароль). - Пишем
apt-get update
apt-get install x11-utils
можно я сейчас не буду объяснять что это делает бажожда
но если коротко, то мы просим менеджер пакетов сначала обновиться, а затем установить X11 utils. Это нужно чтобы проверить работоспособность X сервера
- Запускаем то что мы скачивали в самом начале. Прожимаем Далее (не установит яндекс браузер, не бойтесь.)
- Проверяем что оно работает двумя командами
- В меню пуск ищем "выполнить" и запускаем от имени администратора. Пишем
"C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl -dpi auto
Файервол попросит разрешение. Даём. - Пишем в терминал WSL
DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 xmessage -center "almost there"
Если всё установилось окэй, то мы должны увидеть окошко с сообщением "almost there"
- В меню пуск ищем "выполнить" и запускаем от имени администратора. Пишем
- Нажимаем Windows + R (выполнить) и пишем
shell:startup
Создаём ярлык на"C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl -dpi auto
- В WSl пишем
echo "export DISPLAY=\$(cat /etc/resolv.conf | grep nameserver | awk '{print \$2}'):0" | sudo tee /etc/profile.d/xsetup.sh
- Проверим.
Закрываем консоль ubuntu и снова открываем.
Пишемxmessage -center "stil works"
.
Если открылось окошко, то всё всё ещё работает и скорее всего будет работать.
Поздравляю! Вы восхитительны
Можно перезапустить компьютер ещё раз и ещё раз всё проверить.
С этим терминалом вы получите наилучший опыт использования WSL и Windows Powershell. Он очень гибко настраивается и вообще крутой парень.
Да собственно всё. Просто установите и пользуйтесь. Работает из коробки очень хорошо.
Чтобы открыть Ubuntu, нажмите на стрелочку вниз которая находится наверху. Там будет Ubuntu 20.04
Можно закрепить его в панели быстрого доступа, чтобы каждый раз не искать его.
Современные игры очень хотят чтобы в них небыло читеров. Поэтому многие из них помимо самой игры устанавливают античиты, которые въедаются в систему достаточно глубоко. Поэтому, иногда античиты просят выключить Hyper-V (точно знаю, что так делает Face it, а ещё вроде античит от valorant-а), и если вы это сделали, то вот как сохранить возможность гамать и решать домашки.
- Качаем EasyBCD (ссылка на моё зеркало)
"сочитание" - сочетание