Как стать автором
Обновить

Комментарии 29

Интересно кто те люди кто пользуется WSL? Обывателю он не нужен, нормальные разработчики используют linux и macos.

пока у меня мака не было - писал на swift под Linux на WSL :)

Джон Кармак, значит, ненормальный?

С появлением WSL2 отказался от десктопного линукса. Жизнь стала на много комфортней.

А я наоборот отказался от WIndows c WSL в пользу десктопного линукса - жизнь стала намного комфортнее. Ушли глюки с разветыванием образов в докере, сборка стала вместо 18 минут занимать 6.5 ну и все в таком духе

Крайне странные цифры про сборку, если только вы не догадались собирать на /mnt/[windrive] конечно.

Нет, сборка идет внутри линуксовой файловой системы, никакие /mnt/[windrive] не используются

Немного странные цифры по времени сборки, я такгого не видел. Пока что единственный существенный недостаток WSL - это внутренний (достаточно тормознутый) прокси, который ни как не обойти, из-за чего sync с кучей мелких файлов работает на порядок медленее.

Разработчики с корпоративными ноутбуками.

Для Windows и MacOSX существует ПО, гарантировано блокирующие загрузку с флешек и блокировку ноутбука в случае его потери или кражи (обойти можно, но цена взлома превышает критическую отметку). Для Linux подобное ПО всё же достаточно легко можно обойти.

У меня в компании раньше был стандарт - MacBook но, для работы нам нужны ноуты с интеловскими чипами, новые модные M1 не подходят от слова совсем. Поэтому Windows+WSL едва ли не единственный оставшийся вариант.

Поделитесь пожалуйста, что это за ПО. А почему нельзя заблокировать загрузку с флэшки в БИОС и запаролить его? И зачем вообще эти сложности с флэшками? По-моему диск надо шифровать если кража данных критична.

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

Отвечу за себя. Мне привычнее Windows. Я не разработчик. Мне нужно, чтобы работали всякие MS Office, Teams, Visio, Product Bulletin. Да и интерейс для меня лично удобнее, чем Gnome и его аналоги. Если говорить про средства для прошивок датчиков для умного дома и т.д. - программаторы чаще всего сделаны под Windows. Поэтому не вижу смысла создавать себе проблемы.

С другой стороны, взаимодействовать с Linux проще из Linux. Если проходить онлайн курсы, то часто Линукс удобнее. Или хочется что-то быстро попробовать, развернув это поверх Постгрес с Апачем. И это проще сделать в WSL, чем ставить отдельную ОС на ноутбук, или жить на чистом Линуксе.

Чисто субъективно.

MS Office - сейчас все кто с официально купленным офисом сидят на Office 365 который облачный и не привязан к платформе,
Teams - отвратительно работает даже на Windows, и терпимо на Android О_о

Облачная версия мне неудобна. Я слишком стар :). Я не ожидаю, что везде есть Интернет. Я не проверял последние года, как работает Excel в облаке, но раньше он не умел всего, что могла версия для ПК.

Я не говорю, хорошо ли работает Teams или нет. Он нужен. Он - корпоративный стандарт для многих компаний.

Например, сейчас ищу работу. Teams нужен регулярно. Резюме надо в формате Word. Пытался сохранять из LibreOffice Writer в формат docx. Выходит так себе :( Еще хуже дела с PowerPoint - из Implress в pptx выходит ужасно.

Работать через телефон мне неудобно (опять же возраст и привычки). Конкретно Teams и Outlook на моем телефоне не работают. Видимо, загасил сервис на телефоне, от которого эти проги зависят. Но даже если бы работали, я по возможности использовал бы ноутбук :)

Лет 10, минимум, все мои заказчики требовали резюме в формате pdf. Прям удивлен

  • Если это агентство по найму, оно любит править резюме.

  • Если это компания, то им пометки надо делать. Не всем. Но часто просят в doc(x).

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

doc(x) универсальнее.

У меня есть проблемы с WSL, решения которых я не нашел, и наткнулся на эту статью.

  1. После последнего обновления, WSL если долго висит в панели но ничего с ней не делаю, начала сыпаться ошибкой wsl [процесс завершил работу с кодом 1 (0x00000001)] и надо перезапускать, раньше такого не было, я мог уйти в гибернацию и вернуться через неделю, и консоль работала... А теперь могу целый день работать, просто не трогая запущенный терминал, и когда вхожу в него вижу что ошибка висит и надо его перезапускать. Мне это не очень удобно, т.к. у меня есть некоторые проблемы которые описаны в пункте 2.

  2. у меня с загрузкой не стартуют сервисы nginx, mysql, php для себя я нашел решение прописав их в bash_aliases командой, но он тоже с загрузкой не активируется. Получается мне надо вначале командой source активировать bash_aliases а дальше командой которая там прописана запустить нужные мне сервисы. Я не нашел решения, как и где прописать что мне нужно чтоб было запущено с стартом системы.

    У вас увидел что вы редактируете этот файл user@DESKTOP:~$ sudo vim /etc/wsl.conf [boot] systemd=true

Если я сюда пропишу в разделе boot все свои команды это сработает? Просто боюсь что-то накосячить.

Или может знаете как решить мою проблему в пункте 2? Ну и если есть идеи чтоб он не вываливался с ошибкой wsl [процесс завершил работу с кодом 1 (0x00000001)] а висел в фоне сколько нужно и не валился при гибернации.

Контейнер wsl запускается с первым терминалом. Автозагрузка возможна, но сработает только когда вы откроете терминал.


Если вам надо запускать что бы то ни было со стартом системы — лучше использовать обычный linux на виртуалке Hyper-V.

Мне и надо чтоб все сервисы запускались с терминалом, когда я контейнер WSL запускаю... Мне не надо чтоб он запускался с системой windows. У меня проблема в том, что при запуске системы которая стоит на WSL (у меня ubuntu) все сервисы которые мне нужны, такие как nginx, mysql, php не запускаются вместе с ней, и их надо запускать отдельными командами, а как сделать чтоб они запускались вместе с системой при запуске терминала WSL, чтоб мне каждый раз не приходилось команды вводить - я не нашел.

На виртуалке не удобно, лучше сразу тогда linux накатить как систему - уже проверено. WSL очень ускоряет помощь в разработке доставляя прелести linux из под винды, если у тебя машина не только под разработку а и для других задач - то WSL отличное решение, лучше чем linux на виртуалке, но тоже не без минусов. Kali linux вообще с kex работает, с рабочим столом как положено... Но мне ubuntu server нужен.

Я так понимаю если я systemd в boot помещу, как в примере, то все сервисы должны автоматом грузиться, и мне не надо будут дополнительные танцы с бубном, но я опасаюсь что могу например убить систему полностью и придется переустанавливать и заново настраивать, что мне не хочется, вот прежде чем рискнуть попробовать, хотел уточнить у людей которые возможно уже проверяли данный подход.

В общем, сработало, добавил в wsl.conf

[boot]

systemd=true

WSL стал грузиться немного дольше, но теперь все сервисы необходимые мне запущены со старта.

Как теперь заставить ./bash_aliases добавить чтоб с системой грузились команды мои? Может Ubuntu для WSL другой файл используется для пользовательских команд?

Вы точку-то не забыли поставить? ~/.bash_aliases

Как-то ваш комментарий попахивает дескриминацией. Почему "нормальные разработчики" не могут использовать wsl? Microsoft вырастил огромное количество .net разработчиков привыкших к их экосистеме. А теперь со времен .net core дал им полноценную поддержку linux. И что-то мне кажется, что все эти люди не бросятся сломя голову с привычной им системы на linux, которого многие даже в глаза не видели до этого.
Я лично наоборот радуюсь, что Microsoft по сути смогли в wsl и дали возможность вести разработку для linux под виндой и, давайте признаем, у них это получилось не плохо. Оно работает, проблемы может и есть, но решаемые в целом. Наличие инструментария это по сути признак зрелости среды, а уж чем конкретно пользоваться - это уже выбор конечных разработчиков.

Распределение по умолчанию: Ubuntu-20.04

То есть дистрибутив назвали распределением? :)))

Я даже не сразу понял, что имеется в виду. Потом понял, что это машинный перевод by Microsoft.

Столкнулся с такой проблеммой-Vagrant(VirtualBox) не работает на Windows одновременно с DockerDesktop. Кто-нибудь нашёл решение?

Да. При установке докера убери галочки use "WSL2 based engine for better performance" или что-то вроде того. Будет медленнее, но скорее всего для учебных целей вы не заметите разницы.

Ещё бы им работать, DockerDesktop использует либо Hyper-V, либо WSL2 который использует общую с Hyper-V платформу. То есть DockerDesktop в любом случае использует гипервизор от Hyper-V, а VirtualBox с ним не дружит. Ну, где-то я видел информацию что VirtualBox тоже умеет этот гипервизор использовать — но "завести" в таком режиме её у меня ни разу не получилось.


Предлагаю попробовать либо переключить Vagrant с VirtualBox тоже на Hyper-V либо на Docker (доки утверждают что он умеет оба варианта). Либо можно отказаться от серверной части Docker desktop и создать для него виртуалку в той же VirtualBox, после чего переключить контекст клиента на подключение к этой виртуалке.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации