Найти в Дзене

Запуск нейросети под Linux, но на Windows (LinDows-WinUx), на примере запуска "ComfyUI" в "Kali Linux".

Хочу показать вам один из способов локальной установки нейросетей в "страшной смеси", которую я называю "LinDows" (или "WinUx"). Работа в этом режиме иногда позволяет запустить на Windows то, для чего не существуе (пока) Windows-версии или пакетов питона под Windows. Тут и далее я использую для примера "ComfyUI" Поскольку основные разработки нейросетей ведутся не для Windows, а для Linux, то раньше всего все обновления и новые разработки появляются именно для линукс платформы и используя описанную технологию вы можете на Windows-машине работать напрямую с линуксом. Как известно, в современных версиях Windows корпорация Microsoft внедрила подсистему Windows для Linux (WSL) — функции, позволяющей запускать среду Linux непосредственно в Windows без необходимости использования виртуальных машин или двойной загрузки системы. Эта технология, впервые представленная в Windows 10, получила дальнейшее развитие в Windows 11, где установка WSL стала доступна прямо из "Microsoft Store". Такая интег
Оглавление

Хочу показать вам один из способов локальной установки нейросетей в "страшной смеси", которую я называю "LinDows" (или "WinUx"). Работа в этом режиме иногда позволяет запустить на Windows то, для чего не существуе (пока) Windows-версии или пакетов питона под Windows.

Тут и далее я использую для примера "ComfyUI"

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

Как известно, в современных версиях Windows корпорация Microsoft внедрила подсистему Windows для Linux (WSL) — функции, позволяющей запускать среду Linux непосредственно в Windows без необходимости использования виртуальных машин или двойной загрузки системы. Эта технология, впервые представленная в Windows 10, получила дальнейшее развитие в Windows 11, где установка WSL стала доступна прямо из "Microsoft Store".

Такая интеграция создана для тех, кто ценит гибкость Linux и удобство Windows. WSL не просто эмулирует команды Linux, а предоставляет полноценную совместимость с бинарными файлами благодаря архитектуре WSL 2, основанной на гипервизоре Hyper-V3. Пользователи получают доступ к мощным инструментам разработки, включая поддержку графических приложений через wslg, прямую работу с GPU и даже возможность запуска кроссплатформенных проектов без потери производительности.

Именно на примере этой подсистемы я и покажу вам как можно использовать "ComfyUI" и в той, и в другой среде.

Windows Subsystem for Linux (WSL) — это технология от Microsoft, которая позволяет запускать Linux-дистрибутивы прямо в Windows.
WSL работает как слой совместимости, который переводит команды Linux в понятные для Windows операции. В итоге можно использовать большинство Linux-команд и утилит, таких как bash, grep, apt, и даже запустить графические интерфейсы приложений.
Установка проводится на машине со следующими характеристиками:
-2

Все команды, выполняемые в этом примере, пронумерованы и для повторения в вашей системе просто выполните их в том же порядке. Каждая команда оформлена в тексте как "элемент списка", например:

  • Это команда!

Введение

Встроенная подсистема линукса на Windows-машине вызывается командой:

  • wsl
Ответ WSL если система не имеет установленных дистрибутивов линукса
Ответ WSL если система не имеет установленных дистрибутивов линукса

Общее правило: при обращении к системе WSL из терминала Windows надо просто начинать команду с символов "wsl" + "команда".

Следующая команда выводит список доступных для онлайн установки дистрибутивов линукс:

  • wsl --list --online
Выведен список доступных дистрибутивов линукса для онлайн установки
Выведен список доступных дистрибутивов линукса для онлайн установки

Для установки системы WSL возьмем систему "kali-linux" (вы можете выбрать себе любую, которая вам больше нравится, я взял просто для примера).

Установка WSL

Для установки дистрибутива "kali-linux" следует выполнить команду:

  • wsl --install kali-linux

После этого начнется скачивание указанного дистрибутива:

Процесс скачивания запущен
Процесс скачивания запущен

Как только он будет завершен, вам будет выдана команда для её запуска:

Выдана команда запуска выбранной системы
Выдана команда запуска выбранной системы

Запускаем систему командой:

  • wsl -d kali-linux

Система первым делом попросит вас ввести "Имя пользователя":

Примечание: если не хотите проблем, пишите имя пользователя латиницей без пробелов и в нижнем регистре, поскольку линукс (в отличие от Windows) различает в командах и путях регистр символов (выбирайте имя покороче)!
Запрос ввода имени пользователя
Запрос ввода имени пользователя

Я введу имя "nstor" + Enter
Система запросит ввод пароля для нового пользователя:

Запрос пароля пользователя
Запрос пароля пользователя

Я введу "1234".
Система попросит повторить пароль еще раз:

После повторного ввода пароля мы уже в линуксе.
После повторного ввода пароля мы уже в линуксе.

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

Ву-а-ля! Мы теперь в терминале линукса!

Для перехода в режим "root" (администратор), служит команда:

  • sudo -s

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

  • exit

Пример (система запросит пароль перед первым входом в режим "root"):

Вход в root  и выход обратно (2 раза)
Вход в root и выход обратно (2 раза)

Запуск и остановка WSL

В окне терминала Windows (режим командной строки "cmd") просто введите команду:

  • wsl

Ниже скриншот, в котором желтой стрелкой выделена последовательность команд:

  • запуск wsl
  • переход в режим "root"
  • ввод пароля для "root"
  • выход в пользовательский (nstor) режим
  • выход в Windows
Последовательность запуска, перехода в "рута", выхода из "рута", и выхода обратно в Windows
Последовательность запуска, перехода в "рута", выхода из "рута", и выхода обратно в Windows

Настройка "Kali-Linux" на русский язык

Теперь установим локализации, (в том числе русскую, "штоп по-русски писала" и интерфейс русский был!).

  • sudo apt install locales

Система скачает языковые пакеты локализаций (локали):

Установка локалей
Установка локалей

Теперь переключимся на русский язык:

  • sudo dpkg-reconfigure locales

В открывшемся окне пролистайте список клавишами курсора, выберите (пробелом) "ru_RU.UTF-8 UTF-8", перейдите ("Tab") на кнопку "Оk" и нажмите "Enter":

Выбор русского языка в локали
Выбор русского языка в локали

Откроется окно, в котором курсором выбрать "ru_RU.UTF-8", с помощью "Tab" перейти на "Ok" и нажать "Enter". Так системе будет дана команда использовать интерфейс на русском языке.

Выбор языка интерфейса системы
Выбор языка интерфейса системы

ПЕРЕЗАГРУЗИТЕ СИСТЕМУ WSL !!!!!!!!!!!!!!!!!!!!!!!!!!

Просто закройте терминал и запустите его снова.

Установка графического интерфейса

И так: система у нас установлена, она вполне работоспособна, но пока не настроена так, чтобы с ней было удобно работать. Нам ведь требуется не только "посмотреть на линукс", а хорошо бы, чтобы его хоть как-то использовать с пользой.

Команда "sudo apt update" используется для обновления списка доступных пакетов в системе Linux. Команда подключается к настроенным в системе программным репозиториям и загружает актуальные списки пакетов и их версий. Это позволяет системе узнать, какие обновления или новые пакеты доступны для установки.

Примечание: "sudo" обозначает, что следующая за ним команда должна выполняться в режиме "root" (от имени администратора) без постоянного перехода в режим "sudo -s" прямо из режима пользователя "nstor". Если вы уже находитесь в режиме "root", то приставку "sudo" можно опустить, поскольку вы и так уже в "root".
Пурпурной рамкой обведено сообщение системы о том, что информационно сообщение, которое выводится каждый раз при старте режима терминала можно скрыть набрав команду "touch ~/.hushlogin". Я ее сейчас введу один раз, и оно больше появляться не будет:
-15
Я убрал "предваряющее сообщение", оно больше появляться не будет.
Я убрал "предваряющее сообщение", оно больше появляться не будет.

Обновляем список пакетов:

  • sudo apt update

Будет запрошен пароль "root", начнется скачивание пакетов в систему и в конце она сообщит, что все пакеты обновлены.

Обновление пакетов системы
Обновление пакетов системы

Установка графического интерфейса производится командой:

  • sudo apt install -y kali-win-kex

Система начнет закачивать большое количество файлов, выведет вам несколько "простыней" - отчетов, что она делает, что качает и т.п. Я не привожу скриншотов этого процесса, мы просто ждем, пока она закончит установку.

Можно смело пойти попить чаю, и не только....

Запуск графического интерфейса

Есть разные режимы работы с графикой, я больше работаю через "RDP клиент Windows" (режим ESM).

Команда запуска графического интерфейса со звуком:

  • kex --esm -s

Интерфейс запустился, открылось окно RDP-терминала и вывело сообщение, что оно ожидает ввода пароля пользователя:

Ожидание ввода пароля пользователя
Ожидание ввода пароля пользователя
Вводим свой пароль (у меня "1234")
Вводим свой пароль (у меня "1234")

После этого открывается графический терминал "Kali-Linux", причем уже сразу на русском языке (поскольку русскую локаль мы установили ДО его установки).

Команда запуска графического интерфейса
Команда запуска графического интерфейса

Установка "MC":

Менеджер файлов "Midnight Commander"

  • sudo apt install mc

Система найдет его, высчитает список пакетов, которые требуется установить для его нормальной работы, и запросив у вас подтверждение на установку, все сама скачает и установит (надо только "y" подтвердить).

Установка "Midnight Commander"
Установка "Midnight Commander"

Теперь запускаем "Midnight Commander":

  • mc

Ву-а-ля! Русский язык!

"MC" на русском языке
"MC" на русском языке
Примечание: в этой системе софт включает свой интерфейс в зависимости от установленного языка системы!
Поэтому желательно сначала установить русскую локаль и русский интерфейс, а уж потом начать инсталляцию софта.
Многие программы могут переключать язык интерфейса на язык установленной локали системы, но лично мне встречался софт, который при инсталляции скачивает только язык локализации текущего интерфейса, и последующее переключение языка интерфейса системы не приводило к смене языка интерфейса уже установленного приложения!
Поэтому я взял себе за правило:
- сначала установи все локали и языки
- потом начинай инсталляцию софта
В нашем случае, при уже установленной и настроенной русской локали, графический интерфейс сразу установится и включится на русском языке!!!

При этом надо помнить, что запуск программ может быть осуществлен как в графическом интерфейсе RDP, там и в строке терминала Windows:

Пример запуска MC: нижний запущен из windows терминала, верхний в графическом интерфейсе по RDP.
Пример запуска MC: нижний запущен из windows терминала, верхний в графическом интерфейсе по RDP.

Без графического интерфейса режим терминала работает на порядок быстрее, поскольку работа идет через гипервизоре Hyper-V3.

Установка "htop"

  • sudo apt install htop
  • htop
Работа htop - просмотр процессов линукса и слежение за нагрузкой на систему
Работа htop - просмотр процессов линукса и слежение за нагрузкой на систему

Работа с линукс в режиме терминала

Как я уже писал, команду в линукс можно послать прямо из командной строки Windiws вызвав WSL и передав ему параметры. К примеру, команда "wsl mc" сразу откроет "Midnight Commander" прямо в windows терминале:

  • wsl mc
Команда
Команда

Результат ее выполнения:

MC в Windows терминале
MC в Windows терминале

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

Посыл команды в линукс из командной строки Windows
Посыл команды в линукс из командной строки Windows

Доступ к файловой системе линукса

После установки любого дистрибутива линукса его дерево каталогов появится в дереве проводника Windows:

Установленный экземпляр линукса в файловой системе Windows
Установленный экземпляр линукса в файловой системе Windows

Доступ к файлам осуществляется традиционно — через проводник Windows

Файловая система линукса в проводнике
Файловая система линукса в проводнике

Адресация файлов будет выглядеть так:

-30

Попробуем вставить адрес в этой нотификации в windows-терминал:

Запрос содержимого каталога отправленный в линукс возвращается в windows-терминал
Запрос содержимого каталога отправленный в линукс возвращается в windows-терминал

Команды, которые нам нужны

В режиме Windows-терминала:

  • wsl - запускает экземпляр линукса в терминале
  • wsl mc - запуск экземпляра файлового менеджера
  • wsl htop - запуск линукс наблюдения за нагрузкой на систему

... и т.п., любые терминальные программы линукса прямо под Windows

В режиме Linux-терминала:

  • kex --esm -s - запуск графического интерфейса

Подключение к незакрытой (текущей) сессии линукса через RDP-терминал:

-32

Примечание: если сессия линукса не запущена, сначала выполнить вход в терминал линуксе по "wsl" и уже из него запустить "kex --esm -s".
Автоматически открывшееся окно можно просто закрыть "по крестику" (не Выход!!!"), и после этого настроить свой вход через терминал дальше:

  • mstsc - открыть клиент удаленного доступа
Пjиск и открытие RDP-клиента
Пjиск и открытие RDP-клиента

После чего откроется окно, в которое ввести:

  • localhost:3390
Ввод адреса с номером порта
Ввод адреса с номером порта

Можно, нажав на "Показать параметры", открыть и настроить все остальные параметра подключения, какие там есть:

Настройка разрешения рабочего стола линукса
Настройка разрешения рабочего стола линукса

Нажав на "Сохранить как" можно записать свой файл RDP, щелчком по которому и можно будет входить в линукс с описанными в нем настройками:

Настроенный профиль можно сохранить
Настроенный профиль можно сохранить
Указать место сохранения
Указать место сохранения

Сохранив настройки в файле:

Файл настроек gодключения по RDP
Файл настроек gодключения по RDP
Примечание:
В Kali Linux нельзя настроить автоматический ввод пароля ESM (Enhanced Session Mode) для входа по RDP. При первом запуске графической оболочки "Kali Linux в режиме ESM" пароль для сервера RDP задаётся вручную.
После первого запуска в режиме ESM пароль для сервера RDP сохраняется в хранилище учётных данных Windows. Изменить его позже можно командой:
- kex --esm --passwd
Если нужно, чтобы пароль не запрашивался при последующих запусках, при первом запуске можно установить флажок «Больше не спрашивать» и подтвердить предупреждения. Эта опция запустит сервер "Win-KeX" и клиент в полноэкранном режиме. 

Все это хорошо, но причем тут нейросети?

А вот теперь, когда система WSL у нас установлена и настроена, мы приступаем к параллельной установке "ComfyUI" сразу в двух экземплярах:

  1. под Windiws 11
  2. под Kali-Linux
Примечание:
Обе установки будут совершенно одинаковые, различия будут только в компонентах, отличных для каждой из этих операционных систем.
Две установки нам нужны для того, чтобы мы могли запустить тестовые задания для нейросети и посмотреть, на какой из наших систем она справится быстрее.

Установка "ComfyUI" под "Windows 11"

Последовательность команд (для bat-файла):

1. powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. uv python install 3.12
3. mkdir c:\Test312
4. cd /d c:\Test312
5. git clone https://github.com/comfyanonymous/ComfyUI.git
6. git clone https://github.com/ltdrdata/ComfyUI-Manager.git "c:\Test312\ComfyUI\custom_nodes\ComfyUI-Manager"
7. uv venv --python 3.12
8. uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
9. uv pip install pip
10. uv pip install -r "c:\Test312\ComfyUI\requirements.txt"
11. uv run "c:\Test312\ComfyUI\main.py" --windows-standalone-build --front-end-version Comfy-Org/ComfyUI_frontend@latest
12. pause

1. Установка менеджера "UV"

Установка UP
Установка UP
У кого установлен. можно пропустить

2. Скачивание и установка "CPython 3.12"

  • uv python install 3.12
Установка питона
Установка питона

3 и 4. Создание рабочего каталога и переход в него

  • mkdir c:\Test312
  • cd /d c:\Test312
Без скриншотов )

5. Скачать репозиторий "ComfyUI" с "GitHub"

Скачали свежий репозиторий "ComfyUI"
Скачали свежий репозиторий "ComfyUI"

6. Скачать репозиторий "ComfyUI Manager" с "GitHub"

Просто в указанную папку, мы знаем где он должен стоять
Скачали свежий репозиторий "ComfyUI Manager"
Скачали свежий репозиторий "ComfyUI Manager"

7. Создание VENV питона с помощью "UV"

  • uv venv --python 3.12
Виртуальное окружение от питона 3.12 создано
Виртуальное окружение от питона 3.12 создано

8. Установка пакетов "TORCH-CUDA" для карт NVIDIA

  • uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
Установка пакетов "torch-cuda" для карт NVIDIA
Установка пакетов "torch-cuda" для карт NVIDIA
Примечание:
Это самая долгая операция, поскольку скачать надо около 6 гигабайт!
После первого скачивания дистрибутив помещается в кеш, и последующие повторные установки его занимают секунды.

9. Установка менеджера пакетов PIP

  • uv pip install pip
Установка "PIP"
Установка "PIP"
Примечание:
Я пользуюсь новым менеджером "UV" (который раз в 100 быстрее), который появился около года назад. Но сам "ComfyUI" и его компоненты требуют менеджера "pip", значит его устанавливаем именно для них.

10. Установка всех пакетов, которые требуются для работы "ComfyUI"

  • uv pip install -r "c:\Test312\ComfyUI\requirements.txt"
Установка пакетов из "requirements.txt" из корня папки "ComfyUI"
Установка пакетов из "requirements.txt" из корня папки "ComfyUI"

11. Запуск установленного "ComfyUI" с помощью "UV"

  • uv run "c:\Test312\ComfyUI\main.py" --windows-standalone-build --front-end-version Comfy-Org/ComfyUI_frontend@latest
Можете прописать себе в bat-файл эту команду, только путь поменяйте. Именно так запускается PY-скрипт через "UV"

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

Лог первого запуска
Лог первого запуска

Скрин WEB-интерфейса:

"ComfyUI" запущен
"ComfyUI" запущен

Лог второго запуска (можете сравнить с логом первого запуска):

Лог второго запуска
Лог второго запуска

Итог: "ComfyUI" под "Windows" установлен без ошибок.
Очередь за Linux-версией.

Установка "ComfyUI" под "Linux"

Установку под "WSL Linux" буду описывать по шагам.

1. Вход в терминал "Linux"

  • wsl
Вход в линукс в режиме командной строки Windows
Вход в линукс в режиме командной строки Windows

2. Установка менеджера "UV" под линуксом

Установка UV и проверка номера версии
Установка UV и проверка номера версии
Примечание:
"sudo" перед командой как указание на то, что надо перейти в режим "root" для установки. Зеленая стрелка - место запроса и ввода пароля "root". Исполнено две команды подряд, вторая как проверка доступности толь ко что установленного "UV".

2. Установка "CPython 3.12" с помощью "UV"

Мы устанавливаем ту же версию "CPython 3.12", что и на Windows, и с помощью того же менеджера "UV".
  • uv python install 3.12
CPython 3.12 установлен
CPython 3.12 установлен

3. Создание каталога установки нейросети

Поскольку я уже знаю локальные пути пользователя в линуксе, то я прямо создам папку "Test312" в домашней папке пользователя "nstor" следующей командой. Поскольку в линуксе это "домашняя папка пользователя", то добавление "sudo" перед командой не требуется.
  • mkdir /home/nstor/Test312
  • cd /home/nstor/Test312
Сразу две команды - создать каталог и перейти в него (сделать текущим)
Создание каталога и переход в него
Создание каталога и переход в него

4. Скачать репозиторий "ComfyUI" с "GitHub"

Команда аналогичная Windows
Скачивание "ComfyUI" c "GitHub"
Скачивание "ComfyUI" c "GitHub"

Проверяем, появилась ли она:

Папка появилась
Папка появилась

Папка появилась и путь к ней (посмотреть в полосе адреса в эксплорере):

  • \\wsl.localhost\kali-linux\home\nstor\Test312

Вот доступ к ней через "Total Commander":

Доступ к папке линукса через "Total Commander" есть
Доступ к папке линукса через "Total Commander" есть

5. Установка "ComfyUI Manager"

Поскольку локальные пути известны, то я дам команду клонировать репозиторий сразу в нужную папку в линукс нотации.
Напоминаю, что линукс различает верхний и нижний регистр символов, поэтому все пути и имена файлов пишем ПРАВИЛЬНО!
Закачано
Закачано

Проверяем, закачалось ли.

Закачалось
Закачалось

5. Создание VENV с помощью "UV"

Примечание: в команде я принудительно указываю версию питона.
Поскольку в линуксе уже есть свой питон (причем вместе с "kali-linux" он установился версии 3.13), то я указываю от какой версии питона мне надо создать venv, поскольку "UV" мог обнаружить имеющийся питон и "подхватить" его настройки при инсталляции.
Напомню, что текущая папка у нас "/home/nstor/Test312" (!!!)
  • uv venv --python 3.12
VENV создано
VENV создано

6. Установка пакетов "TORCH-CUDA" для карт NVIDIA

Команда установки пакетов "torch-cuda" под линукс сейчас точно такая же, как под Windows, но сами пакеты и их структура совершенно другая!
Процесс установки долгий, поскольку закачиваются очень большие объемы файлов, просто ждем, когда все закончится успешно. После закачки пакетов менеджер UV помещает их к кэш, и последующие установки тех же пакетов занимают считанные секунды.
  • uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

Идет процесс закачки:

Процесс закачки и установки пакетов "torch-cuda" под линукс
Процесс закачки и установки пакетов "torch-cuda" под линукс

Когда установка пакетов "torch-cuda" закончится, отобразится такой экран:

Установка "troch-cuda" завершена. У меня тут просто интернет очень слабый.
Установка "troch-cuda" завершена. У меня тут просто интернет очень слабый.

Далее пойдут аналогичные Windows команды установки пакетов "pip" и пакетов из "requirements.txt". Саим команды менеджера "UV" в разных системах друг от друга не отличаются.

7. Установка менеджера "pip"

Его наличия требуют многие сторонние компоненты. устанавливаемые на "ComfyUI", значит его устанавливаем именно для них.
  • uv pip install pip
Завершено
Завершено

8. Установка всех пакетов, которые требуются для работы "ComfyUI"

  • uv pip install -r /home/nstor/Test312/ComfyUI/requirements.txt
Пакеты из "requirements.txt" установлены
Пакеты из "requirements.txt" установлены

9. Запуск установленного "ComfyUI" с помощью "UV" под линуксом

Все то же самое, что и под Windows, только убираем специфичный для windows-ключ и меняем путь до файла "main.py" на линуксовый.
  • uv run /home/nstor/Test312/ComfyUI/main.py --front-end-version Comfy-Org/ComfyUI_frontend@latest

Первый старт под линукс:

Лог первого запуска под линукс
Лог первого запуска под линукс

WEB-интерфейс:

WEB-интерфейс
WEB-интерфейс

Второй старт на линукс:

Лог второго запуска под линукс
Лог второго запуска под линукс

Обратите внимание на то, что:

  • при втором запуске уже непроисходит никаких установок и запуск происходит намного быстрее
  • видеопамять доступна вся (всего 16Gbt на этой видеокарте)
  • RAM (оперативная) память доступна половина от имеющихся у меня 64Gb

Парметры выделения памяти и настройки запуска WSL зависят от его конфигурации. Файлы "wsl.conf" и ".wslconfig" используются для настройки расширенных параметров в WSL, которые будут применены "при запуске виртуальной машины WSL".

"wsl.conf" используется для применения параметров на основе дистрибутива WSL, а ".wslconfig" используется для применения глобальных параметров к WSL. Подробнее о различиях можно прочитать тут:

Документация по подсистеме Windows для Linux
Настройка дополнительных параметров в WSL

Как запускать "ComfyUI" в нашей конфигурации

Можно даже не входить в графический интерфейс линукса, а работать из терминала командной строки Windows:

  • wsl
  • cd /home/nstor/Test312
  • uv run /home/nstor/Test312/ComfyUI/main.py --front-end-version Comfy-Org/ComfyUI_frontend@latest

Скриншот запуска где три команды терминала и далее, в зеленой рамке, начало лога запуска "ComfyUI":

Последовательность запуска "ComfyUI" на WSL-линуксе из под "Windows 11"
Последовательность запуска "ComfyUI" на WSL-линуксе из под "Windows 11"

Дальше просто открываем ЛОКАЛЬНЫЙ БРАУЗЕР прямо в Windows по адресу:

  • http://127.0.0.1:8188
Запуск из под "Windiws 11" без захода куда-то еще.
Запуск из под "Windiws 11" без захода куда-то еще.

Сейчас модельку кинем какую-то в "models" и протестируем генерацию.

Открываем два окна проводника (да любого мменеджера файлов), слева папка "models\checkpoints" в комфи на линуксе по адресу:

  • "\\wsl.localhost\kali-linux\home\nstor\Test312\ComfyUI\models\checkpoints"
Адрес папки моделей в нашем примере
Адрес папки моделей в нашем примере

Справа папка с вашими моделями и просто перетаскиваем справа налево модель мышкой.

Установка моделей в линукс
Установка моделей в линукс

Она копируется:

-71

И появляется там:

-72

Далее рефрешим локальный браузер, выбираем нашу модель:

-73
И запускаем 6 генераций подряд:
Несколько генераций для того, чтобы посмотреть до какого минимального значения упадет время генерации картинки.
Локальное окно терминала Windows с логами из линукса + локальный браузер с обычным локальным адресом "ComfyUI"
Локальное окно терминала Windows с логами из линукса + локальный браузер с обычным локальным адресом "ComfyUI"

Если есть желание превратиться в садо-мазохиста, то можно войти в сессию линукса по RDP, открыть там в графическом интерфейсе браузер, выбрать скачанную модель, и провести генерацию внутри графической системы линукс:

Слева Windows-терминал, справа — открытая через RDP сессия линукса в графической оболочке "kali-linux"
Слева Windows-терминал, справа — открытая через RDP сессия линукса в графической оболочке "kali-linux"

Генерим из графического интерфейса линукс несколько снимков подряд:

-76

Время генерации не изменилось, что в графическом интерфейсе открывать браузер, что локальный Windows браузер - все едино.

Поэтому в графический интерфейс линукса можно даже не заходить, а работать в локальном Wimdows терминале и локаоьном браузере.

А что будет в сравнении с Windows установкой "ComfyUI"?

Закрываем сессию линукса полностью, запускаем нашу Windows установку комфика и генерим несколько снимков подряд:

  • cd /D c:\Test312
  • uv run c:\Test312\ComfyUI\main.py --windows-standalone-build --front-end-version Comfy-Org/ComfyUI_frontend@latest
Генерация полностью под Windows
Генерация полностью под Windows

Вске работоспособно. О скорости работы и "выгодах" или "не-выгодах" говорить сейчас рано. Надо нагружать и ту и ту систему одинаковой тяжелой задачей, а не простой и элементарной картинкой, тогда и можно будет делать какие-то выводы. Но это цель другой статьи - следующей.

Выводы

  • имея в наличии лишь Windows-машину под управление "Windows 10/11" на ней можно запустить как полностью Windows-версию установки "ComfyUI" (читай - любого Python-проекта), так и полностью Linux-версию любого Python-проекта.
  • отдельны компьютер/сервер для этого не требуется
  • любое Python-приложение, которое не имеет версии или нужного состава пакетов пиитона для Windows-версии, можно именно такои обращов запустить в Linux-варианте.

С чем вас и поздравляю.

Удачи!