Запуск Windows программ под Linux. Как мы сделали Linux из Windows: новые способы запуска никсовых приложений под виндой

Скачать на Телефон 27.08.2019
Скачать на Телефон

Не можете найти адекватную замену определенного приложения для Windows в Linux? Лучшим решением данной проблемы является организация двойной загрузки в процессе установки Linux. В этом случае вы всегда сможете загрузить Windows для работы с необходимым приложением. Также вы можете воспользоваться менеджером виртуальных машин VirtualBox для установки Windows в рамках виртуальной машины, работающей в Linux.

Но существует и третье решение, которое не может быть рекомендовано начинающим пользователям: вы можете установить эмулятор Windows в Linux Mint, Ubuntu и Fedora. Wine является сложным приложением, позволяющим запускать многие (но не все) приложения для Windows в Linux. По своей сути, это небольшое технологическое чудо.

Однако, данное технологическое чудо имеет один серьезный недостаток: благодаря Wine в Linux могут запускаться не только полезные приложения для Windows, но и некоторые вредоносные программы, разработанные специально для Windows.

1. Проблемы с безопасностью системы

Несмотря на то, что все вредоносное программное обеспечение для Windows не сможет получить доступ к файлам вашей системы (Wine работает с правами обычного пользователя, а не пользователя root), ему доступны все файлы из вашей домашней директории. А в этой директории обычно хранятся документы, музыка, фотографии и так далее. Разумеется, это серьезная проблема безопасности.

По этой причине я не рекомендую Wine начинающим пользователям. Я считаю, что лучше не увлекаться установкой эмуляторов, если вас беспокоит безопасность вашей системы, и сам не устанавливаю их при отсутствии веских оснований. Для тестирования сборок своих программ для Windows я использую Windows 7 в виртуальной машине VirtualBox (об этом будет сказано позднее).

2. Дополнительно защитить Wine практически невозможно

Несмотря ни на что желаете использовать Wine? В этом случае следует помнить о том, что файлы в вашей домашней директории будут подвержены теоретической опасности, которую невозможно свести к нулю. Даже при изменении стандартной директории Wine и ограничении количества доступных «дисков» файлы из вашей домашней директории не будут полностью защищены.

Wine позволяет вредоносному программному обеспечению для Windows повреждать любые файлы в вашей домашней директории без вашего ведома. Данное утверждение также справедливо в случае использования таких графических оболочек для Wine, как CrossOver и PlayOnLinux.

3. Что еще можно сделать в том случае, если нужно использовать приложения для Windows?

Вам нужно использовать некоторые приложения для Windows и вы не желаете использовать Wine? В этом случае вы можете либо организовать двойную загрузку на своем компьютере для загрузки Windows при необходимости, либо установить бесплатную лицензионную версию Windows 7 в виртуальной машине VirtualBox в Linux .

4. Установка Wine с графической оболочкой PlayOnLinux

Если вы все же решились установить эмулятор Wine, вы можете установить вместе с ним простую графическую оболочку PlayOnLinux. Для этого следует открыть окно терминала и ввести в него следующую команду:

Linux Mint/Ubuntu:

sudo apt-get install playonlinux

sudo dnf install playonlinux

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

5. PlayOnLinux: установка поддерживаемого приложения

A. После окончания процесса установки следует запустить приложение PlayOnLinux и дождаться окончания процесса обновления его метаданных (ход процесса отображается с помощью индикатора в строке состояния в нижней части окна приложения).

B. Теперь вы можете выбрать приложение для установки. Для этого следует нажать на кнопку «Установка» на панели инструментов основного окна приложения. В результате откроется окно с разделенным на категории списком поддерживаемых приложений, с помощью которого вы сможете выбрать интересующее вас приложение.

C. Для установки поддерживаемого приложения достаточно выбрать его, нажать на кнопку «Установить» и ответить на вопросы мастера установки. PlayOnLinux самостоятельно загрузит подходящую для его запуска приложения версию Wine и подготовит рабочее окружение. Процесс установки может занять некоторое время.

D. После успешного окончания установки приложения следует выбрать приложение из списка в главном окне PlayOnLinux и нажать на кнопку «Запуск» на панели инструментов.

E. В результате приложение должно запуститься и корректно функционировать.

6. PlayOnLinux: установка неподдерживаемого приложения

A. В том случае, если после запуска PlayOnLinux вы не можете найти необходимое вам приложение в списке поддерживаемых приложений, вы можете установить это приложение вручную, перейдя по ссылке «Установить программу, отсутствующую в списке» в нижней части окна со списком приложений. В результате будет запущен мастер ручной установки.

B. Давайте попробуем установить игру NOLF 2. На вопрос «Что бы вы хотели сделать?» следует ответить «Установить программу на новый виртуальный диск» .

C. В случае NOLF 2 потребуется определенная версия Wine и дополнительные библиотеки.

Для начала вы можете выбрать системную версию Wine и одну из библиотек времени исполнения (выпущенную во время выпуска приложения), а после окончания процесса установки игры доустановить нужную версию Wine («1.5.22-vertex-blending-1.5.21 (x86)» для NOLF2), а также нужные библиотеки («vcrun6» и «vcrun2005» для NOLF2). Информацию о совместимой версии Wine, а также о необходимых для запуска приложения библиотеках можно получить в базе данных приложений проекта Wine .

E. После успешного окончания установки вам будет предложено выбрать ярлык.

F. Осталось настроить окружение исполнения игры и проверить его работоспособность. Если вы ошиблись с выбором версии Wine или библиотек, вы всегда можете исправить ситуацию, нажав на кнопку «Настроить» на панели инструментов в главном окне PlayOnLinux. С помощью вкладки «Wine» вы можете установить нужную версию Wine (не забудьте также изменить версию на вкладке «Основные» ).

C помощью вкладки «Установка компонентов» несложно установить все необходимые библиотеки.

G. Если для игры были выпущены какие-либо патчи, следует перейти на вкладку «Разное» , нажать на кнопку «Выполнить файл.exe на этом виртуальном диске» , выбрать файл патча и следовать инструкциям мастера установки. Для модификации файлов в ручном режиме предназначена кнопка «Открыть каталог программы» на этой же вкладке.

H. В конце концов как меню запуска игры, так и сама игра должны начать корректно функционировать.

7. PlayOnLinux: удаление приложения

Если вам более не требуется какое-либо из установленных приложений, вы можете выбрать его из списка приложений в главном окне PlayOnLinux, нажать на кнопку «Удалить» на панели инструментов и ответить на простые вопросы мастера удаления виртуального диска.

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

В материале данной статьи я расскажу о том программном обеспечении, которое позволяет запустить приложения Microsoft Windows на Ubuntu 13.10 .

Wine

загрузчик программ Windows

Wine - это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Установка Wine из стандартных репозиториях Ubuntu (стабильная версия, но устаревшая версия):

$ sudo apt-get install wine

Установка последней версии Wine из сторонних репозитории:

$ sudo add-apt-repository ppa:ubuntu-wine/ ppa

$ sudo apt-get update

$ sudo apt-get install wine

Перед использованием Wine для запуска приложений нужно запустить программу настройки, которая создаст в вашей домашней директории каталог ~/.wine с необходимыми для работы файлами. Для этого либо выберите пункт главного меню Приложения→Wine→Configure Wine , либо выполните в терминале команду:

$ winecfg

Как объединить возможности Linux и Windows? Чтобы для перехода из
одной в другую не приходилось перегружать компьютер и не использовать
виртуальную машину, которая обязательно скушает половину всех ресурсов! Чтобы
было удобно, наконец! Мечта? Уже реальность!

Идея иметь полноценное (или почти полноценное) Linux-окружение в Windows
многим не дает покоя. Конечно, ничто не мешает нам запустить виртуальную машину,
используя, к примеру, бесплатное решение VMware Server, и установить в качестве
гостевой ОС все, что душе угодно. Но разве ж захочется каждый раз запускать
требовательную к ресурсам виртуальную машину только для того, чтобы
воспользоваться несколькими приложениями? С тем, что это работает медленно и
неудобно, мириться еще можно, но вот жертвовать сотнями Мб оперативной памяти и
процессорным временем зачастую просто нереально. Но если не так, – то тогда как
же?

Старый добрый Cygwin

Возможность объединить Windows и Unix без использования виртуализации
появилась давно. Кто из нас не пробовал использовать небезызвестный Cygwin
специальную среду, предназначенную для переноса программ из POSIX-совместимых
операционных систем в Windows. Многие никсовые утилиты, портированные с помощью
Cygwin, отлично чувствуют себя под виндой и до сих пор развиваются. Я и сам
отлично помню, как радовался, впервые скомпилив какую-то линуксовую программу
(кажется, это был эксплоит) прямо под виндой. По сути, Cygwin представляет собой
библиотеку, которая реализует интерфейс прикладного программирования unix-систем
на основе системных вызовов Win32 (стандартных для винды). Продукт по-прежнему
отлично справляется со своими задачами, а в случае использования сборок
(Cygwin +
GNOME) и
(Cygwin + KDE) даже позволяет запускать кое-какие оконные приложения. Сказка?
Ну, не совсем. Даже несмотря на эмуляцию никсов, складывается ощущение
недоделанности и отсутствия интеграции в саму систему. Окно с консолью в Cygwin,
претендующее на звание тукса в винде, – не совсем то, чего мы хотели. Командная
оболочка в системе остается прежней: тот же пресловутый cmd.exe и никак иначе. А
ведь люди, привыкшие к bash или другой удобной никсовой оболочке, едва ли пойдут
на компромисс с ограниченностью решения от Microsoft. Да, можно установить
сборник GNU utilities for Win32, в который входит 26 портированных никсовых
утилит (например, любимый многими grep), отчасти компенсировав отсутствие
привычных инструментов, но опять же – об интеграции в систему речи не идет.
Расширенная оболочка от Microsoft – PowerShell – хоть и предоставляет огромный
простор для деятельности (о чем ты можешь прочитать в отдельной статье, которую
мы выложили на диске) и основательно встраивается в систему, но ничего общего с
никсовым bash не имеет. Так как же быть?

Решение от Microsoft

Выход нашелся там, где его не ищешь - на сайте Microsoft, в виде специального
пакета Windows Services for UNIX (SFU) , который свободно доступен для закачки.
Сами разработки позиционируют его как специальную подсистему для
IT-профессионалов, желающих безболезненно переползти на винду с никсовых систем.
Подсистему назвали Interix и это, я тебе скажу, что-то! Последний релиз SFU
включает более 350 любимых юниксоидами утилит (среди них vi, ksh, csh, ls, cat,
awk, grep, kill), которые полностью интегрируются в систему. Помимо этого в SFU
входит GCC 3.3, отладчик GDB, сервер и клиент NFS и еще множество полезных в
хозяйстве вещей. К сожалению, упомянутую командную оболочку bash, файловый
менеджер Midnight Commander, демон OpenSSH, редактор emacs или http-демон Apache
придется ставить вручную, но готовые к установке пакеты легко скачать с сайта
www.interopsystems.com/tools/warehouse.htm . Тем более, перечисленные программы –
лишь малая часть того, что там есть.

В результате установки SFU ты получаешь полное ощущение, что находишься в
*NIX окружении. Чего стоит один bash, исполняемый подсистемой ядра и поэтому
работающий с той же скоростью, что и Win32-приложения. Установив ssh-демон, ты
превращаешь обычную Windows XP в многопользовательский сервер, на котором
одновременно могут работать несколько активных аккаунтов. И не надо использовать
каких-либо дополнительных средств, вроде Terminal Services – вот тебе готовое
решение да еще со многими возможностями никсов. Ну, а ежели работать в консоли
не нравится, то ничто не мешает установить бесплатный X-Window сервер,
специально оптимизированный для SFU –


X-Win32 LX
. Напомню, что X Window System представляет собой протокол, с
помощью которого видеовыход может быть послан с одного компьютера на другой. В
итоге получаем полноценный Remote Desktop. В завершение стоит отметить, что все
перечисленное устанавливается на раз-два, как и любое обычное приложений для
Windows. Огорчает одно: последний релиз SFU вышел еще в 2006 году, а новых
версий, по всей видимости, не предвидится.

Linux под Windows: реально?

Если даже специалисты из Microsoft занимаются вопросом создания
Linux-окружения в Windows, то разумно предположить, что аналогичные решения есть
и с другой стороны баррикад. Большая проблема в запуске никсовых приложений под
виндой заключается в отсутствии соответствующего ядра операционной системы, и
это отлично понимала команда программистов из Японии. Озадачившись этой
загвоздкой, они представили сначала концепцию, а потом и реализацию Linux ядра,
целиком портированного в Windows! Проект получил название Cooperative Linux или,
сокращенно, coLinux . Он
стал первой свободной разработкой, позволяющей запустить Linux под виндой без
всякой виртуализации и необходимости перекомпилировать приложения! Достигается
это за счет специального драйвера, отображающего системные вызовы Linux в вызовы
Windows. Когда приложение пытается вызвать привычную для себя функцию Linux, ее
работа не обламывается с ошибкой – вызов транслируется в набор системных вызовов
самой винды и успешно выполняется. Все это работает значительно быстрее, чем в
любых виртуальных машинах, поскольку используется родное для Windows ядро и не
тратятся ресурсы на виртуализацию.

Несмотря на то, что с помощью coLinux можно запустить не только линуксовые
приложения, но и вообще сам тукс, подробно рассматривать мы его не будем. Зато
остановимся на двух других проектах, которые используют coLinux в качестве
основы, но более дружественны к пользователю, избавляя от необходимости тратить
время на настройку, которую в случае с «голым» пришлось бы выполнять вручную.
Первым из этих проектов является
andLinux .

Как сделать из Windows Ubuntu?

Если тебя кто-то спросит «Что такое andLinux ?», то лучше всего ответить так:
«Это практически полный дистрибутив Ubuntu Linux, который работает прямо в
Windows-системе!» Да-да, именно так! В качестве ядра используется coLinux,
однако по возможностям andLinux намного превосходит его. Для скачки с
официального сайта доступен уже готовый к использованию дистрибутив. В общем-то,
обычная программа, если не считать вес: 131 Мб для версии с графической
оболочкой XFCE и минимальным набором утилит – и аж 653 Мб для полной версии с
KDE. Если ты не знаешь, что это такое, выбирай второй вариант – не ошибешься.

Установка пакета в систему ничем особенным не выделяется, но придется
ответить на несколько вопросов мастера, указав некоторые параметры работы
andLinux:

1. Количество оперативной памяти, которое смогут использовать
Linux-приложения, лучше выбирать «не менее 256 Мб», хотя все будет работать,
даже если выделить лишь 128.

2. Что касается вопроса, как запускать andLinux, советую выбрать вариант с
автоматическим запуском в виде сервиса Windows.

3. Чтобы надстройка имела доступ к основной файловой системе, придется
настроить Samba (специальный сервис в nix-системах, позволяющий подключаться к
расшаренным ресурсам сетей Microsoft). Для этого необходимо создать папку в
Винде и сделать ее доступной из сети (расшарить), а во время установки andLinux
– указать ее имя и, если требуется, логин и пароль для доступа.

После установки в системе появляется панель (в случае дистрибутива с XFCE)
или иконка в трее (в случае KDE), с помощью которой и запускаются
предустановленные Linux-приложения. Для обычного пользователя это выглядит как
набор самых обычных программ! Ничуть не удивительно, ведь все они имеют
привычное для Windows обрамление (в отличие от уродливого Cygwin’а). Поэтому
перепутать «чужеземца» с обычной программой очень просто!

Можно запустить абсолютно все, что и в Ubuntu Linux . По крайней мере, никаких
ограничений мы не нашли и без проблем наставили кучу софта из репозиториев
Ubuntu, воспользовавшись пакетными менеджерами apt-get и Synaptic. Если ты с ним
еще не знаком, это твой реальный шанс оценить их мощь и удобство. Открыл окошко,
нашел название нужной программы, нажал «Установить» – вот и вся установка.
Менеджер сам закачает нужные файлы дистрибутива, а также все необходимые
библиотеки и предоставит пользователю готовое для запуска приложение. Это даже
проще, чем поставить программу в Windows! Естественно, ничто не мешает собирать
программы из исходников. В общем, andLinux работает потрясающе, и единственным
неудобным моментом можно счесть разве что обмен файлами между Windows и Linux
посредством расшаренных папок и Samba.

Решение напоследок

Возможно, наш опыт превращения винды в тукс на этом бы и закончился, если бы
19 мая этого года компания Ulteo не объявила о запуске бета-тестирования своего
нового приложения –
Ulteo
Virtual Desktop
. По сути, почти то же самое, что и andLinux. Новинка
также основана на сoLinux и позволяет запускать самые разные никсовые приложения
без необходимости перекомпиляции. В связи с тем, что это еще ранняя бета,
разработчики рекомендуют использовать только предустановленный набор программ
(Kopete, Konqueror, KPdf, GIMP и т.д.), которые запускаются из специального меню
сразу после установки пакета и не требуют какой-либо дополнительной настройки.
Но если не брать в расчет это ограничение (тем более, приложения устанавливать
на самом деле можно, правда, на свой страх и риск), то уже сейчас можно выделить
несколько серьезных преимуществ разработки перед andLinux (справедливости ради
замечу, что окончательного релиза у этой разработки также не было).

Разработчики Ulteo Virtual Desktop намного удобнее реализовали систему обмена
файлами с Windows. Папка учетной записи пользователя в Windows автоматически
монтируется в домашнюю папку Linux, что несравнимо комфортнее, нежели
обмениваться через расшаренные ресурсы. Отличная поддержка звуковой системы и
принтеров прямо «из коробки» – еще один конек системы. Остается только добавить
автоматическое обновление программы и синхронизацию данных через интернет.
Искренне надеюсь, что Virtual Desktop будет быстро развиваться и через несколько
месяцев порадует нас релизом.

WARNING

Virtual Desktop , coLinux , andLinux будут работать только на 32-битных версиях
Windows 2000 , XP , 2003 , Vista . Поддержка 64-битной платформы пока существует
лишь в планах.

Linux – один из конкурентов Microsoft Windows с свободным доступом к системным данным и возможностью настройки системы под себя. Из-за свободного доступа к настройкам и программированию Линкс имеет огромную библиотеку программ.

Игровое приложение Steam предлагает тысячи игр для этой ОС, большинство суперкомпьютеров и мощнейших серверов используют именно Линукс как основною операционную систему. Но иногда нужно воспользоваться приложениями Windows на Линукс. Для этого есть несколько решений.

Wine

Без установки самой Windows способна запускать приложения в среде Линукс. Wine создает программный слой Windows, что делает ненужным установку этой ОС. Минусом данного проекта является совместимость не со всем ПО.

Есть проблема в плохой оптимизации, особенно если запускать игровые приложения для винды. К примеру, многие используют Wine для запуска World of Warcraft на системе Linux.

Чтобы не получилось так, что после долгого скачивания ПО окажется, что она не способна работать стабильно, и все потраченное время ушли в никуда, есть сайт со списком приложений, с рейтингом оптимизации под Вайн, сайт .

Чтобы воспользоваться Вайн нужно:

  1. Скачать его на Linux.
  2. Дальше нужно скачать программу для Windows формата “exe”.
  3. Запустить “exe” файл двойным нажатием левой кнопки мыши в среде Вайн.

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

Виртуальная машина

Это более надежный способ запуска приложений Windows на Линуксе. Из минусов – требуется полная версия windows.

Современные версии виртуальных машин уже не так сильно потребляют ресурсы компьютера, но все же для работы машины нужно относительно мощное железо. Процесс виртуализации будет работать вместе с Линукс, что достаточно сильно нагрузит ПК + оперативную память.

Для использования Виндоус программ или игр в среде Линукс можно использовать . Работа машины более надежна, чем Wine.

Поскольку копия версии Windows считает, что работает на существующем оборудовании и проблем с оптимизацией или ошибками возникать не должно. Рекомендовано использовать рабочие программы по типу «Adobe Photoshop» или «Microsoft Office» на виртуальной машине. С ресурсоемкими играми могут возникнуть проблемы из-за прямого доступа к видеокарте, для таких задач лучше использовать Wine.

Две операционные системы

Для тех, кто не хочет мириться с отсутствием прямого доступа к привычным приложениям, есть вариант с установкой двух ОС. И по необходимости просто переключаться между ними. Это отличный вариант, который не нагружает компьютер и не имеет проблем с оптимизацией. Такую производительность вряд ли получиться достичь с использованием Wine для Linux.

Идеальный вариант для тех, кому нужны новые вышедшие игры и Линукс одновременно. Процесс установки двух систем лучше начать с Виндовс. С Windows удобней будет разделить диски на разделы при необходимости установки второй системы. Лучше не записывать две ОС на один раздел винчестера, это может привести к нестабильной работе и возникновению ошибок.

Выбор, как запустить программы Windows на Linux, за вами. Все перечисленные варианты подходят под определенный тип задач. Если нужны рабочие программы Office и Photoshop и возможность поиграть не в новые, но хорошие игры, лучше воспользоваться – Wine. Если же приоритет стоит только на программах, которые не оптимизированы под эту ПО, лучше использовать – виртуальную машину. Ну а для игры в современные игры ставьте две операционные системы.

Рано или поздно может понадобиться запустить программы Windows на Linux. Для операционной системы Linux написано огромное количество программ, для решения одной определенной задачи, может быть даже несколько десятков программ. Но такая тенденция наблюдается только для широко распространенных задач, что же касается специализированных программ и игр, то тут ситуация совсем иная. Программ, для решения узкоспециализированных задач, например, в той же сфере СЕО для Linux попросту нет, а игры начали появляться только последние несколько лет.

Были и раньше простенькие игры с открытым исходным кодом, но популярные игры, класса ААА начали появляться только тогда, когда этой платформой заинтересовалась Valve. Но до сих пор ситуация с играми обстоит не так, как хотелось бы. Поэтому и возникает необходимость установки Windows программ в Linux.

Windows программы не могут запускаться просто двойным щелчком по исполняемому файлу. Формат исполняемых файлов Linux очень сильно отличается от Windows. Поэтому для их запуска необходимо использовать специальное программное обеспечение - wine. Название Wine образовано с помощью, почему-то популярного в мире свободного программного обеспечения способа - рекурсивный акроним, и расшифровывается как Wine is not emultor. И это правда, wine не является эмулятором.

Это программная оболочка, которая преобразует системные вызовы Windows программ в вызовы функций операционной системы Linux. Таким образом, wine представляет из себя прослойку между Windows программой и операционной системой Linux вместе с ее ядром и библиотеками.

Чтобы понять как работает Wine, нужно сначала сказать несколько слов о ядре Windows. У Windows, так же как и у Linux есть ядро. Как вы знаете ядро Linux состоит из одного файла и находится в папке boot. Ядро Windows совсем другое, по сути это набор dll библиотек, которые расположены в папке C:\windows\system32. Поэтому нам, чтобы заставить Windows программы работать в Linux достаточно реализовать dll библиотеки, которые нужны программе, так чтобы они вызывали необходимые нам функции из системы linux, что собственно и делает Wine. Но проект развивается очень медленно и разработчики не успевают реализовать все функции из системных библиотек Windows, поэтому работают далеко не все программы, особенно новые.

Популярные программы в Wine запускаются легко, и без дополнительных настроек. Но дело в том, что для решения популярных и востребованных задач в Linux есть достаточно альтернатив, а запускать нам придется специализированные программы и игры, требующие серьезных компонентов, еще не написанных в Wine. Вот тут и всплывает недоработанность этой программы. Но есть выход, его мы и рассмотрим дальше.

Основы использования Wine

Все файлы программ wine, установленные программы, библиотеки, файлы реестра, конфигурационные файлы находятся в домашнем каталоге, а точнее, в ~/.wine.

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

Папка ~/.wine это префикс, но мы можем создавать для каждой новой программы свой префикс и она будет работать только с ним. Чтобы задать префикс, с которым нужно работать wine используется переменная окружения WINEPREFIX, например:

export WINEPREFIX=~/program

Для разных программ может потребоваться различная архитектура системы, wine может запускать и 64 битные программы, но многим для правильной работы нужна архитектура х86.

Чтобы задать архитектуру используйте переменную WINEARCH. Например, для х86:

export WINEARCH=win32

Также не создавайте папку для нового префикса с помощью mkdir или файлового менеджера, пусть программа сама создаст эту папку при своем первом запуске.

Установка Windows программ в Wine

Если вам нужно запустить программу, полностью поддерживаемую Wine, например, проводник или notepad, достаточно выполнить:

wine адрес/файла/программы.exe

Но как я уже говорил, нам придется запускать мало таких программ, большинство из них будут требовать функционала, который еще не реализован в wine. Тогда нам придется заменить библиотеки Wine, на оригинальные библиотеки Windows. Конечно, есть оболочки для Wine, которые автоматизируют этот процесс, например, Crossover, PlayOnLinux, WineWizard и тд. Но мы рассмотрим ручной вариант.

Для установки компонентов Windows в wine существует специальный инструмент - winetricks. Устанавливать его лучше из сайта программы, так версия будет новее:

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod +x winetricks

Чтобы установить нужный компонент достаточно передать имя этого компонента:

winetricks vcrun2008

С установкой компонентов более-менее понятно, но как узнать какие компоненты нужны? Скорее всего, вашу программу уже пытались устанавливать и другие пользователи нашли решение проблемы. Поэтому воспользуйтесь поиском Google для того, чтобы найти способы установки программы. Также очень полезным будет сайт appdb.winehq.org. На нем собрана база данных всех поддерживаемых в Wine приложений, там есть инструкции по установке, описываются возможные проблемы и дается общая оценка работы программы, правда все на английском.

Давайте рассмотрим пример. Наберите в поиске по appdb Advego Plagiatus, напомню, что это программа для проверки уникальности текстов, часто используемая копирайтерами:

Она сразу же была найдена в базе данных:

На странице программы, мы видим кроме скниншота и оценки работы, желтый значит золото, очень хорошо, и инструкции по ее установке, в нашем случае нужен набор библиотек riched30, который можно установить командой:

winetriks riched30

После установки этого пакета программа запуститься и будет работать.

Но остается вопрос, что же делать, если инструкций нет, информации минимум, а нужно чтобы программа работала. Мы можем анализировать вывод Wine при запуске программы. Причем нас будут интересовать не все сообщения из лога программы, а только последние, именно то что вызвало ошибку.

Рассмотрим на примере той же Advego Plagiatus. Сначала создадим новый префикс, чтобы не испортить то что уже было установлено:

export WINEPREFIX=~/advego

Архитектуру нам менять не нужно, но если хотите, можете явно указать, что нужно использовать win64:

fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub

Осталось понять, что такое richedit, и Microsoft TechNet нам любезно сообщает что это их API и состоит оно из Riched32.dll, это последняя версия, но раньше это была riched20.dll, уже понимаете какие библиотеки нужны?

Мы знаем как их установить с помощью winetricks, но это делать необязательно, можно и вручную. Скачайте библиотеки, найти их не составит труда с помощью Google. Только ищите версию для Windows XP.

Копируем библиотеку в наш префикс, в папку syswow64:

cp ~/Загрузки/riched32.dll ~/advego/drive_c/windows/syswow64/

cp ~/Загрузки/riched20.dll ~/advego/drive_c/windows/syswow64/

Для 32 битных библиотек используется папка system32, а поскольку мы указали архитектуру 64 бит нужно и библиотеки использовать соответствующие. Затем запустите winecfg и на вкладке библиотеки, в поле новое замещение для библиотеки наберите *riched32, затем добавить и *riched20 и опять добавить:

Все, теперь можете пробовать запускать программу:

wine ~/advego/drive_c/Program\ Files\ \(x86\)/Advego\ Plagiatus/plagiatus.exe

Теперь программа работает и больше не падает с ошибкой. Таким образом, вы можете заменить много библиотек Wine. Можно запустить практически любую программу, написанную несколько лет назад и не требующую сверх новых технологий. Достаточно только заменить нужные библиотеки. Вы можете не только использовать winetricks или копировать библиотеки из интернета, но и брать их прямо из Windows. Точно не стоит заменять gdi32.dll, kernel32.dll, и user32.dll - эти библиотеки реализуют функции ядра Windows на самом низком уровне, и если их заменить, это только нарушит работу Wine. Наверное, есть и другие библиотеки, которые нельзя заменять, но это вычисляется только путем экспериментов. Экспериментируйте и пусть ваши программы работают без ошибок!



Рекомендуем почитать

Наверх