Софт-Портал

Wine Windows

Рейтинг: 5.0/5.0 (602 проголосовавших)

Категория: Linux

Описание

Wine: Поднимая тост за ваши Windows-приложения в Linux

Несколько лет назад, когда я только начинал работать с Линукс, у меня всегда была установлена Windows на соседнем разделе диска. Так, на случай, если что-нибудь рухнет. Но позднее я осознал, что в Linux есть практически всё, что мне нужно, и нет необходимости тратить деньги на что-либо иное. Тем не менее, иногда у меня возникает необходимость запустить приложение, написанное именно под Windows. Что делать в этой ситуации? Мой ответ - использовать Wine.

Wine не имеет ничего общего со спиртным!

Такие программы как VMware и Win4Lin позволяют вам запускать из-под Linux другие операционные системы (как правило Windows) и таким образом предоставляют возможность запускать Windows-приложения на Линукс-машине. [Win4Lin специально создана для использования исключительно Windows. VMware -- это "отдельная песня". Уникальность этого продукта в том, что он эмулирует работу "железа" компьютера, что позволяет устанавливать в её среде такие ОС как Windows, MSDOS, Linux, FreeBSD и т.п. Исключение могут составлять те операционные системы, которые очень круто обходятся с аппаратным обеспечением. Прим.ред.] Кроме того, можно пойти традиционным путем и установить Windows на соседний раздел. Тем не менее, эти альтернативы скорее нагружают вашу систему, чем решают проблему.

Wine (рекурсивный акроним от "WINE Is Not an Emulator") отличается от всех вышеперечисленных методов, и не требует от вас покупки лицензионной копии Windows. Принцип его работы основан на эмуляции Win32 API, код которого полностью переписан и отличается от кода Microsoft.

Прим.ред. предыдущий абзац вводит немного в заблуждение. Так всё-таки: Wine -- эмулятор или нет? Посмотрим, что говорится в документации к нему (c3886.html):

Аббревиатура "Wine" -- это рекурсивный акроним "Wine Is Not an Emulator". Кроме этого Wine известен тем, что используется как "эмулятор Windows". В некотором смысле, оба значения верны, только отличаются в зависимости от перспективы. Первое определение говорит о том, что Wine не виртуальная машина. Он не эмулирует работу CPU и вы не устанавливаете Windows или драйвера устройств для неё. Правильней сказать, что Wine -- это реализация API Windows и он может использоваться как библиотека для портирования приложений Windows на Unix. Второе утверждение (о том, что Wine эмулятор), очевидно, опирается на то, что для исполняемых файлов Windows (.exe файлы), Wine действительно выглядит как Windows, подражая его поведению.

Давайте поднимем тост!

Если вы уже решились поэкспериментировать с Wine, то для начала вам нужно взять последние исходники эмулятора с официального сайта проекта http://www.winehq.com. Хотя вовсе не обязательно собирать его вручную из "сырцов". На сайте есть ссылки на уже собранные версии эмулятора в разных форматах (rpm, deb и т.д.).

Если вы решились собрать Wine из исходников, то необходимо выполнить следующее:

[Но лучше этого не делать и воспользоваться соответствующим пакетом "сырцов". Почему именно пакетом? Во-первых, для тех, кто не в курсе, смотрите статью Дениса Овсиенко об организации и ведении "пакетного хозяйства". Во-вторых, почему пакет "сырцов", а не "бинарников"? Всегда лучше "заточить" программу под конкретную машину. Кроме этого, если вы используете rpm-based дистрибутив, то я советую вам взять пакет Wine на сайте ALT Linux из репозитория пакетов Sisyphus. Пакет с исходниками вы найдёте здесь (ищите файл wine-номер_cvs_версии-номер_сборки.src.rpm). Здесь же вы можете взять и пакет исходников для WineX (см. подкаталог Sisyphus/unsupported и ищите файл WineX-номер_версии-номер_сборки.src.rpm). Прим.ред.]

Если же вы хотите самую-самую свежую версию Wine, то можно взять исходный код с CVS:

На запрос пароля, введите 'cvs':

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

Настройка Wine

Теперь нам нужен конфигурационный файл с именем "config" в каталоге "

/.wine/". Вы можете просто скопировать его пример из каталога с исходниками:

Конечно, от количества параметров в конфигурационном файле "config" можно слегка приуныть, но это только на первый взгляд. На самом деле достаточно настроить лишь самые основные пути для вашей системы. Например, вам нужно проверить следующие секции:

Wine пытается эмулировать DOS-раздел и структуру каталогов, поэтому, например, секция которая начинается с "[Drive C]" обозначает соответствие гипотетическому диску С: с вашим Линукс-каталогом, в данном случае "/c" .

Далее, таким же образом в секции "[wine]" настраиваются системные папки "windows" и "system":

Обратите внимание на ошибку -- переменная "Temp" указывает на диск [E], но диски определены только до [D]. Тоже самое относится к переменной "Path". Прим.ред.

Сейчас мы создадим основную структуру каталогов Windows (папки "windows", "system") которые указаны в файле "config" в секции "[wine]":

Секция "[DllOverrides]" в конфигурационном файле управляет библиотеками DLL, которые в Wine являются аналогами библиотек Windows, а также некоторыми родными Windows библиотеками, которые вам могут быть необходимы:

Ну, не всё так страшно. Можно воспользоваться и "родными" для Windows динамическими библиотеками. Например: commdlg, comdlg32, commctrl, comctl32, shell, shell32. Только нужно, чтобы они присутствовали в каталоге, определённом переменной "System" секции [wine]. Общий список, что можно использовать в Wine из библиотек Windows, а что нельзя, вы найдёте в файле документации x1273.html. Прим.ред.

Секция [serialports] отвечает за настройку разных портов и устройств:

Внешний вид окон можно поменять в секции [Tweak.Layout].

(Не обязательно запускать Wine с ключом --winver, вы можете прописать в

А про реестр Windows вы не забыли?

Далее нам необходимо установить реестр по умолчанию, который в точности соответствует реестру, который есть на любой Windows-машине. Но перед этим надо не забыть немного подправить файл /etc/ld.so.conf. Для этого мы просто добавляем в него строку /usr/local/lib/wine[Здесь будьте особенно внимательны -- возможно ваша версия Wine собрана с другим ключом --prefix. Например, /usr. Соответственно, и пути поменяются. Прим.ред.]. которая указывает на расположение библиотек, необходимых программе для имитации Windows-окружения.

Да, и не забудьте запустить /sbin/ldconfig после этого.

Итак, теперь мы можем использовать regapi. чтобы установить реестр по умолчанию. В каталоге с исходниками Wine выполните следующую команду:

Неплохо бы взять "родной" regedit.exe -- тогда у вас появится возможность "резвиться" в файле реестра. Если сделаете это, то заодно раскомментируйте в секции [DllOverrides] строку:Если нужно, исправтье путь к regedit.exe. Прим.ред.

А про шрифты вы не забыли?

Всё, что описал Gaurav, конечно, в тему. Но есть ещё один очень важный момент в настройке Wine -- шрифты. Для получения качественных шрифтов в Wine, необходимо в системе настроить и зарегистрировать ttf-шрифты. Идеальным вариантом будет скачать (опять обращаемся к Sisyphus) пакет ttf-шрифтов от Microsoft (ms-ttf-1.0-alt5.src.rpm ). Затем правим (если нужно) в

/.wine/config два раздела, [Fonts] и [FontDirs]. Получается примерно следующее:

Само собой разумеется, что каталог (или каталоги) меняется в зависимости от того, куда именно вы установили ttf-шрифты.

Кроме этого можно поиграть с антиалиасингом и способом и местом рендеринга шрифтов (на стороне клиента или сервера):

Если же вам не нужен антиалиасинг в приложениях Windows, то выставите значение двух последних опций в "N".

А теперь давайте всё это подпалим!

В принципе, уже сейчас после произведённой ранее настройки можно попробовать запустить какое-нибудь простое Windows-приложение. Попробуем обычный калькулятор, который идёт в стандартной поставке Windows ("calc.exe" ).

Вы можете примонтировать раздел с Windows или скопировать calc.exe" с дискеты в вашу систему в каталог "/c/windows" и запустить его одним из нижеуказанных способов:

cd /c/windows; wine calc.exe
wine /c/windows/calc.exe
wine "c:\windows\calc.exe"

Здесь вы можете посмотреть как выглядит это приложение на моей Линукс-машине. Здорово, не правда ли! (факт запуска калькулятора несомненно крут, но к тому, что на заднем плане это уже не относится, особенно после KDE 3.1. - прим. перев. )

На этом всё!

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

"А вас, Штирлиц, я попрошу остаться!" (c) Броневой Пути.

Не торопитесь. Несколько слов о том, как мне приходилось "бодаться" с Wine при подготовке этой статьи к публикации. Во-первых, вам следует знать, что при первом запуске Wine генерирует разделы [Drive X] на основании данных /etc/fstab. Если вы планируете использовать в качестве основы для работы Wine каталоги и файлы Windows, то можете оставить всё как есть. Если же нет, то придётся подправить секции [Drive X]. Я настроил Wine таким образом, что ему доступны два диска, [C] и [D] (жёсткий диск, CD-привод) и привод флоппи-дисков [A]:

При этом для диска [C] использовался "скелет" каталогов, сформированный Wine при инсталляции, /var/lib/wine. Решать, конечно, вам какую именно конфигурацию избрать. Можете оставить путь к подмонтированым vfat-разделам (надеюсь, понятно, что под vfat-разделами я понимаю разделы с файловыми системами FAT12, FAT16 и/или FAt32). Но, что там может натворить Wine? Лично я не знаю, поэтому работал с /var/lib/wine. К тому же этот вариант универсален, т.к. позволяет использовать Wine на машине, где нет vfat-разделов. И есть ещё одна неприятная особенность, которую я не смог побороть -- не-LATIN имена файлов сохраняются в кодировке cp1251. А в vfat-разделах они хранятся в кодировке cp866.

Обратите внимание на значение переменной "Temp" в разделе [wine] (выше, в примечаниях, я уже об этом говорил):

По умолчанию переменная "Temp" указывает на отдельный диск, который формируется в "/tmp/winetmp-$". Я её исправил на C:\\Temp, предварительно создав подкаталог Temp на диске [C] (в моём случае это /var/lib/wine/Temp)

Проверьте значение переменной "Path" в этом же разделе. Возможно, понадобится добавить новые пути.

Звук.

Чтобы Wine "зазвучал", вы должны раскомментировать одну из строк в секции [WinMM]:

У меня запущен KDE, поэтому для переменной "Drivers" я указал значение "winearts.drv". Для большинства конфигураций подойдёт "wineoss.drv".

Чтобы убедиться в том, что в Wine появился звук, я установил Winamp версии 2.0 Заголовок главного окна оказался битым (но только главного -- окно плэйлиста и эквалайзера отображалось корректно), а само окно "мазалось" при перемещении других окон поверх него. Но звук был и что самое удивительное во всём этом -- в системном лотке KDE появился значок агента Winamp! И на рабочем столе столе тоже (см. скриншот )

Скриншоты.

И в заключении несколько скриншотов:

  • The Bat! -- наверное самый часто задаваемый в эхах вопрос при переходе с Windows на Linux -- "а чем заменить TheBat!?" Один из вариантов ответа -- TheBat!'ом. Хотя, если подумать, то это попахивает извращением. Попробую объяснить почему: на мой взгляд, цель Wine заключается в том, чтобы дать возможность работать с Windows-программами, чьих аналогов нет в Linux. В случае же с почтовым клиентом это не так, и каждый может найти себе в Linux MUA по вкусу. К тому же у TheBat. работающего под Wine обнаружилась неприятная особенность -- границы кнопок панели инструментов "мажутся" (см. слева от кнопки "Get new mail").
  • WinRar -- любимый многими архиватор в среде Windows неплохо чувствует себя в Linux.
  • Windows Commander -- Far запустить не удалось, а вот Windows Commander, пожалуйста. Хотя и тут не обошлось без казусов. Почему-то при путешествии по дереву каталогов при помощи стрелок управления курсора, WC ведёт себя так, будто нажимается не клавиша Down, а Insert (команда "пометить файл").
Заключение.

Судя по всему, программы небольшого размера будут себя неплохо чувствовать в среде Wine. Исключение составляют те программы, которые немного экзальтировано используют Windows API (недокументированные возможности и прочее). К сожалению, программы-гиганты типа MS Office и ему подобные, активно засоряющие реестр и таскающие за собой ворох динамических библиотек, очень трудно заставить работать.

Если вам интересно, то здесь вы найдёте конфигурационный файл, который использовал я.

Gaurav Taneja

Я работаю техническим консультантом по Linux/Java/XML/C++ в Нью Дели, Индия. Принимаю активное участие в open-source проектах, в том числе и некоторых на узле SourceForge. В свободное время люблю длительные поездки, играть в теннис, смотреть кино и вечеринки. А еще я являюсь владельцем собственной софтверной консультационной компании BroadStrike Technologies .

Wine windows:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    WINE: среда для запуска win-приложений на платформе Unix

    WINE: среда для запуска win-приложений на платформе Unix Технология

    Благодаря распространённости ОС Windows на сегодняшнем рынке очень многочисленны приложения, разработанные для этой платформы 1. Однако зависимость коммерческого приложения от определённой платформы (ОС) может быть не всегда удобной или выгодной. На этот случай существуют средства, позволяющие программам, разработанным для ОС Windows, работать в другой операционной системе. Одним из наиболее развитых среди подобных средств является WINE.

    WINE (W ine I s N ot E mulator) не является эмулятором операционной системы: то есть он не создаёт изолированной среды для выполнения и не обеспечивает доступ к низкоуровневым системным ресурсам, таким как непосредственный доступ к оборудованию. Функция WINE состоит в том, чтобы, с одной стороны, предоставить win-приложению Win API — стандартный системный интерфейс операционных систем Windows, а с другой стороны, транслировать запросы win-приложения в соответствующие системные вызовы (Unix API). WINE работает на различных Unix-системах, в том числе на Linux. Таким образом, WINE — это своеобразная «прослойка» совместимости между win-приложениями и host-системой 2 .

    Хотелось бы отметить, что процесс WINE всегда выполняется в непривилегированном режиме и не требует никакой модификации ядра операционной системы (в том числе динамически загружаемых модулей). Отсюда следует простой вывод относительно безопасности: любые проблемы, которые могут быть вызваны запуском win-приложений, будут ограничены правами доступа того пользователя, который запустил WINE. В результате win-приложения будут подчиняться политике доступа UNIX-системы и не смогут её нарушать.

    У данного ограничения есть и другая практическая сторона: в WINE нет поддержки низкоуровневого обращения к оборудованию (драйверов оборудования, прямой работы с USB-устройствами). Всё периферийное оборудование следует подключать и настраивать в host-системе: для win-приложений эти устройства могут быть доступны стандартным способом через файловую систему или другие стандартные интерфейсы (например, TWAIN для сканеров, который реализован в WINE как обёртка над библиотекой SANE).

    Наиболее распространённый способ применения WINE — запуск двоичных win-приложений в Unix-среде. Удобство заключается в том, что при этом не требуется никак изменять приложение — один и тот же вариант годится и для Windows, и для WINE.

    Другое, на сегодняшний день пользующееся незаслуженно меньшей популярностью применение — с помощью WINE разработчики ПО могут компилировать свои win-приложения из исходных текстов непосредственно в двоичные исполняемые файлы для Unix. Опять-таки, это те же самые исходные тексты, из которых компилируются двоичные файлы для Windows.

    Третий способ использования — WINE позволяет скомпилировать win-приложение из исходных текстов в исполняемый exe-файл, который будет работать на любой Windows-системе.

    WINE состоит из нескольких компонент, которые условно можно поделить на три части: libwine Библиотека, предоставляющая Win API для win-приложений. По количеству предоставляемых функций её можно сравнить с Qt — столь широк спектр предлагаемых вызовов: от операций с файлами до построения графического интерфейса и обращения к базам данных. wine Среда для исполнения двоичных win-приложений, предоставляет программам окружение, неотличимое от Windows. Это окружение помимо Win API включает реестр, стандартные каталоги и файлы. Реестр является единственной изменяемой информацией, необходимой для работы WINE и win-приложений в нём. утилиты Утилиты, имитирующие некоторые стандартные win-приложения: текстовый редактор (блокнот), файловый браузер и т. п. Средства компиляции и отладки: имеются заголовочные файлы, которые описывают доступное API, компилятор winegcc, представляющий собой обёртку над gcc, отладчик winedbg и прочие вспомогательные утилиты.

    Разработка

    WINE — это свободный проект, который был начат в 1993 году. На тот момент распространённой платформой была Win16 (Windows 3.1), на неё и был ориентирован WINE, на сегодняшний день основным русло разработки — Win32. Исходные тексты WINE выпускаются под лицензией LGPL (Lesser GPL), никаких ограничений по доступу к исходным текстам и их модификации не имеется. WINE снабжён достаточно вразумительной документацией, имеется ряд списков рассылки (англоязычных), как для пользователей, так и для разработчиков, где оперативно решаются любые вопросы.

    Процесс разработки WINE во многом похож на метод, применяемый при разработке ядра Linux. Все присылаемые (в специальную рассылку) патчи подвергаются рассмотрению разработчиков, которые могут высказывать свои соображения и добавления. Имеется один человек, Александр Джулиард, который принимает решение о том, включать ли патч в CVS, и при необходимости совершает в нём какие-то улучшающие изменения (например, исправляет ошибки в оформлении кода). Ведётся контроль и учёт всех отправляемых патчей и их авторства. Прежде чем патч будет принят, он проходит автоматическое тестирование — WINE компилируется с новым патчем, и выполняется регресс-тестирование: запускается тестовый код, написанный практически для каждого API, с помощью которого можно удостовериться, что добавление патча не нарушает совместимость.

    Реализация

    Успешность и корректность работы win-приложений в WINE естественно определяется тем, насколько среда WINE неотличима от Windows с точки зрения win-приложения. Иначе говоря, вопрос в том, насколько полно Win API и другие стандартные компоненты и процедуры Windows реализованы в WINE. Текущая оценка полноты реализации конкретных функций публикуется на сайте разработчиков WINE. В WINE реализованы функции практически всех динамических библиотек (DLL), входящих в Windows: начиная от 16-разрядных и заканчивая появляющейся поддержкой 64-битного режима. На хорошем уровне находится поддержка OLE, MSI и DirectX.

    Если говорить об общей оценке полноты реализации, то на сегодняшний день разработчики называют цифру 90%. Однако относиться к этой цифре нужно не совсем так, как к обычному процентному соотношению. Дело в том, что с точки зрения успешной разработки WINE Win API должно быть таким, каким его хотят видеть программы. Полных и безошибочных спецификаций Win API в публичном доступе нет (и никогда не было), и это во многом определило характер разработки на платформе Win. Большинство разработчиков win-приложений используют только незначительную часть стандартных функций API, а остальные необходимые функции реализуют самостоятельно и поставляют вместе с программой. В последние годы подмножество широко используемых функций API в широкой массе win-приложений уже стабилизировалось и практически не меняется. Для WINE это означает, что цифра 90% означает стабильную работу большинства win-приложений в WINE даже больше, чем в 90% случаев.

    По этой же причине не так существенна опасность отставания от изменений, вносимых в Win API в рамках операционной системы Windows. Единственная особенность — развивающаяся поддержка 64bit, при разработке архитектуры WINE принималась в расчёт возможность расширения в этом направлении. Поэтому как только функции Win64 API получат более широкое распространение, добавление их поддержки в WINE не заставит себя долго ждать.

    Настройка локального win-окружения

    Прежде чем начинать работать с WINE, каждому пользователю. от имени которого будут запускаться win-приложения, необходимо настроить локальное win-окружение. Настройка окружения выполняется автоматически при первом запуске WINE (достаточно ввести команду wine в командной строке и дождаться завершения её работы).

    При первом запуске WINE создаёт необходимую инфраструктуру в домашнем каталоге данного пользователя, для чего выполняет следующие действия:
    • создаёт начальную версию реестра;
    • выстраивает соответствия каталогов host-системы и логических дисков WINE;
    • создаёт каталог с программами, который будет служить основным диском ( C: ) для win-приложений, для удобства этот каталог доступен как wine_c в домашнем каталоге пользователя.

    По умолчанию логические диски WINE будут расположены следующим образом:

    Пример 1. Размещение логических дисков WINE по умолчанию

    Если какого-то из нужных каталогов не окажется, то соответствующие ссылки просто не будут созданы. Как минимум один диск — C: будет создан в любом случае. Остальные диски необязательны, даже одного C: будет достаточно для работы в WINE. Правила создания ссылок по умолчанию описаны в файле /etc/wine/map_devices.sh. при необходимости их можно изменить. Изменения в этом файле затронут всех пользователей, которые будут затем выполнять первый запуск WINE.

    Каждый пользователь может вручную изменить соответствия логических дисков WINE каталогам host-системы или создать любое количество допольнительных дисков. Все логические диски для WINE представлены обыкновенными символьными сылками на каталоги в каталоге $HOME/.wine/dosdevices :

    Пример 2. Логические диски и устройства WINE

    Чтобы создать новый логический диск или изменить имеющийся, достаточно создать новую символьную ссылку с нужным именем.

    Пример 3. Создание логического диска wine

    Создавая логические диски WINE, нужно принимать в расчёт, что права доступа win-приложений к файлам на этих дисках будут определяться правами доступа данного пользователя к реальным файлам host-системы.

    Запуск win-приложений

    Общее правило для запуска всех win-приложений в WINE — запускаемые файлы должны находиться в области видимости WINE, то есть на одном из логических дисков WINE или в его подкаталогах. Если программа поставляется на компакт-диске, то не забудьте должным образом смонтировать диск 3. прежде чем обращаться к нему из WINE. Обратите внимание, что в этом случае у вас должен быть разрешён запуск приложений с компакт-диска. Если приложение распространяется не на диске — не забудьте сначала скопировать его в область видимости WINE.

    Для запуска win-приложений проще всего воспользоваться файловым браузером winefile. его можно запустить из командной строки. Здесь достаточно перейти в необходимый каталог и запустить программу двойным щелчком мыши.

    Можно запускать win-приложения как обыкновенные исполняемые файлы host-системы (например, из Midnight Commander или из командной строки), для этого должна быть запущена системная служба (service) wine.

    Установка и удаление win-приложений

    Как и в Windows, перед использованием большую часть приложений сначала потребуется установить. Установка производится обычным для Windows способом — с помощью поставляемой вместе с win-приложением программы установки. Разница в том, что в случае WINE программа будет установлена в локальном win-окружении пользователя.

    Для установки win-приложения следует любым удобным способом запустить программу установки (чаще всего setup.exe ). Дальше можно действовать по инструкции, предлагаемой поставщиком win-приложения.

    Многие win-приложения запрашивают перезагрузку для завершения установки. Естественно, перезагружать host-систему при этом не следует. В локальном win-окружении процедуре загрузки Windows соответствует команда wineboot — её можно вызвать из любой командной строки. Если в этот момент в WINE выполняются другие приложения, то рекомендуется их завершать до перезагрузки.

    Для удаления win-приложения, установленного в win-окружении, следует воспользоваться утилитой uninstaller. Эта утилита выводит список установленных в win-окружении приложений (если они зарегистрированы в реестре). Чтобы удалить приложение, выберите его из списка и нажмите кнопку «Uninstall». Если приложения, которое вы хотите удалить, нет в списке, то достаточно просто удалить каталог с приложением (можно воспользоваться для этого программой winefile. а можно — стандартными средствами host-системы).

    Безопасность Советы по соблюдению должного уровня безопасности в WINE могут быть сведены к двум простым соображениям:
    • жертвой ошибки в программе или злонамеренных действий со стороны win-приложения (вируса) может стать только та часть файловой системы, которая входит в область видимости WINE;
    • права доступа к данным определяются правами пользователя, запустившего WINE.
    Поэтому следует максимально ограничить область видимости WINE, включив туда только те данные, доступ к которым необходим win-приложениям для работы. Можно сформулировать и несколько более конкретных рекомендаций:
    • Никогда не запускайте WINE от имени пользователя root. Запущенное от имени root win-приложение получит привилегии этого пользователя. Для работы они ему никогда не потребуются, а во вред могут быть употреблены запросто.
    • Не следует давать доступ win-приложениям к важным системным каталогам, и в особенности к корневому каталогу файловой системы (“ / ”). Даже целиком включать домашний каталог пользователя в зону видимости WINE почти наверняка не требуется.
    Шрифты

    Системе WINE доступны те же шрифты, что и другим приложениям в host-системе 4. Соответственно, к этим шрифтам получают доступ и win-приложения.

    Сделать определённые шрифты доступными win-приложению можно несколькими способами:
    • Для всех пользователей — поместить шрифты в host-системе штатным для системы способом;
    • Для конкретного пользователя — поместить эти шрифты в каталог шрифтов пользователя (
    /.fonts );
  • Только для win-приложений данного пользователя — поместить шрифты непосредственно в каталог шрифтов на логическом диске WINE (обычно

    Существует базовый набор шрифтов (Corefonts) для систем Windows — многие приложения рассчитывают на наличие в системе шрифтов со стандартными именами из данного набора. Для корректной работы таких приложений, возможно, потребуется установить этот набор шрифтов. Его можно скачать с сайта http://corefonts.sourceforge.net .

    Дополнительная информация

    Наиболее подробную документацию о WINE для пользователей и разработчиков можно найти на сайте разработчиков WINE. К сожалению, на сегодняшний день эта документация доступна только на английском языке.

    На официальном сайте проекта WINE доступна самая свежая информация по WINE, сведения о разработке, включая дальнейшние планы, списки рассылки, исходные тексты WINE, списки работающих win-приложений, поддерживаемых фукнций WinAPI и множество другой информации. Из русскоязычных ресурсов можно обратиться к проекту «Русский WINE». который позиционируется как ресурс, объединяющий русскоязычных пользователей WINE. Здесь большое внимание уделяется проблемам локализации WINE и запуска специфических приложений, актуальных для русскоязычных пользователей. Многие пользователи могут найти для себя полезным русскоязычный форум. посвящённый WINE.

    1 Здесь и далее мы будем называть такие приложения win-приложениями.

    2 ОС Unix/Linux, в которой установлен и выполняется WINE.

    3 Нужно делать это вручную, или монтирование выполняется автоматически — зависит от вашего дистрибутива и стиля работы.

    4 Для получения списка доступных шрифтов WINE использует пакет fontconfig, а для отрисовки символов — библиотеку freetype2.

  • Запуск программ Winodws в Linux при помощи Wine

    Запуск программ Winodws в Linux при помощи Wine. Скачать, установить, настроить Wine.

    Wine - свободная открытая реализация программного интерфейса Windows. Wine - не эмулятор операционной системы или компьютера. как можно охарактеризовать, например, программы для виртуализации (VirtualBox, VmWare и т.п.), что подчеркивает и расшифровка его названия "Wine Is Not Emulator ". Wine был создан для снижения степени зависимости от деятельности и положения корпорации Microsoft. расширения сферы применения свободных операционных систем за счет возможности запуска программ для Windows .

    Содержание Wine - не эмулятор

    По сути, Wine - это набор библиотек и программных инструментов, позволяющий запускать программы для Windows и схожий с тем, что использует сама операционная система от Microsoft. В состав программного дистрибутива Wine так же входят программы для его настройки (winecfg ), редактор реестра, пакет скриптов Winetricks . файловый менеджер, "Блокнот" и т.п.

    Количество программ для Windows. которые сегодня уже запускаются с помощью Wine достаточно велико и постоянно растёт. По адресу http://appdb.winehq.org находится специализированная база данных с отметками о совместимости тех или иных программ с Wine .

    Среди полностью совместимых с Wine программ множество офисных и мультимедийных программ, программы для предприятий и организаций, "1C" в т.ч. программы для обработки графики (включая некоторые версии Adobe Photoshop и т.п.). Растёт количество поддерживаемых и изначально совместимых с Wine игр .

    Поскольку эмуляции каких-либо устройств и при работе Wine не происходит, скорость работы совместимых с Wine программ при его использовании обычно не ниже, чем при работе непосредственно в Windows (а часто - выше). На основе, или с применением компонентов, Wine в разное время были созданы такие проекты как Cedega (ориентированный на запуск игр. в первую очередь), CrossOver (ориентированный на запуск прикладных программ ) и т.п.

    Установка Wine

    Пакет программного обеспечения Wine чаще всего входит в состав современных дистрибутивов GNU/Linux (Ubuntu, Mint, Debian, openSUSE и т.п.), и для его поиска и установки Вам, скорее всего, необходимо обратиться к управлению программным обеспечением своего дистрибутива .

    apt-get install wine Для того, чтобы установить WINE. выполните в консоли от имени администратора, для Debian. Ubuntu, Mint, Debian и т.п. zypper install wine wine-gecko Для SUSE и openSUSE Linux.

    Настройка Wine

    Для запуска программы настройки Wine. вызовите в консоли, или диалоге быстрого вызова команд. winecfg (при необходимости используйте "WINEPREFIX "). winecfg настраивает внешний вид Windows-программ например, даёт возможность сменить версию набора библиотек Windows (2000, XP, 2003, Vista. ) и т.п.

    Winetricks - дополнительные настройки, компоненты и программы

    Winetricks - это набор скриптов, написанный разработчиками Wine и сообществом, для облегчения внесения изменений в некоторые скрытые настройки Wine, установки некоторых дополнительных системных библиотек (DirecX и т.п.) и популярных программ для Windows, включая Internet Explorer (IE), несколько демо-игр и т.п. .

    Winetricks обычно входит в состав дистрибутива Wine. Для запуска основного диалогового окна Winetricks выполните в консоли, или диалоге быстрого вызова команд (комбинация клавиш "Alt+F2 "), команду "winetricks ".

    Вы так же можете пользоваться командами вида "winetricks directx9" в консоли, где "directx9" - имя устанавливаемого компонента. Для просмотра списка категорий компонентов, предлагаемых Winetricks к установке. можно вызвать команду "winetricks list". а для обзора списков содержимого самих категорий - "winetricks apps list", где "apps" - имя нужной категории.

    Запуск программ Windows в Wine

    Способ запуска программ в Wine типичен для работы с любыми файлами, будь то изображение, текстовый файл или исполняемый exe-файл в нашем случае: Вы можете просто запустить исполняемый файл Windows (*.exe) из своего файлового менеджера (двойным щелчком, например), или выполнить в консоли команду вида wine

    Вы так же можете запускать программы Windows через внутренние пути Wine. если они находятся в директориях, монтируемых как системные диски при запуске необходимого профиля ("префикса") Wine (будь то стандартные "

    /.wine/drive_c", или любые другие папки, настроенные Вами). В этом случае используется DOS-формат адреса программы wine C:\\Program\ Files\\programm.exe .

    Знак \ добавляется перед специальными символами, такими как тот же обратный слеш ("\"), или пробел.

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

    Для установки программы Windows. Вам, соответственно, понадобится запустить её установщик. wine setup.exe

    Далее Вам будет необходимо пройти стандартную процедуру установки программ для Windows. которая чаще всего заключается в многократном нажатии кнопки "Далее".

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

    Стандартным префиксом Wine. т.е. папкой в которую записывается профиль по-умолчанию, является ".wine" - скрытая папка внутри домашней директории пользователя. Чтобы использовать отдельный "префикс". Вам необходимо создать для него новую папку (для сброса профиля - удалите её содержимое ) и использовать экспорт глобальной переменной WINEPREFIX (можно как часть команды запуска программы Windows, для установщиков в т.ч.). Например WINEPREFIX="/home/user/.wine-programm" wine setup.exe .

    Для установленных программ Wine создаёт ярлыки в локальном пользовательском (

    /.local/share/applications/) меню рабочего стола (Gnome, KDE, XFCE и т.п.), используя необходимые префиксы .

    Смотрите так же:

    desktopLinux.ru - вики-гид по свободному программному обеспечению,
    операционным системам на базе Linux: GNU, Android
    и другим.

    На страницах изданий проекта Вы найдёте: публикации, содержащие основные ключи к пониманию методологии свободного ПО и базовых принципов работы с популярными бесплатными дистрибутивами свободных ОС ; всё необходимое для начала использования GNU-Linux и Android на персональном настольном, одном из мобильных или карманном компьютере, включая планшеты и смартфоны. соответственно.

    Не забывайте упомянуть источник,
    копируя и используя материалы веб-сайта.

    CrossOver и WINE позволят запускать Windows-приложения на Android

    CrossOver и WINE позволят запускать Windows-приложения на Android

    Летом этого года Microsoft рассказала о планах по развитию проекта Windows Bridge. призванного облегчить портирование Android-приложения на платформу Windows. Сегодня стало известно о двух проектах, которые будут работать с точностью до наоборот. Так, программы CrossOver и WINE позволят запускать приложения Windows на Android-устройствах. К помощи схожего ПО прибегают пользователи Linux, когда им необходимо запустить программу для Windows, а аналога под Linux не существует. К сожалению, CrossOver и WINE могут взаимодействовать только с архитектурами x86 и x64.

    Как известно, чипсеты с такой архитектурой производят только AMD и Intel. Большинство смартфонов и планшетов созданы с использованием ARM-архитектуры, так что запуск x86-кода на них будет невозможен. Программы CrossOver и WINE эмулируют среду работы для приложений Windows таким образом, что оно чувствует себя как на "родной" платформе.

    Ещё одной проблемой может стать несовместимость многих программ Windows с сенсорными экранами, однако всё может измениться благодаря Windows 10. Полноценно взглянуть на работу проектов CrossOver и WINE можно будет только в конце этого года.

    89 комментариев

    Linux, Wine, q4wine, установка и работа с программами Windows

    Linux, Python, Django и все-все-все Linux, Wine, q4wine, установка и работа с программами Windows Введение

    Всем известно, что под Linux можно запускать программы, написанные для Windows. Причем таких способов несколько. Например можно эмулировать компьютер, как делают это QEMU, VMware или VirtualBox. Однако самый удобный способ запуска таких программ, конечно же Wine. Но просто Wine пользоваться не всегда удобно, для облегчения настройки и запуска программ создано немало приспособлений, одно из них - q4wine.

    Wine, это такой промежуточный слой между программой и ОС. Этот слой эмулирует для программы API Windows и переводит вызовы этого API в вызовы ОС Linux/X11. Долгое время Wine работала не очень, т.к. API был покрыт не в полном объеме, да и глюков хватало. Но, в последнее время проект достиг состояния, в котором им вполне уже можно пользоваться.

    Проблемы и пути их решения

    Однако, несмотря на все успехи, остается много проблем и неудобств при использовании Wine. Перечислим:

    • По идее, самого Wine хватает для запуска простейших программ. Однако многие программы требуют других компонентов Windows (Например таких как фонты, библиотеки). Эти компоненты необходимо устанавливать отдельно, причем делать это "руками" часто весьма неудобно.
    • Разные программы могут требовать разных компонентов и разных настроек Windows, причем часто несовместимых между собой.
    • Желательно иметь средство для интеграции установленных программ Windows в десктопное окружение Linux.

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

    К таким программам относятся:

    Ссылки на статьи

    Запуск программ

    Программы запускаются очень просто, предположим у нас есть программа для Windows, progr.exe. которую мы хотим запустить. Набираем в консоли:

    Запускается Wine и запускает нашу программу. Но такие программы, в виде одного .exe файла встречаются редко. Обычно программу нужно установить. В этом случае берем установочный файл для программы и запускаем его:

    Дальше все как обычно для таких программ, отвечаем на вопросы, жмем кнопочки Next и так далее. Когда скрипт отработает, программа будет установлена. По умолчанию программа будет установлена в иерархии

    Как запустить программу? Ну можно найти, куда установилась программа, и запустить ее, как было описано выше, командой wine progr.exe Можно сварганить для ее запуска небольшой скрипт и запускать программу из этого скрипта. Я обычно делаю скрипт. Что-то вроде такого:

    /.wine/drive_c/Program Files/Internet Explorer"
    wine iexplore.exe

    WINEPREFIX

    По умолчанию Wine хранит все файлы и настройки в директории

    wine Иногда бывает удобно или необходимо иметь несколько таких директориев с разными настройками.

    Для того, чтобы указать Wine В каком директории находятся файлы настроек и софта, служит переменная окружения WINEPREFIX Ее удобно использовать в скриптах, для запуска Windows программ. Пример скрипта:

    #! /bin/bash
    export WINEPREFIX = $HOME "/.wine_games"
    cd $WINEPREFIX "/drive_c/Program Files/Internet Explorer"
    wine iexplore.exe

    q4wine

    Для облегчения работы лично я выбрал среди других оболочек q4wine.

    Компиляция и установка

    Скачать q4wine можно отсюда:

    tar -xjvf q4wine-0.118.tar.bz2
    cd q4wine-0.118
    mkdir build
    cmake - DCMAKE_INSTALL_PREFIX =/usr/local/stow/q4wine-0.118
    make
    sudo make install
    cd /usr/local/stow/
    xstow q4wine-0.118

    В качестве менеджера пакетов для софта, собранного из исходников, я использую xstow. Строки, после sudo make install. относятся к работе с этим менеджером. Директорий для установки тоже выбран исходя из этого.

    Конфигурирование

    Переходим на таб Префиксы и запускаем Создать новый префикс

    Как минимум нужно задать два параметра:

    • Путь к префиксу: Путь к директорию, где будет содержаться директория с настройками Wine, виртуальными дисками и так далее.
    • Название: название, под которым в q4wine будет фигурировать этот префикс.

    Теперь выбираем созданный нами префикс и жмем кнопочку на тулбаре: Setup prefix fake drive and applications

    Запустится визард создания диска. В принципе, настройки можно оставлять дефолтные.

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

    Установка программ
    • Переходим в закладку Префиксы. Выбираем нужный префикс.
    • Переходим в закладку Программы. В окошечке браузера щелкаем правой клавишей, выбираем Новый и создаем папочку для своих программ.
    • Выбираем эту папочку, щелкаем правой клавишей, выбираем Новый и создаем иконку для запуска программы.
    Заключение

    Ортодоксы скажут, что Wine не нужен, что все задачи можно выполнять непосредственно из-под Linux. Это да. Но иногда, например, нужно разрабатывать кроссплатформенный софт. В таких случаях и помогает Wine. Хотя в некоторых случаях не обойтись без эмулятора, типа VirtualBox.