Архив за January 2008.

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

автор: Little
рубрика: 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 - подобные действия легко могут нарушить работоспособность Вашей системы.

[email protected] ~ $ 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.
[email protected] ~ $

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

[email protected] ~ $ ls .wine
dosdevices  drive_c  system.reg  userdef.reg  user.reg
 [email protected] ~ $ 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:

[email protected] ~ $ 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. [email protected] ~ $

Собственно теперь, если мы запустим 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, кому-то лучше в винде. Ну и флаг в руки, барабан на шею. И мне удобно писать скрипты фаром, получать почту батом. Живите, господа, и не мешайте жить другим. Удачи :)

97л4987м - надо ли?

автор: Little
рубрика: МЫСЛИ ВСЛУХ

Итак, в бомжесфере новое поветрие. Надо вывести блог на первое место по запросу 97л4987м. За это даже обещают приз - 220 WMZ. Чтобы его получить, надо попасть на первое место в Яндексе по запросу http://www.yandex.ru/yandsearch?text=97%EB4987%EC. Так вот, в связи с этим меня и интересует - если оставить на десятке блогов ссылки вида: “интересно, а в акции 97л4987м студия Лебедева будет участвовать?” или с похожим текстом - получить ли Артём свои законные 220 вебмани-баксов? :)

Итак, мы благополучно встретили новый, 2008 год. В связи с чем искренне поздравляю всех читателей этого блога. Поздравляю всех бомжей, благодаря которым этот блог родился. Поздравляю Студию Лебедева, благодаря которой количество посетителей иногда вырастает до 500 уников в сутки (это было один раз, не пугайтесь).
Всем, зарабатывающим в сети, желаю больших (и даже еще больших) заработков. Пусть мечта о миллионе исполнится в 2008, а в 2009 будем зарабатывать миллиард.

Тем, кто здесь отдыхает, - желаю приятного отдыха.

Дорвейщикам - скорейшей индексации всех новых помоек. Ищущим - не попадать на помойки, созданные дорвейщикам. Да будет легким Ваш поиск и полезна информация.

Игрокам - побед, новых квестов и хорошего лута.

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

Линуксоидам - стабильности и больше хорошего бесплатного софта. Виндузятникам - перехода на Линукс, ибо это правильно.

Девушкам - хороших мужей, а мужьям, в свою очередь, - хороших жен и страстных любовниц.

И вообще, желаю всем удачи, процветания и здоровья в новом году :)

 

ЗЫ. Всем спасибо, 2008 год на этом блоге считаю открытым :)

 

подпишитесь на нашу новостную ленту
регистрация отключена
ИМЯ
ПАРОЛЬ