Wine development version что это
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Полное руководство по Wine: от установки до примеров использования
Оглавление
Для чего Wine
Эта инструкция расскажет об использовании Wine. Данные советы по использованию применимы как к Kali Linux, так и к любому другому дистрибутиву Linux.
С помощью Wine можно запускать программы Windows прямо на Linux без использования виртуальных компьютеров. Если говорить о Kali Linux, то одним из интересных примеров является программа Router Scan by Stas’M, которая прекрасно работает через Wine (находит и взламывает роутеры, но не работают функции, связанные с использованием Wi-Fi адаптера).
Итак, Wine — это набор программ и библиотек, которые позволяют запускать Windows приложения в Linux без использования виртуализации. Конечно, Windows программы можно запустить в Linux с использованием VirtualBox, но такой вариант потребует запуска полноценной операционной системы с соответствующими затратами ресурсов, особенно оперативной памяти — для работы Windows необходимо несколько гигабайт памяти, а также место на диске для установки — несколько десятков гигабайт. При этом важным требованием для работы VirtualBox и аналогичных виртуальных компьютеров является то, чтобы ваш центральный процессор поддерживал виртуализацию.
Wine позволяет обойти все эти ограничения — для запуска программ Windows не нужно устанавливать эту операционную систему и приложениям для работы требуется всего несколько десятков мегабайт оперативной памяти.
Но у Wine есть и недостатки — не все приложения работают хорошо или вообще работают. Тем не менее огромное количество Windows программ прекрасно запускаются и работают в Linux благодаря Wine.
Помните, что многие бесплатные программы являются кроссплатформенными и вы можете их установить из стандартных репозиториев вашего дистрибутива. Для таких программ не нужен Wine. Примеры популярных кроссплатформенных программ: LibreOffice, Google Chrome, Firefox, Double Commander, VirtualBox, Etcher, VLC, DeadBeef, GIMP, OBS Studio, Viber, Wireshark, Apache, PHP, MySQL, Calibre, Netbeans, Burp Suite, Visual Studio Code, KeePass, KeePassXC, OpenShot Dropbox, Python, Ruby, Perl, PowerShell, SSH, Vuse BitTorrent Client, FileZilla, Tor Browser, JDownloader и очень многие другие. Всем этим программам не нужен Wine, поскольку они имеют «родные» установочные пакеты для Linux.
Прежде чем пытаться установить и запустить программу через Wine, поищите её с помощью менеджера пакетов, например:
Возможности и ограничения Wine
Программа способна запускать 64-битные, 32-битные, 16-битные программы и библиотеки Windows 9x/NT/2000/XP/Vista/7/8/10 и Windows 3.x
Поддержка Win32 API:
Позволяет программе Windows взаимодействовать с:
Как вы можете увидеть, список впечатляющий и позволяет, к примеру, запускать игры для которых требуется DirectX и при этом выводить звук. Приложения из Wine могут работать с сетью и даже имеют доступ к некоторым аппаратным возможностям (принтеры, сканеры).
Если для работы приложения необходимы дополнительные библиотеки, например, Visual C++ Redistributable for Visual Studio, то их возможно установить в Wine и запускать приложение в среде с установленной этой библиотекой.
При этом нужно помнить о таком ограничении, как невозможность работать с устройствами напрямую, например, если для устройства требуется драйвер, то бессмысленно устанавливать Windows драйвер в Wine — вам нужно найти версию драйвер для Linux и установить её.
64-битный или 32-битный Wine?
В этой инструкции для установки Wine мы включим поддержку репозиториев для 32-битных платформ (i386) для того, чтобы скачать необходимые библиотеки. Может возникнуть вопрос, существует ли 64-битный Wine и если да, зачем нам подключать репозитории для i386 и скачивать 32-битную версию?
Да. 64-битный Wine доступен в Linux начиная с версии 1.2. Бинарные пакеты WineHQ доступны для 64-битных версий, и большинство основных дистрибутивов упаковывают их для пользователей. Обычно установка должна быть такой же простой, как установка пакета Wine для вашего дистрибутива через менеджер пакетов.
Но имеется несколько очень важных замечаний:
Главное, что из этого следует — даже при установке 64-битного Wine необходимо активировать 32-битные репозитории, поскольку многие приложения Windows по-прежнему являются 32-битными и в любом случае необходимо установить 32-битные библиотеки, иначе многие программы просто не будут работать.
При установке можно явно выбрать пакет wine64, но даже если вы установите wine, то им будет 64-битная версия, если у вас 64-битный Linux.
Как установить Wine
Установка Wine в Debian, Kali Linux, Linux Mint, Ubuntu и их производные
Выполните следующие команды:
После установки запустите Wine — возможно, он предложит скачать необходимые шрифты и другие компоненты:
Чтобы проверить версию Wine выполните команду:
Установка Wine в Arch Linux
Откройте текстовый файл /etc/pacman.conf:
В нём найдите и раскомментируйте строки (убедитесь, что раскомментировали обе строки, иначе изменения не вступят в силу):
Обновите информацию о пакетах:
Как запустить программу в Wine
Запуск двойным кликом по исполнимому файлу
Для запуска Windows приложений в Linux обычно достаточно дважды кликнуть по ним. Но может быть так, что .exe файл будет открываться менеджером архивов или другим приложением (обычно менеджером архивов).
В этом случае кликните по файлу правой кнопкой мыши, выберите пункт «Открыть с помощью» и выберите Wine.
Если у вас в контекстном меню не появился Wine, то сделайте так:
В Ubuntu ( GNOME 3) в контекстном меню отсутствует Wine и невозможно добавить пользовательскую команду. Для исправления выполните следующее:
Если столкнётесь с ошибкой, что файл wine.desktop отсутствует, то найдите его с помощью следующей команды и отредактируйте приведённую выше команду:
Кликните правой кнопкой мыши по .exe файлу и выберите пункт, который называется «Открыть в другом приложении».
Затем выберите «Посмотреть все приложения».
Нажмите на «Wine — загрузчик Windows программ» и затем нажмите кнопку «Выбрать».
Обратите внимание, насколько экономно используется оперативная память — для работы Router Scan by Stas’M в Kali Linux нужен всего 1 мегабайт оперативной памяти. Если бы для запуска этой программы мы устанавливали Windows в виртуальную машину, то потребовалось бы несколько гигабайт для работы ОС. К тому же, при использовании Wine необязательно, чтобы процессор поддерживал виртуализацию — в отличие от VirtualBox и других аналогичных способов запуска виртуальных компьютеров.
Запуск в командной строке
Использование wine start
В некоторых случаях может потребоваться указать полный путь к исполняемому файлу. Например, если вам нужно установить программу с нескольких компакт-дисков, ввод каталога в терминале не позволит вам извлечь компакт-диск.
Вы можете указать Wine путь в стиле DOS или Windows в одинарных кавычках, например:
Вы также можете использовать двойные кавычки, но вам нужны две обратные косые черты вместо одной:
Если вы предпочитаете использовать путь в стиле Unix, используйте параметр /unix для запуска, например:
Передача аргументов командной строки Windows
Если вы используете программу с аргументами в Windows, например:
То вы можете сделать то же самое в Wine, запустив:
То есть командная строка идентична, за исключением wine перед ней. Обратите внимание, однако, что вам может потребоваться экранировать некоторые специальные символы обратной косой чертой из-за того, как они обрабатываются в оболочке Linux. Например:
Файлы MSI нельзя запускать напрямую; вам нужно использовать либо программу Wine msiexec, либо запуск Wine с терминала:
Графическая среда Wine в стиле Explorer
Если вы предпочитаете использовать графический интерфейс для управления файлами, возможно, вам стоит рассмотреть возможность использования winefile. Это приложение Winelib поставляется с Wine и может быть найдено с другими программами Wine. Это полезный способ просмотреть конфигурацию вашего диска и найти файлы, а также вы можете запускать программы прямо из Winefile. Обратите внимание, что многие функции ещё не реализованы.
Чтобы его открыть выполните:
Вы можете запустить файл .bat разными способами:
1. Выполните команду
2. Выполните команду
И найдите в окне Проводника нужный вам файл.
чтобы сразу попасть в нужную папку.
Если вы используете путь до файла в файловой системе Linux, то обязательно нужно указать опцию /unix.
Как установить программу в Wine и создать ярлык
Как уже сказано, вам необязательно помещать файлы с программой именно туда. Вы можете запускать портативные программы показанными выше способами.
Если программа распространяется в виде установщика (инсталлятора), то просто запустите этот установщик с помощью Wine. В большинстве случаев всё пройдёт как в Windows, будет выполнена обычная установка и на рабочем столе вашей Linux и в меню появится ярлык для запуска программы.
Для портативной программой вы также можете сделать ярлык. Для этого кликните правой кнопкой мыши по рабочему столу и выберите пункт «Создать кнопку запуска здесь» (в Cinnamon), «Создать значок запуска» (в XFCE) или аналогичный пункт.
Обычно есть возможность установить иконку, в том числе присутствуют иконки программ, когда-либо запускаемых в Wine.
Даже если «мастер значка запуска» позволяет указать рабочий каталог, то лучше не полагаться на него. В качестве команды запуска укажите команду вида:
То есть команда для выполнения включает в себя две подкоманды — переход в нужный каталог и запуска исполнимого файла.
К примеру, исполнимый файл находится в папке /home/mial/.wine/drive_c/Program Files (x86)/foobar2000/ и называется foobar2000.exe, тогда команда запуска следующая:
Обратите внимание, что:
Другой пример, когда файл находится не на диске Wine: нужно создать ярлык для запуска файла /mnt/disk_d/Share/Conses/ConsFed/cons.exe, тогда команда запуска следующая:
Если для работы программы необходима специальная версия Wine или дополнительные компоненты, то можно найти скрипты, которые упрощают их установку, о них будет позже в разделах, посвящённых PlayOnLinux и winetricks.
Встроенные в Wine программы
В Wine имеется несколько встроенных «стандартных программ Windows».
Какую версию Wine выбрать?
О Wine знают все линуксоиды, и даже многие не-линуксоиды знают, что в Linux «есть такая примочка, которая позволяет запускать программы для Windows». Предлагаю глубже погрузиться в вопрос. Хоть слово «Wine» в нашем контексте и является акронимом, ассоциаций с вином оно не может не вызвать, вот взглянем хотя бы на логотип Wine:
Когда речь заходит о вине — сразу поднимаются вопросы выбора оного напитка, находятся знатоки и ценители… Как ни странно, нечто похожее происходит и с Wine — ведь помимо множества версий, у этого проекта существует еще и целых три «ветви». Что выбрать?
Давайте начнем с версий. Какую версию Wine выбрать? Мой ответ на этот вопрос — самую свежую. Wine очень быстро развивается! Для примера — когда я «переехал» в Linux года полтора назад, из репозитория Ubuntu ставилась версия 1.6, а на сайте проекта была доступна версия 1.7, и разница между ними была поистине огромной — в играх речь шла не о каких-либо тестах, а конкретном «заметно невооруженным глазом». Недавно проведенное мной сравнение производительности Wine Staging 2.20 и Wine 3.0 лишний раз это подтвердило.
Поэтому — отправляемся на сайт Wine. Что мы там видим? А видим мы что Wine бывает:
Stable — тут я думаю все понятно из названия. Это версия, которую разработчики считают стабильной и надежной (все в этом мире, конечно, относительно, но между тем);
Development — разрабатываемая ветка, самая свежая;
Staging — это версия для тестирования всяческих ништячков, вроде CSMT (взаимодействие с OpenGL в отдельном потоке), поддержки Vulkan, CUDA / PhysX и т. п. с полным списком и подробностями можно ознакомиться на https://www.wine-staging.com.
По состоянию на март 2018 года — мэйнтенеры Wine Staging сообщили, что более не имеют возможности выпускать новые версии Wine Staging. Пока этот проект находится в «подвешенном» состоянии, по слухам возможно как появление новых мэйнтейнеров, так и форка проекта. В контексте этой статьи это значит, что пока лучше выбирать версии Stable или Development.
Прежде чем выбирать и устанавливать Wine уточним три вопроса:
В открывшемся окне можно будет увидеть, какая версия Wine установлена — подробнее об этом я писал в статье про запуск приложений под Wine.
Если увиденное нас не устраивает, перво-наперво «выпилим» то, что есть (если уже есть установленные под Wine программы — с ними ничего не случиться). Для этого вводим в терминале команду:
sudo apt-get purge wine*
Собственно, эту процедуру надо проводить каждый раз, когда вы решили заменить одну версию на другую.
Ну а теперь переходим к выбору. Какую же ветвь выбрать?
Wine Staging
Начнем в обратном порядке. Staging — ваш выбор, если Wine ставится в первую очередь для игр. Всякие «фичи» и «примочки», упомянутые выше, в основном направлены на улучшение работы игр. Скорее всего придется немного погружаться в вопрос и лезть в настройки. Например, уже упомянутый CSMT, надо включить в панели управления Wine и т. п. И вообще ветка тестовая — не забываем про это. Установить Wine Staging можно так:
Если у вас 64-битная система, включаем 32-битную архитектуру (если она у вас уже включена от этой команды ничего страшного не произойдет):
Теперь добавляем репозиторий Wine:
sudo add-apt-repository ppa:wine/wine-builds
Обновляем список пакетов:
sudo apt-get update
Наконец, устанавливаем Wine Staging:
Вот, собственно, и все. Если же со Staging у вас не сложилось, или же Wine ставится не ради игр — переходим к версии Development.
Wine Development
Хороший выбор, если запускать под Wine вы собираетесь всякий софт. Должен сказать, что я не большой любитель программ, запущенных под Wine, и всегда стараюсь подобрать что-то схожее из софта для Linux, но изредка выходит так, что обстоятельства или сила привычки все-таки заставляют что-то установить под Wine. Сейчас я на постоянной основе пользуюсь лишь одной программой посредством Wine — это 7-zip, с нативными архиваторами у меня как-то не срослось.
Так вот, если говорить о запуске именно программ — Wine Development вполне подходящий вариант. По крайней мере, начал бы я именно с него, а если что-то пойдет не так, перейти на Stable вы всегда успеете.
Если у вас 64-битная система, включаем 32-битную архитектуру (если она у вас уже включена от этой команды ничего страшного не произойдет):
Теперь добавляем репозиторий Wine:
sudo add-apt-repository ppa:wine/wine-builds
Обновляем список пакетов:
sudo apt-get update
Наконец, устанавливаем Wine Development:
Wine Development установлен. Теперь поговорим о том, когда может пригодится Wine Stable и где эту версию брать.
Wine Stable
Тут вроде и тонкостей никаких не должно быть. Wine. Стабильная версия, казалось бы… А вот где ее взять? Сайт Wine гласит, на момент написания статьи, что стабильная версия — 2.0. При этом там, на сайте, присутствуют инструкции о том, как получить Development и Staging, а про Stable написано, что мол ищите в своем дистрибутиве. Ок, ищу. У меня сейчас установлен Mint 18.1 KDE, так что я ввожу:
sudo apt-get install wine
И благополучно получаю версию 1.6.2, которая была хоть как-то актуальна в то время, когда на земле еще водились динозавры.
Да, я уже писал, что предпочитаю всегда иметь самую свежую версию, но ситуации бывают разные. Например, у меня конфуз случился, если не изменяет память, в тот момент, когда вышла версия Wine 1.8. EVE Online, которая отлично работала под 1.7.x, в новой версии отказывалась запускаться. Тут-то у меня и встала задача «откатиться», но не тут-то было — из репозитория, как написано выше, вместо желаемой 1.7 я получил версию 1.6.
Решение быстро нашлось в виде PPA-репозитория https://launchpad.net/
На сегодняшний день, выполнив команду apt-cache show wine вижу, что из этого репозитория можно установить версию 1.8 (была и 2.0, но она помечена как Cancelled build — видимо какие-то проблемы). Уже отлично, 1.8 это гораздо лучше, чем 1.6.2. Устанавливаю:
sudo apt-get install wine1.8
И вот, у меня есть не самая последняя, но и не самая древняя версия Wine — этакая золотая середина. Отлично!
Вместо заключения
За полтора года, что я сам использую Linux, я наблюдал достаточное количество попыток друзей и знакомых так же перейти на эту ОС. Среди неудачных припомню пару случаев, когда, установив Linux, товарищи первым делом осуществляли попытку запустить под Wine весь привычный по Windows софт. Скажу прямо — идея не лучшая, именно поэтому обе попытки оказались неудачными. Иногда поначалу кажется, что программ под какие-то задачи в Linux нет, на самом же деле вы, скорее всего, просто про них не знаете — ПО в массе не коммерческое, никто его специально не рекламирует. На форумах, к сожалению, так же не всегда можно получить внятные рекомендации. Выход только один — искать и пробовать. Приведу первый пример навскидку — перебравшись в Linux, я долго не мог подобрать аудиоплеер, удобный для прослушивания аудиокниг, способный запоминать позицию в прослушиваемом треке и на следующий запуск начинать воспроизведение с того же места. Сейчас знаю, как минимум, три таких.
С другой стороны, вся написанная выше лирика, не означает, что Wine не надо использовать — раз такая возможность существует, то не использовать ее совсем было бы довольно странно. Напротив, уметь пользоваться (и использовать по необходимости), как говорится, святое дело. Но и забывать о том, что путь к жизни в Linux лежит в первую очередь через знакомство с нативным софтом тоже не стоит 😉
Эволюция Wine
В настоящей статье рассказывается о возникновении свободного проекта Wine, его развитии и появлении различных коммерческих ответвлений. С момента своего возникновения Wine сделал возможным переход на Linux для множества Windows-пользователей по всему миру. Обеспечив работу Windows-приложений на UNIX-подобных операционных системах, проект привлёк к себе большое внимание общественности. Кто-то воспринял такую идею кроссплатформенности с энтузиазмом и даже внёс свой вклад в проект. Кто-то до сих пор относится скептически.
Как бы то ни было, фраза «Wine — это не эмулятор» на сегодняшний день знакома большей части Linux-сообщества.
В статье сделана попытка проследить развитие проекта Wine и оценить возможные перспективы.
Предпосылки
Для начала необходимо обрисовать ситуацию, которая сложилась на рынке ПО к 1993 году, моменту зарождения проекта Wine. В 1990 году Microsoft выпустила Windows 3.0 — первую популярную версию Windows. В 1992 году последовало расширение Windows 3.1 Продукты Microsoft получали все более широкое распространение. В то же время активно развивалось сообщество разработчиков свободного программного обеспечения.
То, что возможность работать с Windows-ориентированными приложениями важна для операционной системы, претендующей на популярность, осознавали многие разработчики. Даже в IBM, стремившейся составить конкуренцию Windows с OS/2, признавали необходимость работы с Windows-программами и добавили такую функциональность в новую версию своей операционной системы.
Однако первый серьёзный шаг на пути к кроссплатформенности сделали разработчики Sun. Их коммерческий продукт Wabi, представленный в 1993 году, позволял запускать Windows-приложения на операционных системах Solaris x86 и Solaris 2.2 До сих пор продукты для запуска Windows-программ требовали эмуляции на уровне аппаратного обеспечения, а также установки Windows и DOS. Уникальность Wabi состояла в том, что он позволял транслировать вызовы окон Windows прямо в вызовы X Windows.
Эта разработка вызвала большой интерес у СПО-сообщества. Возможно ли применить тот же подход для недавно созданной операционной системы Linux?
Как начинался Wine
Поскольку адаптировать Wabi для использования в Linux оказалось невозможным, начались дискуссии о создании подобной альтернативной реализации Win16 API функций. Для обсуждения вопросов разработки такой среды был создан специальный лист рассылки. Вскоре среди участников дискуссии начало быть в ходу название Wine.
Несколько слов о названии. Wine — это рекурсивный акроним, который расшифровывается как «Wine is not emulator» — «Wine — это не эмулятор». Аналогичным способом образовано название операционной системы GNU — «GNU is not Unix».
Тем временем формировалась команда разработчиков Wine, возглавил которую Боб Амштадт. Также в разработке в то время участвовали Мигель де Икаса, в дальнейшем ставший основателем GNOME, и Александр Джуллиард, с 1994 года и до сегодняшнего дня являющийся лидером проекта Wine.
Поначалу работа продвигалась достаточно быстро, за первые полгода удалось запустить «Косынку». В ноябре 1993 также стало возможным перенести Wine на другую архитектуру — NetBSD. Но несмотря на первые успехи, выпуск релиза затягивался.
1994 год привнёс множество изменений как в сам Wine, так и в организационную сторону проекта, место лидера занял Александр Джуллиард.
Оконные процедуры были переписаны в прямые вызовы библиотеки Xlib. Потребовалось создание механизмов поддержки сетевых соединений, файлов реестра и блокировок. Но, пожалуй, наиболее существенные изменения вызвал выход 32-разрядных версий Windows. Поддержка Win32 была реализована в Wine в мае 1995 года.
Подвижки происходили и в сферах, отличных от программирования. Велась разработка документации по Wine, а в 1997 году был создан сайт winehq.org
Следующий важный этап в развитии Wine наступил, когда компания Corel приняла решение о необходимости полноценной поддержки Linux для своих продуктов. Там началась разработка собственного дистрибутива Linux, поддержка же широкого круга приложений Corel потребовала существенной доработки Wine. Впервые за историю проекта его разработка стала финансироваться коммерческой организацией.
Но в конце 2000 года появились слухи о том, что Corel собирается прекратить поддержку Linux. В начале 2001 о роспуске Linux-отдела Corel было объявлено официально.
Но, к счастью, проект Wine не приостановился, оставшись без поддержки со стороны Corel. Значительную часть работ взяла на себя компания Codeweavers, ранее участвовавшая в доработке Wine для Corel.
После дискуссий в СПО-сообществе в 2002 году было принято решение о смене лицензии Wine с MIT на LGPL. Это во многом способствовало развитию проекта, позволило получать значительно больше патчей для Wine и включать в поддержку новые приложения.
До 2005 года Wine существовал в виде альфа-версии. 25 октября 2005 года была выпущена первая бета-версия Wine 0.9.0 С этого момента обновления начали выходить каждые 2 недели. А в середине 2008 года, после 15 лет разработки, была выпущена версия Wine 1.0, первая признанная стабильной.
Коммерческие версии Wine
Существенный вклад в развитие свободного проекта Wine вносили компании, создававшие коммерческие продукты на основе его исходных кодов.
• CrossOver — продукт компании Codeweavers, ориентированный на запуск наиболее востребованных офисных и иных приложений Windows: Microsoft Office разных версий, Microsoft Internet Explorer, Lotus Notes, Adobe Photoshop, Apple iTunes и других. Для поддержки этих приложений разработчики CodeWeavers добавляют собственные заплатки, а также графические утилиты конфигурации.
• Cedega — коммерческая версия Wine, позволяющая запускать в Unix-системах Windows-игры. В ней добавлена улучшенная поддержка API DirectX, а также некоторых защит от копирования, применяемых в играх.
• WINE@Etersoft — продукт, разрабатываемый петербургской компанией Etersoft. Ориентирован на запуск таких популярных российских приложений для бизнеса, как 1С: Предприятие, Консультант, Гарант, КОМПАС-3D и др. В отличие от обычного Wine, в нём реализована поддержка ключей защиты, драйверов устройств и работа в многопользовательском режиме.
Значимость такой разработки как Wine едва ли кто-то станет сегодня оспаривать. Переход с MS Windows на операционные системы семейства GNU/Linux по-прежнему предполагает наследование Windows-приложений. Поэтому с момента своего зарождения Wine вызывал немалый интерес как в СПО-сообществе, так и в бизнес-кругах.
Однако за время существования свободного проекта разработка продвигалась с переменным успехом. В истории Wine имели место как очень продуктивные и успешные периоды, так и серьёзные кризисы. Сочетание открытой разработки группой энтузиастов и поддержки со стороны коммерческих организаций позволило свободному проекту развиваться. Во многом этому способствовало создание коммерческих продуктов на базе Wine.
Поле для дальнейшего развития у проекта Wine, безусловно, имеется. Множество востребованных Windows-программ до сих пор не имеют поддержки или их поддержка требует серьезных доработок Wine. Как и в начале своего существования, проект открыт для желающих внести свой вклад.