П’ятниця, 9 Січня, 2026

Як запустити практично будь-який додаток для Windows в Linux

Linux став значно дружнішим до користувача, ніж будь-коли раніше, однак досі існує велика кількість незамінних програм для Windows, які взагалі не працюють у Linux. За допомогою одного відкритого програмного рішення вдалося вирішити цю проблему приблизно для дев’яноста відсотків програм Windows, які регулярно використовуються. Нижче описано, як саме це працює.

Більшість програм для Windows не запускаються у Linux, а ті, що запускаються, зазвичай мають спеціальні версії, скомпільовані саме під Linux. На жаль, Proton, потужний шар сумісності від Steam, також підтримує далеко не все. Якщо йдеться не про гру, у більшості випадків розраховувати на нього не доводиться.

Саме тут на сцену виходить WinApps. WinApps поєднує ефективну віртуальну машину, протокол віддаленого робочого столу RDP та модифікацію інтерфейсу користувача Linux. У сукупності ці компоненти дозволяють запускати конкретні програми у віртуальній машині з Windows, а потім інтегрувати їх так, ніби це нативні застосунки Linux.

Продуктивність програм Windows у WinApps

Під час тестування було встановлено, що затримки практично не відчуваються, а продуктивність більшості програм майже не відрізняється від їх нативного запуску.

Звісно, деякі програми, наприклад Photoshop, є доволі вимогливими до ресурсів. Водночас за відсутності професійного навантаження, характерного для підготовлених графічних дизайнерів, обмеження не є критичними. Під час створення великих полотен і спроб маніпулювати ними в реальному часі застосунок може почати сповільнюватися, однак аналогічна поведінка спостерігається і на не надто новому ноутбуці з нативною Windows.

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

Налаштування WinApps у Linux

Запуск Photoshop у Linux у цьому випадку фактично базується на використанні віртуальної машини. WinApps підтримує три різні варіанти віртуалізації, однак з міркувань простоти доцільно використовувати Docker або Podman. У наведеному прикладі використовується Podman, оскільки він уже був встановлений у системі. Система базується на Kubuntu, яка, своєю чергою, побудована на Debian. Для встановлення Podman та Podman Compose необхідно відкрити термінал і виконати такі команди:

sudo apt -y install podman
sudo apt -y install podman-compose
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd

Ці команди встановлюють Podman, Podman Compose, а також додаткові пакети, які знадобляться пізніше. Якщо використовується дистрибутив, не заснований на Debian, необхідно скористатися відповідними інструкціями встановлення Podman для конкретного дистрибутива.

Після цього потрібно створити дві директорії, які знадобляться надалі. Для цього виконуються такі команди:

mkdir ~/winapps
mkdir ~/.config/winapps

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

Перший файл це compose.yaml, який описує конфігурацію віртуальної машини. В інструкціях WinApps доступний готовий приклад compose.yaml. Оскільки використовується Podman, а не Docker, необхідно розкоментувати рядки 48 і 49.

У цьому файлі також можна змінити обсяг оперативної пам’яті та кількість процесорних ядер, доступних віртуальній машині. У наведеному випадку ці параметри не змінювалися, оскільки система не має значного запасу ресурсів.

Весь вміст файлу було вставлено у текстовий редактор Kate для редагування, після чого файл було збережено у першу створену директорію WinApps.

Далі потрібно створити конфігураційний файл для самого WinApps. Приклад такого файлу також доступний у репозиторії WinApps на GitHub.

У більшості випадків налаштування можна залишити без змін. Єдиною зміною стало встановлення параметра WAFLAVOR=”podman” замість WAFLAVOR=”docker”, оскільки використовується Podman. У разі використання Docker цей параметр змінювати не потрібно.

Для редагування було використано редактор Vi з такою командою:

sudo vi ~/.config/winapps/winapps.conf

Після цього у файл було вставлено вміст конфігураційного прикладу, на який посилаються інструкції.

Далі було виконано команду:

podman-compose --file ~/winapps/compose.yaml up

Ця команда запускає віртуальну машину. Після її запуску необхідно підключитися через браузер до адреси 127.0.0.1:8006, завершити залишкові кроки встановлення, а потім закрити браузер і вікно термінала.

Після цього залишаються лише два кроки: перевірити з’єднання через RDP і встановити WinApps.

Оскільки для віртуальної машини використовується Podman, виконується така команда:

podman unshare --rootless-netns xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1 /cert:tofu

Ім’я користувача та пароль необхідно замінити на ті, що були вказані у файлі compose.yaml.

Після виконання команди відкриється вікно Windows, яким можна керувати так само, як і звичайною системою Windows. На цьому етапі можна встановити потрібні програми. За потреби до цього вікна завжди можна повернутися, повторно виконавши наведену команду.

Після цього залишається виконати таку команду:

bash <(curl https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh)

Процес налаштування запропонує вибрати програми, які доступні у встановленій Windows. Після цього їх можна закріпити на панелі завдань, робочому столі або в меню запуску. Якщо згодом виникне потреба додати нові програми, достатньо повторно запустити процес налаштування.

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Євген
Євген
Євген пише для TechToday з 2012 року. Інженер за освітою. Захоплюється реставрацією старих автомобілів.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті