С выходом Wine 8 была достигнута важная веха в мире совместимости Linux с программами Windows. Wine, что расшифровывается как Wine Is Not an Emulator, представляет собой среду выполнения, эмулирующую Windows API в Linux, что позволяет многим программам Windows беспрепятственно работать на рабочем столе Linux. В этой статье рассматривается эволюция Wine, ее текущие возможности и шаги по настройке среды Wine на Ubuntu 22.04/23.04.
Эволюция Wine
История Wine насчитывает более трех десятилетий, и начиналась она как хобби-проект, когда Windows 3.1 была доминирующей операционной системой с 16-разрядным API. Первые успехи Wine заключались в запуске таких программ Windows 3.1, как Solitaire. По мере развития Windows и внедрения 32-разрядного API в Windows 95 Wine адаптировался к этим изменениям. В 1999 году компания Corel инвестировала средства в дальнейшее развитие Wine, чтобы использовать его для своей популярной программы WordPerfect.
Со временем развитие Wine стало фрагментарным, что привело к появлению различных коммерческих ответвлений. Такая раздробленность отпугивала разработчиков открытого кода и тормозила прогресс. Однако в 2006 году компания Google возродила Wine, использовав его в качестве слоя совместимости для Linux-версии Picasa, избавив себя от необходимости полностью переносить Picasa на Linux.
Сегодня возрождение Wine происходит в основном в игровом сообществе, где ведущую роль играет основанный на Wine слой совместимости Proton компании Valve. Хотя первоначальное назначение Wine заключалось в том, чтобы обеспечить работу Windows-приложений в Linux, он продолжает развиваться и процветать, особенно в игровой сфере.
Прогресс Wine 8
Выпуск Wine 8 стал важной вехой в развитии проекта. В нем улучшена поддержка широкого спектра современных программ и игр благодаря переводу модулей Wine в формат "переносимых исполняемых файлов", что необходимо для некоторых современных игр. Кроме того, Wine теперь может запускать 32-разрядные программы в своей 64-разрядной среде без необходимости установки на хост-систему всех необходимых библиотек в 32-разрядном формате.
Настройка Wine на Ubuntu 22.04/23.04
Для настройки Wine на Ubuntu 22.04/23.04 можно выполнить следующие действия:
- Включить 32-битные источники пакетов:
Для оптимальной совместимости Wine 8 требует использования различных библиотек. Чтобы включить 32-битные источники пакетов, выполните следующую команду:
sudo dpkg --add-architecture i386
- Создание каталога для хранения сигнатур пакетов Wine:
Создайте каталог для хранения сигнатур пакетов Wine с помощью этой команды:
sudo mkdir -p /etc/apt/keyrings
- Скачайте ключ для проверки пакетов Wine:
Загрузите связку ключей, необходимую для проверки пакетов Wine, с помощью этой команды:
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
- Добавьте источники пакетов Wine:
Добавьте в систему источники пакетов для Wine. Для Ubuntu 22.04 (и Linux Mint) можно использовать следующую команду:
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.source
Для Ubuntu 23.04 в URL-адресе источника следует использовать "lunar" вместо "jammy".
- Обновление и установка Wine:
Обновите списки пакетов с помощью:
sudo apt update
- Затем установите последнюю стабильную версию Wine с помощью следующей команды:
sudo apt install --install-recommends winehq-stable
Совместимость приложений с Wine
Успешность работы Windows-программы с Wine не обязательно определять методом проб и ошибок. База данных приложений Wine (AppDB) дает ценную информацию о совместимости конкретных программ. Пользователи делятся своим опытом и оценивают приложения как платиновые, золотые, серебряные, бронзовые или мусорные в зависимости от того, насколько хорошо они работают с Wine. Как правило, простые приложения работают без проблем, в то время как сложные программы могут потребовать ручной настройки. Для сложных приложений, таких как Adobe Photoshop CS6, можно найти альтернативные варианты и руководства по установке.
Crossover: Коммерческое решение
Crossover, разработанный компанией Codeweavers, представляет собой коммерческое решение на базе Wine. Это не просто форк оригинального исходного кода Wine, а расширение, обеспечивающее улучшенную совместимость с программами Windows, особенно с офисными приложениями, такими как Microsoft Office. Crossover не имеет открытого кода и предлагается по цене от 74 евро, однако 14-дневная ознакомительная версия доступна бесплатно.
Crossover предоставляет графический интерфейс для установки и управления программами Windows, что делает его удобным для пользователя. Он полностью соответствует текущему развитию Wine, и разработчики подчеркивают, что Crossover 22.x основан на Wine 7.7, а Crossover 23 ожидается в конце 2023 года.
Настройка Wine для работы с приложениями Windows в Linux
Использование winecfg
Первый этап настройки включает в себя использование инструмента winecfg. Эта программа создает среду для Wine в скрытой папке ".wine" в домашнем каталоге. В этой папке Wine создает виртуальный реестр Windows в виде текстовых файлов и хранит файлы приложений для последующей установки в подкаталоге "~/.wine/drive_c". Winecfg также проверяет среду выполнения на полноту и предлагает установить .NET-среду выполнения Wine-Mono, что следует подтвердить в диалоге.
В ходе этого процесса winecfg создает начальную стандартную конфигурацию, а затем выводит на экран диалог настроек в стиле Windows. Здесь можно произвести тонкую настройку различных параметров, например, настроить параметры дисплея, выбрать аудиоустройство для вывода звука или добавить оригинальные библиотеки Windows. Важным аспектом настройки является назначение каталогам букв виртуальных дисков, что можно сделать в разделе "Диск". Это может быть особенно полезно, когда программа Windows запрашивает установочный или загрузочный компакт-диск.
Использование Winetricks для важных настроек
Хотя winecfg является отличной отправной точкой, он охватывает лишь часть необходимых настроек. Многие параметры могут быть изменены только непосредственно в конфигурационных файлах Wine. К счастью, существует удобный скрипт под названием "winetricks", который упрощает выполнение общих задач и настроек с помощью графического меню. Winetricks не зависит от дистрибутива, но требует наличия пакетов "zenity" и "cabextract", которые можно установить в Ubuntu или Mint с помощью следующей команды:
sudo apt install zenity cabextract
- Желательно установить winetricks в его текущей версии непосредственно с сервера разработчика. Для этого откройте терминал и выполните следующие команды:
wget http://winetricks.org/winetricks
sh winetricks
После загрузки файла скрипта его можно выполнить с помощью второй команды. При запуске winetricks будет задан вопрос о том, хотите ли вы отправить действия для статистической оценки разработчикам Wine. После этого можно получить доступ к важным опциям, выбрав пункт "Select default Wine prefix". Это меню позволяет при необходимости установить часто требуемые DLL и шрифты, следуя инструкциям по установке из базы данных Appdb.
Для ускорения работы можно также запустить winetricks с параметрами командной строки. Для большинства программ Windows требуются стандартные шрифты, которые можно установить в разделе "Установить шрифт > corefonts". Кроме того, можно изменить другие параметры Wine через "Изменить настройки Wine". Здесь рекомендуется включить параметр "fontsmooth=gray", так как он значительно улучшает отображение шрифтов в программах Windows.
Создание пользовательского окружения для программ
Некоторые программы Windows требуют специфических библиотек и настроек, которые иногда могут мешать работе других приложений Wine. Для решения этой проблемы Wine позволяет создавать несколько независимых окружений с собственными каталогами, называемыми "префиксами". Чтобы создать новое окружение Wine, например, "wine-test", выполните в терминале следующую команду:
env WINEPREFIX=~/.wine-test winecfg
Эта команда автоматически создаст каталог "~/.wine-test" со стандартной конфигурацией. Чтобы это альтернативное окружение использовалось для дальнейшей настройки с помощью winecfg или winetricks, укажите префикс при запуске этих инструментов, как показано ниже:
env WINEPREFIX=~/.wine-test sh winetricks
Префикс также необходим при запуске программ настройки или приложений Windows, например, так:
env WINEPREFIX=~/.wine-test wine /media/cdrom/setup.exe
При создании ярлыков программ для установленных приложений Wine автоматически добавляет соответствующий префикс в качестве параметра запуска.
Префиксы особенно полезны для создания отдельных окружений для 32-разрядных приложений на 64-разрядных системах. По умолчанию Winecfg устанавливает 64-битное окружение, которое может не поддерживать некоторые старые 32-битные программы. Чтобы создать 32-битное окружение в папке "~/.wine32" для таких программ, воспользуйтесь следующей командой:
WINEPREFIX=~/.wine32 WINEARCH='win32' winecfg
Для согласованного управления используйте префикс при запуске winetricks для установки шрифтов или DLL, а также для настройки параметров:
WINEPREFIX=~/.wine32 WINEARCH='win32' winetricks
Использование Playonlinux для помощи в установке
Если вы ищете более удобный подход к установке популярных Windows-программ в Wine, воспользуйтесь Playonlinux. Этот внешний инструмент упрощает процесс установки даже для сложных приложений с большим количеством настроек. Playonlinux берет на себя все необходимые настройки Wine и устанавливает отдельные приложения в собственные среды Wine (префиксы). Хотя разработка Playonlinux замедлилась, вы все еще можете установить его в Ubuntu и Linux Mint из стандартных исходных текстов с помощью этой команды:
sudo apt install playonlinux
Использование виртуальных машин для полноценной работы с Windows
В ситуациях, когда Wine или Crossover не могут запустить критически важные программы Windows, можно прибегнуть к использованию виртуальной машины. Установка Windows на виртуальной машине работает с эмулированным аппаратным обеспечением, что обычно не оказывает заметного влияния на производительность современных компьютеров. Oracle Virtualbox - это простое решение для виртуализации под Linux.
Для органичной интеграции виртуализированной Windows с Linux-окружением можно использовать "бесшовный" режим. В этом режиме отдельные окна программ из виртуальной машины отображаются на рабочем столе Linux, обеспечивая плавную интеграцию.
Заключение
Wine продолжает оставаться важным инструментом для пользователей Linux, которым необходимы Windows-приложения на рабочих станциях. Благодаря усовершенствованиям Wine 8 совместимость с программами Windows значительно улучшилась. Пользователи могут изучить базу данных приложений Wine для проверки совместимости конкретных программ и воспользоваться такими инструментами, как Crossover, для работы с коммерческими офисными приложениями или использовать winecfg, winetricks, Playonlinux или виртуальную машину, эти возможности обеспечивают гибкость и удобство при работе с программами Windows в системе Linux. Выполнив описанные в этой статье действия, пользователи Linux смогут установить Wine на свои системы и наслаждаться бесперебойной работой программ Windows. Развитие Wine и активное сообщество позволяют ему оставаться мощным инструментом совместимости для пользователей Linux.
Если вас интересует тема Linux, то прочитайте так же материал про средства резервного копирования в Linux-системах: 👇
PS: Дорогие читатели если Вам понравилась статья не забывайте ставить лайки, это очень помогает продвижению канала "TechTalk". Спасибо заранее!
⚡⚡⚡ Друзья! Если вам нравится то, что я делаю, и вы хотите, чтобы это продолжалось, приглашаю поддержать меня и внести свой посильный вклад. Вместе мы сила! Спасибо за вашу поддержку! ⚡⚡⚡