Найти в Дзене
Герман Геншин

Я нашёл способ запускать любые Windows-программы на Linux — и это реально работает!

Linux стал сегодня гораздо удобнее, но по-прежнему многие важные Windows-программы на нём не запускаются. Благодаря одной находке с открытым исходным кодом мне наконец удалось запускать 90% нужных мне Windows-приложений прямо на Linux. Рассказываю, как это работает — и как настроить всё самостоятельно. Большинство программ для Windows отказываются работать на Linux — если только у них нет специальных версий под Linux. Увы, даже знаменитый Proton, тот самый совместимый слой от Steam для запуска игр, спасает только в мире видеоигр и то не всегда. Если вам нужно что-то кроме игр, приходится искать другие решения. И тут выручает WinApps. Этот проект объединяет продвинутую виртуальную машину, протокол удалённого рабочего стола (RDP) и специальный интерфейсный модуль для Linux. В итоге программы запускаются внутри Windows, но выглядят и ведут себя как обычные приложения для Linux! Лично у меня задержек почти нет — большинство программ работают так, будто я запустил их на Windows. Да, тяжёлы
Оглавление

Linux стал сегодня гораздо удобнее, но по-прежнему многие важные Windows-программы на нём не запускаются. Благодаря одной находке с открытым исходным кодом мне наконец удалось запускать 90% нужных мне Windows-приложений прямо на Linux. Рассказываю, как это работает — и как настроить всё самостоятельно.

Как действительно запускать Windows-приложения на Linux?

Большинство программ для Windows отказываются работать на Linux — если только у них нет специальных версий под Linux. Увы, даже знаменитый Proton, тот самый совместимый слой от Steam для запуска игр, спасает только в мире видеоигр и то не всегда. Если вам нужно что-то кроме игр, приходится искать другие решения.

И тут выручает WinApps. Этот проект объединяет продвинутую виртуальную машину, протокол удалённого рабочего стола (RDP) и специальный интерфейсный модуль для Linux. В итоге программы запускаются внутри Windows, но выглядят и ведут себя как обычные приложения для Linux!

Как быстро работают Windows-программы через WinApps?

Лично у меня задержек почти нет — большинство программ работают так, будто я запустил их на Windows.

Да, тяжёлые программы вроде Photoshop шелестят ресурсами сильнее. Я не профи-художник, но ради теста открыл огромные холсты и начал над ними колдовать — появилось небольшое притормаживание. Хотя мой старенький ноутбук и на обычной Windows не всегда с этим справлялся.

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

Как я всё это настроил на Linux — подробная инструкция

Запустить Photoshop на Linux получается именно благодаря виртуалке, лежащей в основе WinApps. Поддерживаются три варианта виртуальных машин, но советую брать Docker или Podman — это проще всего. Я остановился на Podman — он у меня уже был установлен, к тому же использую Kubuntu на базе Debian.

-2

Этот дистрибутив Linux я всегда советую поклонникам Windows

Перейти на Linux теперь не проблема — всё стало очень удобно.

Чтобы поставить Podman и Podman Compose, откройте терминал и выполните вот такие команды:

Эти команды установят Podman, Podman Compose и дополнительные утилиты, которые пригодятся позже. Если у вас не Debian-подобная система, посмотрите инструкцию на сайте Podman под вашу платформу.

Дальше создайте две папки — они понадобятся для настроек. Введите такие команды:

Когда папки уже есть, нужно сделать два файла — они подскажут WinApps и виртуалке, как им работать вместе.

Первый — compose.yaml: в нём указываются настройки вашей виртуальной машины. Готовый пример уже есть в документации WinApps. Я использовал Podman, поэтому раскомментировал строки 48 и 49, как написано в инструкции.

В этом же файле можно поменять объём оперативной памяти и число ядер процессора для вашей ВМ. У меня старый ноутбук, потому оставил всё по умолчанию.

Я отредактировал compose.yaml в редакторе Kate и сохранил его в первую из созданных папок WinApps.

-3

Второй файл — это конфиг WinApps. Пример тоже лежит на GitHub проекта.

Я почти ничего не менял — только прописал WAFLAVOR="podman" вместо WAFLAVOR="docker", потому что работал с Podman. Если у вас Docker — оставьте, как в примере.

Редактировал его через Vi, вот команда:

Скопировал содержимое примера — готово.

-4

Теперь запускаю виртуалку командой podman-compose --file ~/winapps/compose.yaml up, захожу через браузер на 127.0.0.1:8006, прохожу всю установку и закрываю терминал и браузер.

Осталось две вещи: сначала тестируем RDP-соединение, потом устанавливаем WinApps.

У меня была виртуальная машина на Podman, поэтому выбирал соответствующую команду. Для Docker команда чуть отличается — её легко найти в документации.

Вводите логин и пароль, которые указали в compose.yaml.

Откроется окно с Windows — им вполне можно пользоваться как обычным рабочим столом. Я установил туда всё необходимое программное обеспечение, но затем всегда можно добавить ещё — просто повторите команду.

Когда всё готово, запускаете установку:

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

-5

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

Сегодня с Proton на Linux можно запускать почти все игры из Steam — кроме нескольких с хитрыми античитами. Теперь же, с WinApps, у меня нет больше ни одной причины держать на компьютере Windows!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: