Общая настройка Wine.

Опубликовано 19 Jan 2008 
Рубрики: Linux

Тут на одном форуме прочитал:

“Насчёт запуска виндовых прог в Linux: если юзаете Линукс — запускайте на нём проги написанные для него. Юзаете винду — тоже самое. Ведь винда такая несовершенная, зачем вам запускать кривые проги написанные для этой системы? Пусть opensource сообщество пишет необходимый софт для открытых ОС, если оно такое крутое. А то очень хитрые, хорошо устроились, я смотрю — не брезгуют юзать софт написанный для чуждой ОСи.”

Как говорится, я фигею с этих русских. Похоже, человек вообще не понимает, что компьютер - это инструмент, и использовать этот инструмент следует максимально эффективно. А эффективно в нашем случае - значит удобно. Если некоторые задачи мне удобно выполнять под Линуксом, но используя при этом софт под платформу win32, значит я буду это делать. И никто мне это не запретит (пока :)). Ну ладно, мы отвлеклись от темы. Поехали.

Итак, wine. Обращаю внимание новичков - wine is not emulator. Вайн - не эмулятор винды. Вайн - это свободная реализация WINAPI (интерфейс программирования приложений), который содержит в себе набор общих для всех виндовых программ функций, которых нет в Линуксе и других *nix-подобных системых.

Процесс установки wine сильно зависит от конкретного дистрибутива Линукс и используемой версии. Можно использовать уже скомпилированный пакет для пакетного менеджера Вашего дистрибутива, а можно (и лучше сделать именно так) скачать последнюю версию исходных кодов и скомпилировать их на вашей системе. Обычно для этого надо распаковать исходные тексты в директорию /usr/src/wine и выполнить команды “make configure && make install”. Тем не менее, для выполнения подобных дейтсвий надо досконально знать устройство Вашего дистрибутива - иначе могут возникнуть проблемы с зависимостями от других пакетов и тому подобные нехорошие вещи. Я воспользовался промежуточным варинтом, установленный у меня дистрибутив Gentoo организован так, что автоматически при выполнении команды “emerge wine” скачивает исходники и собирает готовый пакет. Причем, эта же команда используется для обновления.

После завершения процесса компиляции, необходимо сконфигурировать wine для запуска. Обращаю внимание, НИКОГДА не запускайте wine от имени пользователя root - подобные действия легко могут нарушить работоспособность Вашей системы.

nicolay@localhost ~ $ winepath wine: creating configuration directory '/home/nicolay/.wine'...ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default:0
err:alsa:ALSA_CheckSetVolume Could not find 'PCM Playback Volume' element
ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default:0
err:alsa:ALSA_CheckSetVolume Could not find 'PCM Playback Volume' element
fixme:mixer:ALSA_MixerInit No master control found on CA0106, disabling mixer
fixme:system:SetProcessDPIAware stub!
fixme:iphlpapi:NotifyAddrChange (Handle 0x7c4ed9e8, overlapped 0x7c4ed9cc): stub
fixme:shell:DllCanUnloadNow stub
wine: '/home/nicolay/.wine' created successfully.
nicolay@localhost ~ $

Как обычно возникли проблемы с альсой - но мне это и неинтересно, я по-прежнему предпочитаю использовать в wine звук через OSS. В результате выполнения последней команды создалась рабочая директория для вайна внутри Вашей домашней, внутри нее содержится то, что будет считаться дисками под запущенными приложениями win32 (как Вы уже должны знаеть, под *nix нет понятия диска - вся файловая система общая). Внутри директории ~/.wine/ по-умолчанию содержится ссылки на дисковые устройства и файлы реестра:

nicolay@localhost ~ $ ls .wine
dosdevices  drive_c  system.reg  userdef.reg  user.reg
 nicolay@localhost ~ $ ls .wine/dosdevices/

Внутри dosdevices символические ссылки на то, что будет считаться у нас файловыми системами. В моем случае c: - ссылка на ~/.wine/drive_c/, d: - на /mnt/cdrom, z: - /. Т.е., диск Z: будет содержать всю нашу файловую систему *.nix системы. В директории же drive_c содержатся стандартные для любой виндовс системы папки Program Files и windows. Собственно, их назначение аналогично таким же на установленной Win98, 2000 или XP.

После создания структуры директорий для вайна, его надо бы отконфигурировать. Можно вручную отредактировать файлы реестра *.reg с помощью любого текстового редактора. Но удобнее воспользоваться включенной в последние версии утилитой winecfg:

Winecfg, первый запуск.

Ага. Как и ожидалось, отстутствуют нужные для функционирования русской винды шрифты. Можно запустить английскую версию ($ LANG=”C” winecfg):

Winecfg на английском

Теперь текст отлично читаем, но! Нам наверняка потребуются различные русские и русифицированные приложения, да и вообще - оставлять недонастроенное ПО - не наш метод. Для того, чтобы шрифты отображались нормально, их, как это ни странно, надо просто получить. Или установить. Дело в том, что по-умолчанию папка c:\windows\fonts (~/.wine/drive_c/windows/fonts) пустая. В нее надо скопировать русифицированные шрифты с любой версии Виндовс. Можно просто скопировать файлы .ttf, можно воспользоваться утилитой winetricks, которая позволит скачать и установить шрифты автоматически. Сначала основные шрифты:

Установка основных шрифтов

Потом отдельно шрифт tahoma:

nicolay@localhost ~ $ winetricks tahoma
Executing sha1sum –status -c /home/nicolay/winetrickscache/wd97vwr32.exe.sha1sum
Executing cabextract –directory=/home/nicolay/.wine/drive_c/winetrickstmp /home/nicolay/winetrickscache/wd97vwr32.exe
Extracting cabinet: /home/nicolay/winetrickscache/wd97vwr32.exe
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/wviewer.INF
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/License.txt
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/setup.exe
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/Setup.ini
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/setup.lst
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/Viewer1.cab
  extracting /home/nicolay/.wine/drive_c/winetrickstmp/Setup.tdf
All done, no errors. Executing cabextract –directory=/home/nicolay/.wine/drive_c/winetrickstmp /home/nicolay/.wine/drive_c/winetrickstmp/Viewer1.cab
 Extracting cabinet: /home/nicolay/.wine/drive_c/winetrickstmp/Viewer1.cab
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/ACMSETUP.EXE
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/ACMSETUP.HLP
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/MSSETUP.DLL
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/viewer.DLL
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/acmereg.DLL
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/wviewer.stf
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/hlink.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/hlinkprx.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/docobj.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/msv7enu.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/mso97v.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/msorfs.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/readme.doc
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/t2embed.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/urlmon.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/riched20.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/wininet.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/wordview.exe
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/wwint32v.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/tahoma.ttf
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/install.txt
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/npdoc.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/oleplug.dll
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/oleplug.ini
   extracting /home/nicolay/.wine/drive_c/winetrickstmp/errormsg.dll
All done, no errors.
 Executing cp -f /home/nicolay/.wine/drive_c/winetrickstmp/tahoma.ttf /home/nicolay/.wine/drive_c/windows/fonts/tahoma.ttf
 Install of tahoma done
 winetricks done. nicolay@localhost ~ $

Собственно теперь, если мы запустим winecfg, то получим рабочую русскую версию. С помощью этой утилиты удобно настроить основные параметры wine перед тем, как запускать что либо:

winecfg_first

По-умолчанию команда winver выдает версию Windows2000. Можно изменить на другую версию. Причем можно настроить, чтобы каждое приложение запускалось со своим параметром - бат под икс-пи, контра - под вин98 итд. Удобно. Далее:

winecfg_second.jpeg

Библиотеки. По-умолчанию все библиотеки в вайне используются свои. Поэтому у Вас эта вкладку будет пустой. Но тогда будет ненаглядно, поэтому я использовал свою рабочую версию установки. У меня уже содержится установленный DirectX, некоторые библиотеки используются сторонни. Обратите внимание - внесены существующие библиотеки и опции - использовать ли встроенныую в вайн (*.so), строннюю (взятую из поставки Виндовс или какого-либо win32-пакета, *.dll). Кроме того, можно выставить опции “встроенная, затем сторонняя” или “стронняя, затем встроенная”. Это понятно, в случае отстутствия встроенной будет использоваться сторонняя и наоборот.

Эти функции очень важны для тех приложений, которые критичны к версии виндовс. Понятно, что полной совместимости добиться тяжело (читай - невозможно), потому неизбежны проблемы. В некоторых случаях лучше взять нативную длл, чтобы запустить приложения, выявляются такие случаи опытным путем, можно также почитать на сайте winehq.org.

winecfg_third.jpeg

Настройки графики. Я настроил так. Для некоторых приложений может потребоваться включить или выключить вершинные и пиксельные шейдеры, может потребоваться съэмулировать виртуальный рабочий стол. Экспериментируйте, сломать здесь ничего нельзя.

winecfg_fourth.jpeg

Вид и интеграция. Самая ненужная, на мой взгляд вкладка. Я всегда использую на предыдущей вкладке опцию “разрешить менджеру окон управлять окнами Wine”, поэтому оформление виндовс-окон у меня такое же, как и у любых других приложений. А уж играться размерами системных шрифтов и цветом десктопа - ну не настолько я облондинился.

winecfg_fifth.jpeg

Настройка файловых систем. Все очевидно. Можно добавлять диски, используя для них любую директорию внутри файловой системы - смонтированную флешку, дисковод или образ диска.

winecfg_six.jpeg

Звук. У меня два варианта выбора - alsa и oss. Если поднять звуковой сервер Esound, то появится третья опция. Для решения проблем с совместимотью я всегда выбираю режим OSS, эмуляцию, 48 кГц. Само собой, звуковой драйвер в системе alsa, который собран с поддержкой oss.

Скриншот последней, седьмой вкладки я сделать забыл. И не буду :) Это вкладка about, на которой написано, что это утилита от пакета wine-0.9.53 (последний на текущим момент), адрес сайта и лицензия, под которой она выпущена. Информация очень ценная, но в настройки роли не играет.

Собственно, на этом мы закончили установку и предварительную настройку вайна. Можно попробовать запустить любую виндовую прогу. Например так:

 

thebat_wine.jpegfar_1.jpeg

far_2.jpegcs.jpeg

Да, а собственно к чему это я? Да к тому, что работать надо в том и тем, что тебе наиболее удобно. Мне удобно флюкс, жене удобнее xfce4, кому-то лучше в винде. Ну и флаг в руки, барабан на шею. И мне удобно писать скрипты фаром, получать почту батом. Живите, господа, и не мешайте жить другим. Удачи :)

Выставка Mitt. Каталоги выставок.

Комментарии

Отзывов (11) на «Общая настройка Wine.»

  1. Gaver 20 Jan 2008 3:33 am

    согласен) каждому - свое…а то достали умники эти, линукс для дураков, фар для ламеров…
    а за схему настройки спасибо…

  2. AKSAHATURALY 22 Jan 2008 2:05 am

    У тебя строки за мой экран вылазят :) А компьютер нужно юзать максимально эффективно и еще максимально удобно!

  3. Little 22 Jan 2008 7:04 pm

    И у меня вылезают… Но по-другому не получается. Сейчас попробую засунуть их в текстареа :)

    Ага… В тексареа получается, после чего Вордпресс (движок блога) при попытке редактирования статьи обрезает большой кусок ее и абзац. Не, лучше пусть так будет.

  4. f4llou7 25 Jan 2008 2:15 am

    Привет, спасибо за статью.
    У меня вопрос, а под вайном будет работать проги а-ля semonitor или submitter, т.е которым нужна сеть?
    P.S. Если не трудно, напиши как-нибудь статью, как ты решил проблему с WM под никсами

  5. Little 25 Jan 2008 11:42 pm

    Проги, которым нужна сеть работают. Но не все. Например, site-auditor, версия 1.48 работал прекрасно. Версия 1.50 не работает. Каждую надо проверять отдельно.
    Относительно ВМ, как и сказал ранее, запускаю кипер под вмваре. Из под вайна он не работате, а делать версию под винду владельцы не хотят. Можно пользовать кипер-лайт из под мозиллы, никакой эмуляции при этом не используется, но мне так неудобно, я привык к классику.

  6. AKSAHATURALY 26 Jan 2008 2:06 am

    Ну так ладно так, просто на пятнашке ноутбука не видносто там.

  7. Gadget 30 Jan 2008 7:01 pm

    Интересно.

    Эхх,думается,я так и не осилю никогда Линус… :)

  8. Little 30 Jan 2008 10:49 pm

    А его не надо осиливать :) Я уже писал на одной из страниц блога (по-моему :)), что я на линукс перешел когда винда упала :) Работу надо было работать срочно, винду переставлять некогда. А в соседнем разделе установленный, но так и не используемый (так, поковырять не досуге) gentoo… Недельку посидел, обратно на винду так и не сполз. Работа работается, в интернете интернетится… Игрушки? Да мало я уже играю, мало, некогда :)

  9. Диван 07 Feb 2008 12:14 pm

    Большое спасибо за статью! Всё таки Линус мне больше всего нравиться :)

  10. lupi 14 May 2008 2:14 pm

    Спасибо за статью. У меня проблема появилась такого плана во вкладке графика есть настройка с размером окна там по умолчанию стоит 96 вроде я по дурости изменил ее на 244 и теперь у меня нижняя часть окна выходит за рамки экрана и как поднять окно я незнаю что можно сделать и в каком файле конфигурации можно изменить размер?

  11. Little 15 May 2008 5:22 pm

    lupi,

    $ cat .wine/system.reg | grep LogPixels

Оставьте свой отзыв

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

Карта
rss
Карта