Linux, без сомнения, является лучшей альтернативой Microsoft Windows с открытым исходным кодом, но можно ли запускать программы Windows на ОС на базе Linux?
Пользователи, недавно перешедшие с Windows на Linux, часто задаются вопросом, можно ли запускать приложения и программы Windows на новой системе. Ответ на этот вопрос влияет на представление пользователя о Linux в целом, поскольку операционные системы должны быть простыми в использовании и в то же время доброжелательными к идее работы с файлами различных форматов.
Прямой ответ на этот вопрос – да. Вы можете запускать EXE-файлы и другие программы Windows в Linux, и это не так сложно, как кажется.
К концу статьи вы получите краткое представление об исполняемых файлах, а также о различных способах запуска этих программ в Linux.
Исполняемые файлы в Windows и Linux
Прежде чем запускать файлы EXE в Linux, важно знать, что такое исполняемые файлы. Вообще говоря, исполняемый файл – это файл, содержащий команды для компьютера на выполнение определенных инструкций (как написано в коде).
В отличие от других типов файлов (текстовых файлов или PDF), исполняемый файл не читается компьютером. Вместо этого система компилирует такие файлы, а затем выполняет соответствующие инструкции.
Некоторые распространенные форматы исполняемых файлов включают:
- EXE, BIN и COM в Microsoft Windows
- DMG и APP на macOS
- OUT и AppImage в Linux
Внутренние различия в операционных системах (в основном системные вызовы и доступ к файлам) являются причиной того, что ОС не поддерживает все доступные форматы исполняемых файлов. Но пользователи Linux могут легко решить эту проблему, используя либо программное обеспечение уровня совместимости, такое как Wine, либо гипервизор виртуальных машин, такой как VirtualBox.
Способы запуска программ Windows в Linux
Запуск приложений Windows в Linux – это не ракетостроение. Вот различные способы запуска EXE-файлов в Linux:
Использование уровня совместимости
Уровни совместимости Windows могут помочь пользователям Linux запускать файлы EXE в своей системе. Wine, сокращение от Wine Is Not an Emulator, является популярным слоем совместимости Windows, который соответствует своему названию.
В отличие от эмуляторов и виртуальных машин, Wine не запускает программу в Windows-подобной среде, созданной в системе Linux. Вместо этого он просто преобразует системные вызовы Windows в эквивалентные им команды POSIX.
В целом, уровни совместимости, такие как Wine, отвечают за преобразование системных вызовов, реформирование структуры каталогов и предоставление программе системных библиотек, специфичных для ОС.
Установка и использование Wine для запуска Windows-программ в Linux очень просты. После установки вы можете выполнить следующую команду для запуска EXE-файла с помощью Wine:
wine program.exe
Пользователи Linux, которые хотят играть в игры только для Windows, могут выбрать PlayOnLinux, внешнюю обертку для Wine, или PortProton. PortProton – поможет вам запускать все современные игры windows в linux.
Запуск Windows внутри виртуальной машины
Другим обходным решением является запуск EXE-файлов Windows с помощью виртуальных машин. Гипервизор виртуальных машин, такой как VirtualBox, позволяет пользователям устанавливать вторичную операционную систему, которая работает в рамках их основной ОС.
Для этого достаточно установить VirtualBox, KVM или VMWare, создать новую виртуальную машину и установить на ней Windows. Затем вы можете просто запустить виртуальную машину и запустить Windows внутри вашей ОС на базе Linux. Таким образом, вы сможете запускать EXE-файлы и другие программы, как это обычно делается на компьютере только с Windows.
Кроссплатформенная разработка программного обеспечения – это будущее
В настоящее время огромная доля доступного программного обеспечения ориентирована исключительно на одну операционную систему. Большинство приложений, которые вы можете найти, доступны исключительно для Windows, macOS, Linux или комбинации этих ОС. Редко когда удается установить программу, работающую на всех основных операционных системах.
Но все это меняется с развитием кроссплатформенности. Разработчики программного обеспечения теперь создают приложения, которые могут работать на нескольких платформах. Spotify, медиаплеер VLC, Sublime Text и Visual Studio Code – вот некоторые примеры кроссплатформенного программного обеспечения, доступного для всех основных операционных систем.
А что вы думаете об этом?