Создание книги (выключить)

LOR-FAQ-Wine

Материал из Викиучебника

Перейти к: навигация, поиск
FAQ сайта LINUX.ORG.RU edit
Дистрибутивы
Операционная система
Графический интерфейс
Программное обеспечение
Программирование
Дополнительно
Неактуальное

Содержание

[править] Как мне настроить wine, чтобы все работало?

Никак. Все работать не будет. И об этом написано даже на сайте проекта. Другой момент, какой wine использовать.

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

[править] Какой использовать wine? (Wine / Cedega / Crossover Office)

Wine — это реализация api win32 над Unix и его графическим сервером XFree86/xorg. Поэтому программу под MS Windows с помощью Wine можно запустить только на x86 машине, т.к. все инструкции кроме вызов API выполняются процессором.Это позволяет достичь высокой производительности (многие программы работают по WINE с такой же скоростью, как и в "настоящей" Windows). Название является акронимом: WINE — Wine Is Not Emulator.

ОС Windows для работы ему не нужна (но её dll и её реестр может использоваться).

Wine является основной веткой, на основе которой строятся проекты cedega (бывший winex) и crossover office.

Эти проекты взаимосвязаны и изменения перетекают из проекта в проект. Wine в общем случае способен запустить те приложения, которые давно запускаются в cedega и crossover office плюс те, которые последние проекты потеряли возможность запускать в силу своей большей ориентированности на определенные приложения.

Информацию по установке можно взять здесь: [1], [2], [3], [4], [5]

TransGaming Cedega (бывший WineX) -- является веткой Wine и отличается от последнего платностью и ориентированностью на эмуляцию DirectX, т.е. в основном на запуск игр. Cedega поддерживает ряд защит (но не поддерживает KP2 или Starforce). По сути cedega - это wine с костылями для запуска популярных игр. Позднее, когда становится понятным что и как работает, поддержка тех или иных механизмов переписывается и попадает в wine.

Можно не покупать Cedega, собрав этот продукт из cvs, но в этом случае не будет особых расширений Transgaming для работы DirectX. а также поддержи защищенных компакт-дисков (т.к. эти технологии лицензированы владельцами алгоритмов защит).

Но у Cedega (WineX) из cvs есть одно преимущество - можно накладывать различные патчи, серьезно повышающие производительность в каких-то конкретных играх.

Подробнее: [6], [7], [8], [9], [10], [11]

CodeWeavers CrossOver Office используется для запуска небольшого числа офисных Windows-приложений. Office 2000/XP, Internet Explorer версий 5.0, 5.5, 6, Microsoft Visio, Lotus Notes, Quicken, Adobe Photoshop и т.п. В целом довольно качественный продукт, но платный.

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

Приложения MS-DOS (не путать с консольными приложениями под Windows) не нужно запускать с помощью wine. Они работают крайне плохо и неустойчиво. Для этого существуют другие программы.

[править] Как включить русский язык в Wine, WineX, Cedega?

Для Wine находим в домашней папке каталог .wine, для WineX каталог .trangaming.

В них открываем файл config.

И смотрим раздел [fonts] и [FontPatterns] (если последнее есть).

Пишем нечто вроде такого:

;; default TrueType fonts with russian koi8-r encoding
"Default" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultFixed" = "-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultSerif" = "-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultSansSerif" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"

В новых версиях wine все настройки перенесены в реестр. Если файла config нет в каталоге ~/.wine - то с помощью regedit в ветви реестра HKCU\Software\Wine\X11 Driver\Fonts нужно создать ключи

 "Default"="-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
 "DefaultFixed"="-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"
 "DefaultSansSerif"="-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
 "DefaultSerif"="-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"

Если ttf-шрифты не установлены, то скорее всего у вас есть шрифты cronyx, тогда русификация будет выглядеть так:


"Default" = "-cronyx-helvetica-"
"DefaultFixed" = "fixed"
"DefaultSerif" = "-cronyx-times-"
"DefaultSansSerif" = "-cronyx-helvetica-"

Как вариант, для WineX у меня работает такая настройка:


[fonts]
;Read documentation/fonts before adding aliases
"Resolution" = "96"
"Default" = "-cronix-times-"

[FontPatterns]
"Pattern0" = "-cronix-times*"
"Pattern1" = "-cronix-helvetica*"
"Pattern2" = "-cronix-courier*"
"Pattern3" = "-monotype-Arial-*-*-*--*-*-*-*-*-*-koi8-r"

С Cedega ситуация несколько изменилась. Если шрифты и локаль верно настроены, то с выводом русских символов не возникнет проблем. Как видно, изменения лишь в том, что теперь я (jackill) использую ttf-шрифты:


[fonts]
;Read documentation/fonts before adding aliases
"Resolution" = "96"
"Default" = "-monotype-arial-"
; Use new improved fonts (uses FreeType and XRender libraries) at user request.
; Defaults to "Y".
;"FreeType" = "N"


[FontPatterns]
"Pattern0" = "-monotype-times*"
"Pattern1" = "-monotype-arial*"
"Pattern2" = "-monotype-courier*"
"Pattern3" = "-monotype-andale*"

[FontDirs]
;"0"="/path/to/extra/fonts"

[FontAlias]
;; Add font aliases here. On the left put the name of the windows font family
;; that you want to fake, on the right put the a similar font family that you
;; have installed. These will override the fontconfig and the WineX builtin fallbacks,
;; but may look better (if you choose them correctly).
;; Alias' may refer to other alias' that have been defined above them.
;; These alias' are the first that WineX loads.
;;
;; Serif Fonts
;"Times New Roman"="Times"
"MS Serif"="Times New Roman"
;;
;; Sans Serif Fonts
;"Arial"="Helvetica"
"Helv"="Arial"
"MS Sans Serif"="Arial"
"System"="Arial"
"Tahoma"="Arial"
;;
;; Mono Space Fonts
;"Courier New"="Courier"
;"FixedSys"="Courier"

Здесь указаны семейства стандартных ttf-шрифтов от MS (см. вопрос о настройке шрифтов) и разрешено использовать FreeType.

И не забудьте настроить локаль! Для UTF-8 убедитесь в отсутствии необходимости вводить это:

$ export LC_ALL=ru_RU.UTF-8

иначе будете получать следующие строки и русский работать не будет:

Warning: Language ’’ was not recognized, defaulting to English.

Иногда, русские шрифты всё же не включаются - в этом случае можно указать в конфиге следующие строки:

[x11drv]
"ClientSideWithRender" = "N"
"ClientSideWithCore" = "N"
"ClientSideAntiAliasWithRender" = "N"
"ClientSideAntiAliasWithCore" = "N"
"X11FontPattern" = "*-cp1251"

CrossOver Office иногда глючит с русскими именами в файловой системе. Для UTF-8 локали укажите

[x11drv]
"Codepage" = "65001"

для KOI8-R

[x11drv]
"Codepage" = "20866"

простой способ env LANG="ru_RU.UTF-8" wine [программа] Andrey--k 01:48, 29 июля 2009 (UTC)

[править] У меня под Wine (WineX/Cedega) в игре портится звук - шипит как-то. Что мне делать? Как включить поддержку alsa?

Посмотреть, не запущены ли звуковые серверы типа esd или arts. Если да - выключить их и попробовать еще раз. Если это не помогает - значит поддержка этой игры в WineX (возможно, в сочетании с имеющейся звуковой картой) сделана недостаточно хорошо. Как вариант, можно попробовать сменить герцовку звука, если игра это позволяет.

Чтобы выбрать, какой звуковой API будет использовать WINE/WineX, смотрите файл ~/.wine/config (для WINE) или ~/.transgaming/config (для WineX/Cedega):


~/.wine/config:

[WinMM]
        ; Uncomment the "Drivers" line matching your sound setting.
        "Drivers" = "wineoss.drv"      ; default for most common configurations
        ;"Drivers" = "winearts.drv"    ; for KDE
        ;"Drivers" = "winealsa.drv"    ; for ALSA users
        ;"Drivers" = "winejack.drv"    ; for Jack sound server
        ;"Drivers" = "winenas.drv"     ; for NAS sound system
        ;"Drivers" = "wineaudioio.drv" ; for Solaris machines
        ;"Drivers" = ""                ; to disable sound

Закомментируйте ненужный "Drivers" (поставьте перед ним ";") и откомментируйте нужный (соответственно, уберите ";")

Для cedega настройки с включенной alsa выглядят так:


[WinMM]
"Drivers" = "winealsa.drv"
"WaveMapper" = "msacm.drv"
"MidiMapper" = "midimap.drv"

[wineoss]
;"UseMMap" = "N"
;"FullDuplex" = "N"
;; Specify a mapping for what digital audio devices to use
;"dsp0" = "/dev/dsp0"
;"mixer0" = "/dev/mixer0"

[winealsa]
;UseMMap" = "Y"
"pcm0" = "hw"
"ctl0" = "hw"

[править] Cedega (WineX) вылетает с сообщением error=21, просто вылетает с ошибкой. что делать?

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

  • У вас вылетает программа установки. Проблема: вы не имеете прав на запись на данный раздел или на нем нет места. Также может не быть места в разделе /tmp.
  • Игра находится на неисполняемом разделе. Если у вас в /etc/fstab в параметрах монтирования указано noexec или no-exec (встретил недавно и такое написание), то cedega вполне может отказаться производить запуск.
  • В вашем дистрибутиве используется защита. Например, патчи grsec, любой патч, делающий стек неисполняемым, exec shield, и т.п.
  • У вас установлено ядро 2.6.9. Проблема с va layout.
  • Используется prelink. И он включен.
  • Все вышеперечисленное сразу.

Проблему с защитой exec-shield, проблему с prelink и проблему с VA layout, которые присутствуют в Fedora Core, можно решить следующим образом:

  • Перелогиньтесь рутом (команда su -)
  • В файле /etc/sysconfig/prelink выставьте PRELINKING=no
  • Запустите такой скрипт echo 0 > /proc/sys/kernel/exec-shield echo 0 > /proc/sys/kernel/exec-shield-randomize echo 1 > /proc/sys/vm/legacy_va_layout /sbin/sysctl -p /etc/cron.daily/prelink

После этого можете запускать свою игру.

Примечание: думаю, не стоит объяснять как поправить noexec на exec и разрешить запись на раздел.

[править] Как запустить игру ... под Wine/WineX/Cedega?

Зайдите в раздел Games.

Если не помогло - ваш путь лежит на сайт Transgaming, в их поиск по играм.

[править] Что подкрутить после установки cedega?

Для начала неплохо было бы указать размер памяти вашей видеокарты. Открываем на редактирование файл ~/.transgaming/config и начинаем исправлять.

Скажем, у меня 128 Мб памяти на видеокарте. Отлично, указываем наши 128 и на vertex data указываем около половины размера AGP aperatute (у меня этот размер тоже составляет 128):

"VideoRam" = "128"
"AGPVertexRam" = "64"

Тут есть одна тонкость - драйверы nvidia-1.6229 с ядром 2.6.9 не воспринимают последний параметр. На этот счет nvidia выпустила патчик.

Далее, расширение XRandR можно безболезненно включить - пусть меняет разрешение стандартными методами:


"UseXRandR" = "Y"

Далее настраиваем шрифты и звук.

[править] Как запустить приложение в оконном режиме?

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

[править] Как сделать так, чтобы при запуске приложений не появлялась некая область экрана, смутно напоминающая по цвету рабочий стол?

По умолчанию это убрано. Есть такой параметр Managed. Если выставлено N, то этот фон всегда появляется. Раньше использовался в сочетании с параметром Desktop. Соответственно, выставьте "Managed" = Y.

[править] В Counter Strike не работает микрофон. Что делать?

Попробовать включить поддержку full duplex.

[править] Как заставить Lingvo работать под Wine?

Есть три пути:

  1. Ставим копированием Lingvo 5 - он работает.
  2. Устанавливаем Lingvo 7.0 под виндами, а затем указываем в конфиге каталог виндов как рабочий. Кусочек конфига с путями будет выглядеть так - http://fine.kalinovka.net/articles/hobby/lorFAQ/files/wine.tgz
  3. Ставим crossover office и на него ставим lingvo 7 или lingvo 8 ML.
  4. Инструкция по установке lingvo 10 на crossover office:
    http://jack.kiev.ua/content/view/105/5/
  5. Установка Lingvo 11SL на CrossOver Office 5.0:
    http://jack.kiev.ua/content/view/257/5/

и еще обходные пути (относится скорее не к вайну, а к требуему от лингво функционалу)

конвертирование словарей Лингво 11 из *.lsd в *.dsl для использования в JaLingo
http://jalingo.sourceforge.net/
или переконвертирование их дальше в *.dict или *.dict.gz Stardict
http://jack.kiev.ua/scarp/lingvo_to_stardict.html
установка KDE апплета, который работает с онлайн переводчиком Лингво
http://www.kde-apps.org/content/show.php?content=34070

[править] Как поставить Autocad 2000 под wine?

Для этого надо установить wine, потом Autocad, потом перейти в каталог с установленным автокадом (у меня %HOME%/.wine/c/Program Files/acad2000) и в строке набрать wine acad.exe после этого вывалится список библиотек, которых не хватает автокаду. Их нужно скопировать из дистрибутива автокада (я просто скопировал все библиотеки и *.xmx файлы). После этого все должно работать.

Примечание: Если копировать с дистрибутива, лучше копировать не все сразу (т.к. скопируется много лишних), а выделить список dll's и скопировать их, а после отредактировать - чтобы названия/высота букв совпадала. А вот xmx's скопировать все, в них пока не разобрался.

[править] Можно ли запустить 1С под wine?

Запустить можно и 1С даже работает.


Продукт WINE@Etersoft, созданный на основе Wine, специально приспособленный для работы с 1С и другими коммерческими программами, продаётся компанией Etersoft. Описание приведено на сайте компании. На форумах периодически всплывает информация об успешном запуске и работе 1С под оригинальным wine. Небольшое обсуждение здесь и здесь.


Инструкции по запуску 1С под wine встречаются различные. Доподлинно известно, что нужно сделать следующее:

- необходимо скопировать из \windows\system32 ряд библиотек и в конфигураторе wine прописать для приложения "1с7XXX.exe" порядок их загрузки как "родная" ("native"). Возможно, также требуется импортировать часть реестра windows. Набор файлов и ключей реестра в разных рекомендациях разнится. Повсеместно встречаются: ole32.dll oleaut32.dll olepro32.dll rpcrt4.dll. Кроме того, понадобится библиотека mfc42.dll (просто скопировать).

- в Конфигураторе 1С надо для всех конфигураций поменять язык таблиц с "windows-1251" на "Такой же, как в системе" (через меню Администрирование), иначе 1С будет ругаться на язык индексов.

- у 1C должен быть сразу отключен splashscreen, иначе она заслоняет окно с выбором пользователя. Вариант решения: в настройках wine отключить "возможность менеджеру окон управлять окнами".


Многие вместо wine запускают 1C в MS Windows 98se, который в свою очередь работает на виртуальной машине win4lin или vmware (оба продукта - платные), или в кроссплатформенном qemu под лицензией GPL.

Существует "универсальный" инсталятор, который нормально запускается в версии 1.1.26. также применимо копирование с уже установленой версии (с windows). Есть эмуляторы которые позволяют опознавать как usb так и lpt HASP ключи.

Andrey--k 21:43, 27 июля 2009 (UTC)

[править] Полезные ссылки

Русский WINE

Cedega How-to

четыре статьи про CrossOver Office