Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Wine: Часто задаваемые вопросы

Оригинал: FAQ
Дата: 23 мая 2008
Свободный перевод: Алексей Дмитриев
Дата перевода: июнь 2008

Эти Часто задаваемые Вопросы касаются основных тем по Wine.
По вопросам, касающимся развития самого Wine, смотрите DeveloperFaq.

Оглавление

1. Общие вопросы


1.1. Как мне установить приложение в Wine?
1.2. Как мне запустить установщик (инсталятор) при помощи Wine?
1.3. Как мне запустить уже установленное мною приложение?
1.4. У меня в разделе Windows установлено множество приложений. Как мне пользоваться ими при помощи Wine?
1.5. Как запускается Wine?
1.6. Какая разница между Wine, CrossOver Linux, и Cedega?
1.7. Почему одни пишут WINE, а другие Wine?
1.8. Является ли Wine эмулятором? В пользу этого предположения, похоже, есть аргументы.
1.9. Когда появится релиз Wine-1.0?
1.10. Не повреждает ли Wine Линукс?
1.11. Почему Wine имеет Windows версию?
1.12. Работает ли Wine в 64-битном режиме?
1.13. Могу ли я использовать Wine для установки драйверов для моего "железа"?
1.14. Где я могу получить дополнительную помощь?
1.15. Кто отвечает за Wine?
1.16. Как я могу содействовать развитию проекта Wine, и в какой форме?
1.17 Мне кажется, что я нашел ошибку. Как я могу сообщить о ней команде программистов Wine?

2. Использование Wine


2.1. Когда я кликаю мышью на .exe файле в моем файловом менеджере, то ничего не происходит.
2.2. Я хочу применить аргументы командной строки к моей программе.
2.3. Я хочу, чтобы мое Windows приложение могло открывать документы, запуская Linux приложения.
2.4. Моя программа зависла, как мне закрыть ее?
2.5. Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать?
2.6. Что такое "winetricks"? Где их взять?
2.7. Мое приложение не работает, требует MFC40.DLL
2.8. Мое приложение не работает, требует MFC42.DLL или MSVCP60.DLL
2.9. Мое приложение не работает, требует MDAC
2.10. Мое приложение не работает, требует .NET
2.11. Мое приложение не работает, требует Internet Explorer.
2.12. Как установить Internet Explorer в Wine?
2.13. Мое приложение работает, но текстовые поля ведут себя странно (текст не переходит на следующую строку, двойной щелчок не выделяет слова и т.д.).
2.14. Как заставить Wine запустить индивидуальное приложение внутри виртуального рабочего стола?
2.15. Мое приложение жалуется на невозможность изменить разрешение и глубину цвета.
2.16. Приложение, которое я пытаюсь запустить, жалуется, что ему нужно 256 цветов, но у меня в наличии миллионы цветов.
2.17. После запуска игры в полноэкранном режиме, мой Х экран не возвращается к нормальному разрешению.
2.18. Я использую Beryl/XGL/Compiz и получаю плохую эффективность/странные сообщения/испорченные приложения.
2.19. Как мне узнать свою версию Wine?
2.20. Должен ли я запускать Wine как суперпользователь?
2.21. Я запускал Wine через sudo, или как суперпользователь, как мне теперь исправить ошибки с правами доступа?
2.22. Как мне деинсталировать Wine? Как мне удалить виртуальную Windows инсталляцию?
2.23. Какой звуковой драйвер выбрать в winecfg?
2.24. Почему недоступен PulseAudio?
2.25. Я установил OSS в Wine и у меня нет звука.
2.26. Когда я кликаю вкладку audio, winecfg либо подвисает, либо жалуется на какие-то файлы.
2.27. При запуске winecfg выводится без текста, или с поврежденным текстом.
2.28. При использовании Wine через удаленные X11 сессии, выводился поврежденный текст, либо текста вовсе не было.
2.29. Как применить сглаживание (anti-aliasing) к шрифтам в Wine?
2.30. Как мне изменить размер и разрешение шрифтов?
2.31. Окна и шрифты в Wine чрезвычайно велики, так что окно целиком не влезает в экран.
2.32. Как редактировать регистр Wine?
2.33. У меня есть MSI файл, как мне установить и запустить его?
2.34. Мой CD или DVD диск не вынимается.
2.35. Моя программа не работает в сети, хотя Linux выходит он-лайн.
2.36. Как мне сконфигурировать proxy?
2.37. Как получить отладочный трассировочный лог?
2.38. Почему DNS не работает в 64-битной ОС?
2.39. Какие приложения и сервисы конфликтуют с Wine?

3. Приложения


3.1. Как мне деинсталировать Windows приложение?
3.2. Будет ли Wine работать с моим приложением?
3.3. Поддерживает ли Wine DirectX? Могу ли я установить Микрософтовский DirectX под Wine?
3.4. Почему Wine плохо работает с защитой от копирования?
3.5. Мое приложение работало со старой версией Wine, а теперь не работает!
3.6. Мне очень нужно данное приложение для работы, как мне добиться, чтобы оно заработало?

4. Эффективность


4.1. Каковы системные требования Wine?
4.2. Мои 3D приложения и игры очень медленны (fps).
4.3. Медленнее ли пользоваться Wine, чем Windows?
4.4. Я получаю множество сообщений "fixme:" в терминале, и Wine работает чуть замедленно.
4.5. Предупреждение: "preloader: Warning: failed to reserve range 00000000-600000".

5. Apple


5.1. Как мне установить Wine на мой Mac?
5.2. Могу ли пользоваться Wine на старом Mac'е без чипа Intel?

6. Риски


6.1. Wine подвержен опасности заражения вредоносными программами.
6.2. Nautilus может удалить вашу домашнюю директорию во время опустошения мусорной корзины!

1. Общие вопросы

1.1. Как мне установить приложение в Wine?

Просто запустите при помощи Wine инсталятор этого приложения. (Например, если у вас cd-rom, откройте его в файловом менеджере и запустите файл setup.exe).

1.2. Как мне запустить установщик (инсталятор) при помощи Wine?

Дважды щелкните на нем мышью, совсем как в Windows! Можно еще щелкнуть правой кнопкой мыши, выбрать в меню строку "Открыть при помощи" и найти в списке программ Wine.

Если все это не работает, откройте окно терминала, при помощи команды cd перейдите в папку, содержащую инсталятор (файл setup.exe) и запустите его, напечатав в командной строке:

$ cd Desktop
$ wine setup.exe

Если имя инсталятора не имеет расширения .exe, то вам следует напечатать "wine start", а затем имя инсталятора, например:

$ cd Desktop
$ wine start FluffyBunnySetup.msi

(Не печатайте значок $, это приглашение командной строки. И вообще, необязательно печатать все эти буквы - вы можете напечатать несколько первых букв, затем нажать клавишу Tab, а копьютер сам закончит имя, которое вы набираете).

1.3. Как мне запустить уже установленное мною приложение?

После того, как вы установили приложение при помощи Wine, скорее всего, у вас уже есть строка в Главном меню, в разделе Все Приложения/Wine/Программмы, либо иконка на рабочем столе, так, как это было бы в Windows.

Можно открыть в вашей домашней директории папку .wine/drive_c/Program Files (она скрытая, так что надо поставить в меню "Вид" галочку напротив опции "Показывать скрытые файлы"), найти папку вашего приложения, в ней найти главный .exe файл (нужно догадаться) и дважды кликнуть его мышью.

Если все это не работает, откройте окно терминала, перейдите в директорию приложения, скажем:

$ cd ".wine/drive_c/Program Files"
$ ls
Adobe Microsoft FluffyBunny
$ cd FluffyBunny

Затем найдите главный .exe файл (нужно догадаться), и запустите его при помощи Wine, вот так:

$ ls *.exe
fluff.exe uninstall.exe ereg.exe
$ wine fluff.exe

1.4. У меня в разделе Windows установлено множество приложений. Как мне пользоваться ими при помощи Wine?

Вкратце: вам необходимо установить их в Wine, точно так же, как вы устанавливали их в Windows.

Развернуто: некоторые приложения могут быть скопированы из Windows в Wine и продолжать работать, но, если вы не любитель возиться под капотом при работающем двигателе машины, лучше не пытайтесь этого делать. Wine не предназначена для взаимодействия с существующей инсталляцией Windows.

Предупреждение: Не пытайтесь настроить Wine на ваш реальный Windows C:\ диск. Мы долго и безуспешно пытались это сделать, так что и у вас вряд ли случайно получится.

1.5. Как запускается Wine?

Wine - это не то, что можно запустить; при помощи Wine запускают программы. Просто открывайте приложение, и Wine будет автоматически загружена, чтобы запустить его. Вы можете просматривать ваш ложный windows диск, находящийся в директории ~/.wine/drive_c. (Эти настройки Wine могут быть изменены при помощи программы winecfg, но в норме этого делать не следует).

Если хотите общий обзор и руководство по использованию Wine, то читайте Руководство Wine.

В большинстве случаев, однако, ваши действия сводятся к щелчку мыши на нужном приложении в главном меню вашего Gnome/KDE/Что-там-у-вас.

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

$ cd "~/.wine/drive_c/Games/Tron" && wine tron.exe

Второй метод используйте ТОЛЬКО когда собираетесь устанавливать что-либо, размещенное на нескольких CD (что позволит вам менять CD диски), так как он не всегда срабатывает. Метод состоит в использовании полного Windows пути (path) вроде вот этого:

$ wine "C:\Games\Tron\tron.exe"

НЕ ЗАПУСКАЙТЕ программ, использую полный Linux путь (path), типа: "wine /stuff/mygame.exe", или двойным щелчком на иконке в файловом менеджере Linux (иногда это срабатывает, а иногда приводит к различным ошибкам).

Это происходит потому, что Wine проходит путь (path) как он есть вплоть до windows программы с argv[0] (нулевой аргумент, передающийся программе при запуске). Подставляет нужное значение аргумента программа cmd.exe и Wine имеет обширные тесты по этому механизму. Между тем, некоторые программы требуют полный windows путь (path) в argv[0], и прерываются, если не получают его. Множество программ написанных с использованием инструментов фирмы Borland будут иметь эту проблему, так как Borland ошибочно заявила в руководстве что argv[0] всегда будет установлен полным путем (path) исполняемого файла. А это не тот случай.

Если вы используете Gnome, KDE или XFCE4, после установки нескольких приложений в Wine, вы должны заметить раздел Wine, содержащий меню всех установленных приложений, в главном меню вашего рабочего стола (если вы при установке просили их создать ярлыки в меню Пуск). Если приложения отсутствуют в меню, попробуйте запустить команду "wineboot" и посмотрите снова.

1.6. Какая разница между Wine, CrossOver Linux, и Cedega?

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

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

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

Для подробного ознакомления с тем, как это произошло, смотрите Историю Wine.

1.7. Почему одни пишут WINE, а другие Wine?

Они используют акроним "Wine Is Not an Emulator" (Wine - не эмулятор), первоначальное имя проекта. И, хотя рекурсивные акронимы штука непростая, нет никакого резона писать заглавными буквами. Они уродливо выглядят, так что просим использовать простое, принятое сегодня название проекта: Wine. Мы тоже им пользуемся.

1.8. Является ли Wine эмулятором? В пользу этого предположения, похоже, есть аргументы.

Когда пользователь думает об эмуляторе, он представляет себе вещи вроде Super Nintendo или виртуальной машины. Думать так в отношении Wine неправильно - Wine выполняет приложения Windows точно так же, как это делает сама ОС Windows. При использовании Wine нет неизбежной потери скорости на "эмуляцию", и нет необходимости открывать Wine прежде запуска приложения.

1.9. Когда появится релиз Wine-1.0?

Смотрите WineReleasePlan, там есть расписание. Также смотрите WineReleaseCriteria, там описаны задачи и цели для релиза 1.0.

1.10. Не повреждает ли Wine Линукс?

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

1.11. Почему Wine имеет Windows версию?

Windows версия Wine позволяет разработчикам тестировать завершенность DLL от Wine, помещая их прямо в Windows. По крайней мере, в настоящее время, это сделано в основном для разработчиков. Однако в будущем, когда мы закончим реализацию нашего DirectX 10, мы сможем реализовать Direct3D 10 в Windows XP тем же способом, каким он работает в Wine: переводя вызовы DirectX в таковые OpenGL.

1.12. Работает ли Wine в 64-битном режиме?

Да. В норме, инсталяция должна быть такой же, как и в 32-битном: просто устанавливайте пакет Wine для вашего дистрибутива. Смотрите Downloads page. Если вам нужно собрать Wine из исходников, то смотрите WineOn64bit для детальных указаний.

Учтите, что Wine для 64-бит на самом деле работает в 32-битном режиме. Это необходимо, так как фактически все Windows приложения 32-битные. Синхронная поддержка 64-битного Windows планируется на будущее, после выпуска релиза 1.0.

  • В настоящее время Wine выпускается в 32-битном режиме. 16-битные и 32-битные приложения работают на нем. 64-битные инсталляции Linux будут работать с 32-битным Wine.
  • Wine будет выпускаться в 64-битном режиме. 64-битные приложения Windows будут работать на нем. Некоторые 16-битные приложения работать на нем не будут.

1.13. Могу ли я использовать Wine для установки драйверов для моего "железа"?

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

1.14. Где я могу получить дополнительную помощь?

В дополнение к данной Wiki, Wine HQ Documentation и рассылочный лист являются великолепными ресурсами. Вам, скорее всего, нужен рассылочный лист, однако, если вы независимый продавец программного обеспечения, желающий портировать приложения в Winelib, вам стоит попробовать wine-devel.

Если вам нужна помощь по конкретному приложению, стоит просмотреть Application DB. Это место, где люди могут обмениваться опытом, делиться хитростями и подсказками и задавать вопросы.

Есть IRC канал: #WineHQ. Обычно несколько знающих пользователей бывают на связи, частенько там рыщут и разработчики. Смотрите на IRC наиболее важную информацию.

Существует также группа новостей Usenet , но лучше воспользоваться рассылочным листом. Рассылочные листы используют и просматривают разработчики, поэтому там больше вероятность получить помощь. Как бы то ни было, группа новостей называется comp.emulators.ms-windows.wine.

1.15. Кто отвечает за Wine?

Wine существует благодаря работе множества людей по всему миру. Вот компании, которые участвовали в разработке Wine: CodeWeavers, TransGaming, Corel, Macadamian, и Google. Смотрите страницы Благодарности и История Wine для дополнительной информации.

1.16. Как я могу содействовать развитию проекта Wine, и в какой форме?

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

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

Список конкретных аспектов возможной помощи смотрите на странице Помощь Wine.

1.17. Мне кажется, что я нашел ошибку. Как я могу сообщить о ней команде программистов Wine?

Отчеты об ошибках направляйте на нашу он-лайн систему Bugzilla. Чтобы повысить продуктивность разработчика и способствовать исправлению направленной ошибки, пожалуйста, прочтите статью Bugs в Wiki. Неполный отчет об ошибке может быть помечен как несостоятельный и закрыт, не продвинув вас к разрешению вашей проблемы. А качественный отчет является существенной частью постоянной работы по совершенствованию Wine.

Пожалуйста, заметьте, что вам не следует посылать отчеты об ошибках программ сторонних разработчиков, либо библиотек, замененных на "родные" от Windows.

2. Использование Wine

2.1. Когда я кликаю мышью на .exe файле в моем файловом менеджере, то ничего не происходит.

Предупреждение: Если возможно, запускайте приложения из главного меню рабочего стола (меню Wine) или значком на рабочем столе. Двойной щелчок на .exe файле обычно применяется только для установки еще не установленных приложений, например на файле setup.exe, запускающем игру с CD-ROM, либо на инсталяторе скачанной программы.

Если двойной щелчок не работает, можно сделать правый щелчок и выбрать из появившегося меню "Открыть с помощью Wine" ("Run with Wine"). Это зависит от вашего менеджера файлов. Если же и это не работает, свяжитесь с тем, кто собирал ваш Wine пакет, и пожалуйтесь ему.

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

$ wine (program).exe

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

Если вы увидите сообщение вроде:

err:module:import_dll Library MFC42.DLL (which is needed by L"C:\\Program Files\\Yoyodyne\\Overthruster.DLL") not found

то это значит, что нужно установить отсутствующую рабочую библиотеку. Смотрите вопрос 2.7. Мое приложение не работает, требует MFC40.DLL ниже.

2.2. Я хочу применить аргументы командной строки к моей программе.

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

> quake.exe -map e1m1

Тогда вы можете проделать то же самое в Wine, набрав:

$ wine quake.exe -map e1m1

Как видите, командная строка идентична, за исключением wine впереди. Однако имейте в виду, что вы должны избегать применения специальных символов с обратными слэшами (\), имеющих "хождение" в оболочке (шелл) Linux. Например:

quake.exe -map C:\Quake\e1m1.bsp

превратится в:

wine quake.exe -map C:\\Quake\\e1m1.bsp

Более подробно про использование обратных слэшей смотрите: здесь.

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

Вам нужно использовать winepath для перевода имени файла из Windows формата в формат Linux.

2.4. Моя программа зависла, как мне закрыть ее?

Если вы запускали программу из окна терминала, набирая wine (program).exe, то вернитесь к этому терминалу и нажмите ctrl+c. Если вы запускали программу другим способом, например значком на рабочем столе, то нужно открыть терминал и насильно убить процесс:

killall -9 Application.exe

Если вы хотите убить все программы Wine за раз, можно напечатать:

wineserver -k

Можно также открыть Wine аналог Виндовского Менеджера задач при помощи команды "wine taskmgr" в терминале. Это позволит закрывать процессы Wine индивидуально.

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

2.5. Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать?

Приложения должны включать все необходимые DLL (кроме DLL ядра Windows). Некоторые разработчики иногда забывают делать это, в надежде, что у вас уже установлен этот DLL или шрифт. Вы можете установить недостающие DLL или шрифты несколькими способами:
  1. Загрузить их с сайтов оригинальных разработчиков (например, Микрософт). Простейший способ сделать это - воспользоваться winetricks (см. ниже).
  2. Установить другое приложение, содержащее их.
  3. Скопировать из лицензионной версии Windows, установленной на той же машине.
/!\ Не скачивайте DLL и скрипты с незнакомых сайтов, или с сайтов, которым вы не доверяете! Бракованная или инфицированная библиотека может стоить больших неприятностей, даже в Wine.

2.6.Что такое "winetricks"? Где их взять?

Winetricks - это скрипт оболочки, который загружает недостающие DLL и шрифты из проверенных источников. Он был написан для помощи разработчикам, но оказался полезен и конечным пользователям. Смотрите страницу wiki про winetricks для подробной информации.

2.7. Мое приложение не работает, требует MFC40.DLL

Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить MFC40.DLL при помощи winetricks, выбрав mfc40.

2.8. Мое приложение не работает, требует MFC42.DLL или MSVCP60.DLL

Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить MFC42.DLL, MSVCP60.DLL и их друзей, запустив winetricks и выбрав vcrun6.

2.9. Мое приложение не работает, требует MDAC

Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить MDAC, запустив winetricks, и выбрав mdac 2.7.

2.10. Мое приложение не работает, требует .NET

Вам здорово не повезло, но при наличии храбрости вы можете попробовать запустить их. Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить .net 2.0, запустив winetricks, и выбрав dotnet20. Это пока не поддерживается, и немногие .NET приложения действительно работают. Смотрите страницы .NET AppDB для получения информации по установке этих программ.

В качестве альтернативы, вы можете установить Mono, замену .net 2.0 с открытым исходным кодом, запустив winetricks, и выбрав mono19. Эта программа пока не поддерживается, и немногие .NET приложения действительно работают с ее помощью под Wine. Смотрите страницу Mono Project AppDB для дальнейшего ознакомления.

2.11. Мое приложение не работает, требует Internet Explorer.

Wine использует ядро Firefox'а, называемое Gecko, для реализации собственного Internet Explorer. В некоторых случаях вы можете "осчастливить" приложения, требующие IE, запустив winetricks и выбрав gecko или/и лже-IE6.

2.12. Как установить Internet Explorer в Wine?

Проект Wine не поддерживает IE, так как он требует множество "родных" DLL, которые трудно воссоздать.

Если, по каким-то причинам, вам необходимо запустить настоящий IE, смотрите ies4linux, являющийся скриптом, выполняющим необходимую конфигурацию Wine для вас. (Но, пожалуйста, не просите у проекта Wine помощи, если попадете в беду - просите у автора ies4linux.)

2.13. Мое приложение работает, но текстовые поля ведут себя странно (текст не переходит на следующую строку, двойной щелчок не выделяет слова и т.д.).

Вам попалась ошибка в библиотеке Wine RICHED20.DLL. Вы можете попробовать использовать Микрософтовскую RICHED20.DLL, запустив winetricks, и выбрав riched20. Это позволит вам обойти проблему, пока разработчики Wine не исправят ошибку.

2.14. Как заставить Wine запустить индивидуальное приложение внутри виртуального рабочего стола?

Для wine-0.9.61 и новее, это можно сделать при помощи winecfg. Добавте приложение во вкладку Applications, а затем во вкладке Graphics активизируйте опцию "Emulate a virtual desktop".

Для Wine-0.9.60 и старше, winecfg не позволяет настройку виртуального рабочего стола для отдельного приложения. Однако проблему можно обойти при помощи следующей команды:

$ wine explorer /desktop=name,1024x768 program.exe

Естественно, нужно заменить program.exe на настоящее имя вашей программы, и изменить разрешение на нужный вам размер виртуального рабочего стола.

2.15. Мое приложение жалуется на невозможность изменить разрешение и глубину цвета.

Обычно нужно отредактировать секцию Screen в файле /etc/X11/xorg.conf, подключив поддержку дополнительных разрешений и глубин цвета. Также, возможно, имеется проблема с Xrandr.

2.16. Приложение, которое я пытаюсь запустить, жалуется, что ему нужно 256 цветов, но у меня в наличии миллионы цветов.

Это ошибка в Wine. Смотрите http://bugs.winehq.org/show_bug.cgi?id=7334

На сегодня есть несколько обходных путей, которые можно попробовать. Смотрите 256ColorsWorkarounds.

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

Часто можно обойти это, изменяя разрешение экрана, а затем возвращая его к прежнему значению при помощи системных настроек.

Либо вы можете для восстановления настроек Х запустить в терминале такую команду:

xrandr -s 0

2.18. Я использую Beryl/XGL/Compiz и получаю плохую эффективность/странные сообщения/испорченные приложения.

Использование композитных менеджеров дисплея в Linux имеет тенденцию искажать работу OpenGL или разрушать OpenGL совершенно; поэтому мы рекомендуем вам, прежде чем пытаться использовать Wine, деактивировать их, и удалять опцию композитности из XOrg совершенно.

Если вы используете один из этих рабочих столов и ощущаете замедление работы, то НЕ ПРИСЫЛАЙТЕ отчетов об ошибках, так как это не ошибка Wine. Тот факт, что TuxRacer работает хорошо, еще не говорит о том, что виноват Wine, Windows игры в норме требуют больше мощности, чем родные игры Linux. Чтобы быть уверенным, запустите команду glxinfo, и убедитесь, что она сообщает "Direct Rendering: Yes" (Прямая визуализация: да).

2.19. Как мне узнать свою версию Wine?

Откройте терминал и запустите команду:

$ wine --version

ответ будет нечто вроде: "wine-0.9.36", или, если вы использовали GIT (это вроде CVS или SVN) ответ будет более длинным, вроде:"wine-0.9.36-139-ge79a94d".

ПОДСКАЗКА: Выяснить, какая версия Wine является новейшей можно на главной странице WineHQ. В настоящее время релизы Wine выходят каждые две недели. Ваша операционная система может работать с устаревшей версией Wine. В зависимости от системы управления пакетами в вашей ОС, вы можете обновлять свою версию. Смотрите страницу загрузок для подробного ознакомления.

2.20. Должен ли я запускать Wine как суперпользователь?

/!\ НИКОГДА не запускайте Wine как рут! Это дает Windows программам (и вирусам) полный доступ к вашему компьютеру и всему, что к нему подключено. Запуск при помощи sudo сделает то же самое, а на бонус испортит права доступа в домашнем каталоге пользователя в директории ~/.wine. Если вы запускали Wine через sudo, вам нужно выполнить команду:

$ sudo rm -rf ~/.wine

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

Для систем Linux все идеи по пользованию Wine с правами суперпользователя могут быть разрешены через Posix Capabilities, или Posix File Capabilities, либо корректировкой других настроек безопасности.

2.21. Я запускал Wine через sudo, или как суперпользователь, как мне теперь исправить ошибки с правами доступа?

Вам нужно удалить директорию ~/.wine, в которой находится весь Wine, со всеми настройками и важные данные, такие как: установленные программы, сохраненные результаты работы этих программ и т.д. После того, как вы удалите или переместите эту директорию, перезапустите Wine как обычный пользователь, и делайте так всегда! Чтобы удалить директорию ~/.wine, если она стала принадлежать суперпользователю (root), нужно выполнить команду:

sudo rm -rvf ~/.wine

2.22. Как мне деинсталировать Wine? Как мне удалить виртуальную Windows инсталяцию?

Виртуальную Windows инсталяцию можно удалить и начать с чистого листа, устранив (или переименовав) скрытую директорию .wine в вашем домашнем каталоге. Можно применить команду

$ rm -rf ~/.wine

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

Так как Wine относится к категории бета софта, мы периодически обновляем настройки по умолчанию, которые автоматически генерируются при первом запуске Wine. Иногда пользователи добиваются успеха в запуске приложения, удалив (или переместив) директорию ~/.wine, перезапустив winecfg с новой версией Wine, и переустановив программу.

2.23. Какой звуковой драйвер выбрать в winecfg?

В версиях Wine после 0.9.47, вы ничего не должны выбирать, установки по умолчанию будут работать хорошо. В версии 0.9.46, и alsa, и oss будут работать одинаково. В версиях до 0.9.42, oss работает лучше, после, alsa слегка уступает oss, так как может упускать некоторые возможности в голосовом чате.

2.24. Почему недоступен PulseAudio?

Разработчики проекта Wine решили пока не заниматься драйвером Pulse для Wine. Мы чувствуем, что лучше продолжать работу над более доведенным Wine Alsa драйвером. Мы знаем, что некоторые дистрибутивы используют Pulse по умолчанию, и сожалеем об этом. PulseAudio известен своими ошибками при эмуляции Alsa/OSS, и должен быть отключен при применении Wine.

Существует неофициальный PulseAudio драйвер для Wine, но он не поддерживается, и отчеты о его ошибках не обрабатываются.

2.25. Я установил OSS в Wine и у меня нет звука.

Если вы не применяете звуковую карту с чипсетом emu10k1/2 (SB Live!/Audigy), или карту другого типа, поддерживающую "Hardware Mixing", то вы можете слышать в данный момент времени только одно приложение, использующее звук. Если у вас aRts (звуковая система KDE), ESD (звуковая система Gnome), или открыто любое музыкальное приложение, то вы просто не услышите ничего от Wine. Вы должны убить или закрыть все эти программы, чтобы быть способным услышать звук от Wine. Чтобы выяснить, блокирует ли уже что-либо вашу звуковую карту, можете применить команду "cat /dev/urandom >> /dev/dsp". Если вы получаете сообщение об ошибке, значит нечто уже использует звуковую карту. Если вы слышите громкий фон, значит ваша звуковая карта свободна и готова к работе.

2.26. Когда я кликаю вкладку audio, winecfg либо подвисает, либо жалуется на какие-то файлы.

Зависание вызвано звуковым драйвером "NAS". Он делает паузу на некоторое время, но, в конце концов, ответит. Обойти проблему можно, удалив NAS из системы или собрать Wine без поддержки NAS на первом месте. Если появляются сообщения про некоего JACK, то их можно игнорировать, если вы не собираетесь использовать драйвер JACK. А если вы хотите его использовать, то сначала нужно установить библиотеки JACK, без этого он не заработает.

2.27.При запуске winecfg выводится без текста, или с поврежденным текстом.

И подобный вопрос:

2.28. При использовании Wine через удаленные X11 сессии, выводился поврежденный текст, либо текста вовсе не было.

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

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

Поместите эти строки в текстовой файл, и введите в регистр командой "regedit settings.txt"

Это был ответ на отчет об ошибке в OS X от 1 декабря 2007 года. Может помочь, если применять строго как сказано.

2.29. Как применить сглаживание (anti-aliasing) к шрифтам в Wine?

Находится в разработке.

2.30. Как мне изменить размер и разрешение шрифтов?

Сначала попытайтесь настроить при помощи winecfg. Перейдите во вкладку Graphics и двигайте ползунок "Screen Resolution" соответственно. Изменения не затронут окна winecfg, пока вы не перезапустите его.

Если окна и шрифты настолько велики, что вы не видите элементов управления в winecfg, то смотрите следующий вопрос.

2.31. Окна и шрифты в Wine чрезвычайно велики, так что окно целиком не влезает в экран.

Иногда удается, удерживая клавишу ALT, при помощи мыши передвинуть окно winecfg так, чтобы им можно было управлять; в этом случае нужно действовать, как описано в предыдущем вопросе.

Если это не удается, вы можете закрыть все windows приложения и изменить регистр жестким способом:

wineserver -k
sed -i 's@"LogPixels"=.*@"LogPixels"=dword:00000060@g' ~/.wine/system.reg

Можно также удалить директорию ~/.wine и переустановить Windows программы.

2.32. Как редактировать регистр Wine?

Регистр Wine - это файлы *.reg в директории ~/.wine, однако вам не следует их редактировать вручную, так как они используют необычную кодировку. Всегда используйте программу regedit, входящую в состав Wine. Она запускается командой regedit в терминале. Wine'овский regedit виртуально идентичен таковому в Windows и также поддерживает импорт и экспорт файлов регистра. НИКОГДА не пытайтесь целиком импортировать регистр Windows, это приведет к краху Wine.

Смотрите также: Полезные Ключи Регистра.

2.33. У меня есть MSI файл, как мне установить и запустить его?

MSI файлы не могут быть запущены напрямую, для их запуска нужна программа msiexec. MSI файлы устанавливаются в Wine из терминала командой:

$ wine msiexec /i whatever.msi

Эта команда запустит MSI программу точно так же, как если бы вы запускали ее двойным щелчком мыши из Windows.

2.34. Мой CD или DVD диск не вынимается.

Попробуйте wine eject. Это инструмент для освобождения, разблокирования и выталкивания дисковода.

2.35. Моя программа не работает в сети, хотя Linux выходит он-лайн.

Вам необходимо убедиться, что имя вашего хоста (hostname) соответствует IP адресу вашего сетевого интерфейса. Чтобы сделать это корректно, напечатайте в терминале:

$ hostname

Ответом будет имя вашего хоста (hostname), как его понимает ваш компьютер. После этого запустите с правами суперпользователя любой текстовый редактор (как это сделать зависит от вашего дистрибутива). Откройте файл /etc/hosts и посмотрите, есть ли строка с вашим именем хоста. Допустим, что имя вашего хоста - "yourhost", а сетевой IP адрес - 192.168.0.23. Строка в файле /etc/hosts может выглядеть так:

127.0.0.1 yourhost.yourdomain.com yourhost

Измените ее (или впишите, если такой строки нет) на:

192.168.0.23 yourhost.yourdomain.com yourhost

Для большинства Windows игр с сетевыми проблемами этого достаточно, чтобы сеть заработала.

2.36. Как мне сконфигурировать proxy?

Воспользуйтесь программой regedit для того, чтобы добавить следующие значения в ключ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]:

"ProxyEnable"=dword:00000001
"ProxyServer"="proxy-server-address:port"

2.37. Как получить отладочный трассировочный лог?

Для отчета об ошибке часто необходимо получить трассировочный лог (обычно +relay, но некоторые DLL имеют собственные отладочные каналы). Чтобы получить трассировочный лог выполните команду:

$ WINEDEBUG=+trace1,+trace2,-trace3 wine your_program.exe &> /tmp/output.txt

Затем прикрепите полученный файл /tmp/output.txt к отчету. Если размер этого файла превышает 1 Мб, то сожмите его перед прикреплением при помощи 'bzip2 -9' или 'rzip -9'.

Список отладочных каналов, доступных в Wine, ищите на странице DebugChannels.

2.38. Почему DNS не работает в 64-битной ОС?

Многие дистрибутивы не обеспечивают всех необходимых для Wine 32-битных библиотек совместимости. В этом случае Wine необходимы 32 bit DNS библиотеки. В случае Ubuntu/Debian, это пакет lib32nss-mdns. Чтобы установить его на этих ОС примените команду:

$ sudo apt-get install lib32nss-mdns

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

2.39. Какие приложения и сервисы конфликтуют с Wine?

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

Программа Pulseaudio также конфликтует с Wine, когда эмулирует Alsa/OSS.

3. Приложения

3.1. Как мне деинсталировать Windows приложение?

Wine имеет встроенный деинсталятор, аналог инструмента "установка/удаление программ" в Windows, и служащий для запуска стандартных деинсталяторов. В последней версии Wine, в меню добавляется соответствующий ярлык; также и в winecfg.

Деинсталятор не удаляет записи из меню. Чтобы удалить все созданные Wine строчки меню, запустите следующие команды:

rm -f $HOME/.config/menus/applications-merged/wine*
rm -rf $HOME/.local/share/applications/wine
rm -f $HOME/.local/share/desktop-directories/wine*
rm -f $HOME/.local/share/icons/????_*.xpm

3.2. Будет ли Wine работать с моим приложением?

Возможно. Если ваше приложение широко известно, то вы можете найти отзывы других пользователей в Базе Данных Приложений. Если там нет отзывов, касающихся последней версии Wine, то просто попробуйте и узнаете.

3.3. Поддерживает ли Wine DirectX? Могу ли я установить Микрософтовский DirectX под Wine?

Wine использует собственную разработку DirectX, которая, хотя и не лишена нескольких ошибок, работает вполне хорошо. В настоящее время поддерживается DirectX 9.0c. Разработка DirectX 10 планируется.

/!\ Если вы попытаетесь установить Микрософтовский DirectX, то у вас будут проблемы. Делать это не рекомендуется и не поддерживается Wine HQ. Программа установится, но работать не будет, так как она требует доступ к драйверам Windows, каковой доступ Wine не может предоставить по очевидным причинам. Единственные Микрософтовские DLL, которые могли бы как-то помочь, относятся к типу d3dx9_xx.dll и требуют принятия лицензии Microsoft. Кроме того, эти библиотеки входят теперь в состав Wine, и, по мере совершенствования Wine, будут все меньше соответствовать Микрософтовским.

Говорят, что существуют некие руководства, описывающие установку Микрософтовского DirectX. Я повторяю: делать это не рекомендуется и не поддерживается Wine HQ. Более того, эта тема объявлена off topic (вне "закона") в средствах поддержки Wine (таких как форумы). Пожалуйста, используйте чистую конфигурацию директории Wine, если хотите получить помощь. (Вам нужно удалить испорченную директорию ~/.wine, и переустановить Windows приложения).

3.4. Почему Wine плохо работает с защитой от копирования?

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

Смотрите также страницу Защита от копирования.

3.5. Мое приложение работало со старой версией Wine, а теперь не работает!

Это называется регрессией (regression). Пожалуйста, составьте отчет об ошибке и пометьте его "regression" - мы обратим на него особое внимание, так как подобную ошибку намного легче исправить на ранней стадии. В будущем, когда мы начнем выпускать "стабильные" релизы, мы предпримем максимум усилий для недопущения регрессии между стабильными релизами.

3.6. Мне очень нужно данное приложение для работы, как мне добиться, чтобы оно заработало?

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

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

4. Эффективность

4.1. Каковы системные требования Wine?

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

4.2. Мои 3D приложения и игры очень медленны (fps).

Убедитесь, что вы правильно установили графический драйвер, и что 3D acceleration (ускорение) работает нормально.

Утилита glxgears поможет убедиться, что 3D работает, а утилита glxinfo снабдит более детальной информацией.

Нормально работающая инсталяция с картой Nvidia в glxinfo может выглядеть так (показано только несколько строк):

direct rendering: Yes
...
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 8800 GT/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 169.12

Неправильная или неполная инсталяция выглядит так:

direct rendering: No
...
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.4 (1.5 Mesa 6.5.2)

Обратите внимание, что glxgears - весьма приблизительный ориентир, так как сильно зависит от производительности CPU. Intel 3GHz dual core обеспечивает около 22000 FPS с правильным драйвером, и только 1900 FPS без 3D ускорения.

Используйте службы поддержки вашей ОС и производителя видеокарты для помощи в деле ускорения "железа", установки и корректной работы GL.

4.3. Медленнее ли пользоваться Wine, чем Windows?

На самом деле, Wine зачастую быстрее. Скорость приложения зависит от многих факторов: подходящее "железо" и его драйверы, качество кода в API, которые использует приложение, качество кода в самой операционной системе.

Многое зависит от кода драйверов. Если вы запускаете приложение с "тяжелой" графикой на видеокарте с очень слабыми драйверами, такими как ATI карта под Linux, то производительность существенно понизится. С другой стороны, Linux намного лучше управляет памятью, и превосходит Windows во многих аспектах связанных с CPU. Смотрите страницу benchmarks для большей информации.

Бывает, что ошибка в Wine делает приложение чрезвычайно медленным; смотрите Performance-related bugs.

4.4. Я получаю множество сообщений "fixme:" в терминале, и Wine работает чуть замедленно.

Игнорируйте их. Сообщения "fixme" немного скажут человеку, далекому от разработки Wine. Они предназначены для разработчиков Wine. Также следует понять, что сообщения "fixme" не указывают на проблемы, могущие помешать ходу программы. Многие приложения будут работать хорошо, несмотря на то, что Wine напечатает несколько таких сообщений. Иногда они могут помочь заглянуть в то, как данное приложение работает (или не работает).

/!\ Если появляется очень много повторных сообщений, то можно их все отключить, тем самым слегка ускорив Wine. Для этого нужно установить значение -all для переменной окружения WINEDEBUG. В командной строке это делается так:

$ WINEDEBUG=-all wine program.exe

Более продвинутые пользователи и программисты, заинтересованные в отладке Wine должны обратиться к страницам DebugChannels и Developer Documentation.

4.5. Предупреждение: "preloader: Warning: failed to reserve range 00000000-600000"

Ошибка, следующая за этим предупреждением, описана по адресу: http://bugs.winehq.org/show_bug.cgi?id=12516

Эта предупреждение появляется из-за неверного значения параметра mmap_min_addr в ядре. В терминале, с правами суперпользователя, выполните команду:

# cat /proc/sys/vm/mmap_min_addr

Если значение не равно нулю, то команда:

# sysctl -w vm.mmap_min_addr=0

поможет исправить ошибку на данный сеанс. Для того чтобы изменить параметр на постоянной основе, нужно добавить строку vm.mmap_min_addr=0 в файл /etc/sysctl.conf. Учтите, что если вы произвели такое изменение, то пространство, необходимое Wine, может измениться.

Смотрите страницу PreloaderPageZeroProblem.

5. Apple

5.1. Как мне установить Wine на мой Mac?

Если на вашем Маке установлена ОС Линукс, то установка Wine также проста, как и на всяком Линуксе. Посетите страницу download.

Если вы используете OS X, то для нее пока нет официальных версий Wine. Главная причина этому в том, что Apple X11 сильно изуродован, и Wine не работает на нем хорошо. А мы не любим портить впечатление от Wine у пользователей.

Но, если вы склонны к авантюризму, и хотите попробовать во что бы то ни стало, можете посмотреть неофициальную darwine *Intel* версию здесь. Его установка проста как у любого dmg image: откройте его и перетащите каталог Darwine в вашу папку Applications. Имейте в виду, что многие приложения работать не будут из-за дефектной реализации X11, а не по вине Wine. DirectDraw и Direct3D приложения вообще не работают, но многие GDI приложения идут на удивление хорошо, включая DirectSound. Обязательно прочтите MacOSX/FAQs.

Подсказка: Звуковой выход будет включен только после того, как вы запустите winecfg и настроите его. Это можно сделать двойным щелчком мыши на "Sample WineLib Applications --> winecfg.exe".

5.2. Могу ли пользоваться Wine на старом Mac'е без чипа Intel?

Нет, даже если установите Линукс. Старые Маки используют процессоры PowerPC, несовместимые с кодом для x86 (Intel и AMD) процессоров, если только этот код не применять с эмулятором процессора. Wine не является эмулятором процессора, и не содержит таковой. Однако проект Darwine есть попытка сделать именно это.

6. Риски

6.1. Wine подвержен опасности заражения вредоносными программами.

Тот факт, что Wine работает под Linux, не означает, что вы защищены от вирусов, троянов и других вредоносных программ.
Никогда не запускайте исполнимых файлов с сомнительных сайтов. Заражения уже случались.

ClamAV - это антивирус, который вы можете применять, если беспокоитесь по поводу инфекции; смотрите инструкции Ubuntu по использованию ClamAV. Впрочем, ни один антивирус не дает 100% эффективности.

6.2. Nautilus может удалить вашу домашнюю директорию во время опустошения мусорной корзины!

В некоторых версиях Gnome (2.21.90?), если вы переместите директорию ~/.wine в мусорную корзину, и затем опустошите корзину, все записанное в корневой директории также удаляется (включая содержимое вашей домашней директории). Говорят, что эта ошибка исправлена в версии Gnome 2.21.92. Смотрите https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/188361 и https://bugs.launchpad.net/ubuntu/+source/gnome-applets/+bug/195207

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


Документ последним исправлял DanKegel 23-05-2008.