Что такое Wine


Название программы Wine есть аббривеатура: Wine Is Not An Emulator. Почему? Потому что это не эмулятор. Программу можно назвать прослойкой между программами для операционной системы Windows и операционной системой Linux, FreeBSD, MAC OS X. Это кроссплатформенная программа - спокойно запускается во многих операционных системах. Даже в Windows - а вдруг какая-нибудь старая программа не хочет работать в новой версии системы, или наоборот? Так как это прослойка, есть небольшая потеря в скорости. Мои игры работают с количеством кадров в секунду на 15% меньше, чем в Windows XP. Эмулятор, в отличие от подобной прослойки, имеет потерю в скорости работы программ в разы. Программа Wine обычно требует много зависимостей. Например, для того, чтобы специализированная для работы с локальной сетью программа для Windows работала, Wine делает прослойку с программой Samba. Например, интернет-пейджер QIP нуждается в компоненте Samba - Winbind. Однако от ненужной лично вам зависимости всегда можно отказаться - подробнее пойдёт речь об этом в приложении. Если забыл сделать приложение - напомните?!


Ещё кое-что интересное


Запускается, к сожалению, не каждая программа. В моём представлении - почти каждое оконное приложение работает без проблем (если это не программа от самой Microsoft, пользующаяся огромным количеством специфических функций библиотек Windows). Работает также большинство игр. Эталонной средой для них является видеокарта nVidia с её проприетарными драйверами. С ним у вас должны заработать самые последние графические эффекты, и скорость работы игр будет максимальной (минус 15-20% от скорости работы той же игры в операционной системе Windows). Проприетарный драйвер ATi страдает большим количеством проблем, которые часто проявляются именно в Wine. То, что не работает с этим драйвером, может быть сбоем fglrx (проприетарного драйвера ATi), а не программы Wine. Если полноэкранное приложение у вас неожиданно заполнилось месевом содержимого экрана, нажмите Alt-F2 и наберите:


wineserver -killall


Правда, закроются все программы, запущенные в Wine - в том числе и фоновые и оконные, о которых вы могли и забыть. Эту команду также можно ввести из текстового терминала, нажав сочетание клавиш Ctrl-Alt-F1. Вернуться обратно можно сочетанием клавиш Ctrl-Alt-F7. Примечание: я уже набрал весь текст, поэтому мне так лень редактировать множество его участков... Пусть эта команда будет моим нулевым советом вам.

Ещё одно примечание: регрессии в запускаемых в Wine программах касаются только неработоспособности какого-либо компонента. Не бывает такого, что то, что работает, неправильно выдаёт результат, что логика работы программы нарушается. Например, архиватор не делает архивы, которые в Windows потом не открываются, программа для скриншотов не записывает файл задом наперёд. В играх машины не будут ездить по неправильной траектории, а на нас не будут нападать невидимые монстры. Вот эффект продвинутого освежения неба может не заработать, хотя включен в настройках, это да. Если ошибка и есть, программа аварийно завершает работу. Из 1000 программ, которые я протестировал, неправильная логика программы у меня встретилась только 2 раза. Первый случай: игра Герои Меча и Магии IV. Проверьте сами... Завершаем мы игру, убивая последнего врага. Что делает операционная система Windows? Пишет «Игрок Сизый уничтожен! Ура, игра закончилась!». Что делает Wine? Мы играем дальше, собираем ресурсы, артефакты - но как только появится любой диалог (например, мы захватили шахту), то сразу после него нам и пишут «Игрок сизый уничтожен, игра окончена!». Второй случай - в Сталкере. Я игру полностью прошёл в версии Wine 1.1.2. Запускаю его в 1.1.20, в 1.1.25... Замочу кучу врагов. Сохранюсь. Загружусь. Часть врагов под землёй, и оружия. Иногда его можно присесть и вытащить из-под земли. Чтобы всё появилось обратно, надо выйти из локации и зайти в неё обратно. Я не помню, было ли это в 1.1.2, я не пробовал эту игру в Windows и не знаю, может, это свой самой игры, а не Wine'а?.. Слушайте, а синяя полоска в меню инвентаря, она у меня всегда полная в первой части игры, даже если броня повреждена... Но если нападает пси-собака или контроллёр, она понижается, показывая мне психическое здоровье игрока. Так и надо?!


То, с чего можно начать «тюнинг» программы Wine


Хотите улучшить запуск программ в Wine? Первый мой совет: научитесь компилировать Wine из исходного кода! В случае, если у вас видеокарта nVidia, это почти ничего не изменяет: программы работают с той же скоростью - но в игре S.T..A.L.K.E.R. без патчей 1.004 и 1.005 в игре частично пропадает трава при перемещении героя, а в игре Morrowind неправильно показывается вода, если в игре включены пиксельные шейдеры. И это не исправляется никакими патчами: если вы любите игру Morrowind, вам придётся скомпилировать Wine вручную... Дело в том, что Mesa, свободная реализация библиотеки OpenGL, с которой обычно компилируется программа Wine из репозитария, не содержит часть функций, которая есть в несвободных реализациях этой библиотеки от nVidia и ATi. При этом скомпилированный вариант Wine с драйвером nVidia не заработает с ATi должным образом - и наоборот. Если у вас видеокарта Intel, или вы используете какой-нибудь свободный драйвер для видеокарты с поддержкой 3D-акселерации графики, компиляция ничего не изменит в работе игр. А если проприетарный драйвер от ATi... Ой! Бр-р-р... Лучше компилировать. Правда. Это исправляет много-много ошибок и замедлений в скорости работы игр

Как осуществить мой первый совет? Устанавливаем зависимости. Если у вас Debian/Ubuntu, скомандуйте от имени суперпользователя в консоли:

apt-get build-dep wine

При этом должен быть загружен репозитарий исходных кодов программ - он для этого и нужен!

Затем fakeroot apt-get -b source wine

Ждём... Всё. Минус такого подхода в том, что сразу после релиза Wine специально подготовленные пакеты для компиляции из исходного кода могут быть не готовы, и придётся их сделать самому. Я напишу в приложении, как.

С дистрибутивами, программы в которые устанавливаются из пакетов в формате RPM, нужно скачать пакет src.rpm с Wine. Желательно, конечно же, для своего дистрибутива, но может подойти пакет и для любого другого! Я не пробовал... Достали? Командуем от имени пользователя:

rpmbuild -ba wine-1.1.44-fedora.src.rpm

Ждём... Всё.

Если ваш дистрибутив не работает ни с RPM, ни с DEB пакетами, я уверен, вы сами знаете, как скомпилировать Wine. Загрузить исходный код с главной страницы программы, распаковать его, и скомандовать:

./configure

make

И make install от имени суперпользователя!

Установится программа в /usr/local. А почему не в /usr? Если хотите в /usr, первую строчку команды нужно исправить так: ./configure -prefix=/usr. Если у вас несколько процессоров, или несколько ядер процессора, компиляцию программы можно ускорить при желании в несколько раз, исправив вторую команду на make -j2. Ну, или -j4, в зависимости от количества ядер процессора, которые вы хотите задействовать... Исходный код Wine готов к распараллеливанию потоков компиляции подобным образом...

Я всегда предпочитаю именно последний способ. С ним скрипт configure всегда сообщит мне, какой зависимости у меня нет (иногда появляются новые), и какая функция Wine не будет работать, если скомпилировать программу без неё. Или какую зависимость мне нужно обновить перед обновлением Wine. Так я могу получить самую последнюю версию Wine сразу, до того, как будет создан новый пакет для моего дистрибутива. А ещё мне приятно осознавать, что программа устанавливается с максимальной оптимизацией именно для моего оборудования.

А если у вас 64-битный дистрибутив? Тут уже не работает последний способ. Вам поможет вот это руководство: http://wiki.winehq.org/WineOn64bit.


Первый запуск программы Wine создаёт рабочее окружение для программ операционной системы Windows


Установили? Запускайте. Не знаю как теперь, а раньше если первым запуском включать программу для Windows сразу, а не winecfg, ничего не запускается, а компьютер как-то странно медленно работает. Поэтому у меня инстинкт прежде всего набрать winecfg - либо в консоли, либо в Alt-F2 (Выполнить...; пакеты для Debian/Ubuntu создают в главном меню специальное меню из трёх программок для Wine, а среди них и winecfg). Если раньше Wine ни разу не запускался, в домашнем каталоге пользователя будет создан каталог .wine. Так как он начинается с точки, он скрытый. Его можно увидеть только если поставить галочку в менеджере файлов, обычно в третьем меню окна. Или наберите в адресной строке .w , а менеджер файлов уже сам дополнить ine! Это каталог окружения Wine, там создаются несколько основных системных каталогов операционной системы Windows. Если вы выполняете установку программы в Wine на диск C:, ищите затем программу именно в этом каталоге... Если вы хотите установить программу в любой другой каталог пользователя, ищите этот каталог при помощи программы установки на диске Z:.

Есть ещё полезная команда, wineprefix:

WINEPREFIX=/home/zenitur/FarCry2 winecfg

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

Примечание: совет первый с половиной?

Ещё одно примечание: я уже написал статью и совсем забыл написать хотя бы один способ запуска любой программы для операционной системы Windows! Это можно сделать при помощи менеджера файлов, консоли, или ярлыка в главном меню или на рабочем столе. Первый способ я не люблю... Запуск программы происходит в таком случае не из каталога, где программа находится, а из диска Z:\. Quake III Arena (который есть в версии для Linux, см. сайт http://ioquake3.org/) из-за этого не запускается - это я пример привожу. Большинство программ работают от нажатий на её файл в файловом менеджере. Но я привык делать запуск только из консоли. Как?

cd /home/zenitur/Heroes_IV/

wine heroes4

.exe можно и не писать...

Ярлык - ну, с ним всё понятно... Их можно создавать самостоятельно. Для этого откройте любой и посмотрите, как он работает... Там сначала идёт WINEPREFIX, а потом сама команда wine и файл... Так что проблемы, как с Quake, не будет.


Программа winecfg


Ну что, запустилось окно настройки программ в Wine? Запустилось... Что видим? Окно с несколькими вкладками. Сами разберёмся методом тыка, или вам показать? Ну, смотрите.

В первой вкладке - выбор имитируемого поведения версии операционной системы Windows. Можно для каждой программы (и в любой момент сменить), а можно для отдельной программы выставить другую версию. Полистайте выпадающий список, там интересно.

Вторая вкладка - библиотеки операционной системы Windows. Что это? Заглянем в каталог ~/.wine/drive_c/windows/system32. Мы видим свободные эквиваленты библиотек операционной системы Windows. Правда, каждая занимает всего 2,4 килобайта. Почему? А потому что сами эквиваленты находятся в системных каталогах, а это - нечто вроде ярлыка «Здесь нужно использовать библиотеку из Wine”. Ничего плохого не случится, если заменить любую библиотеку на библиотеку из имеющейся у вас копии операционной системы Windows. Будет только улучшение работы программ, потому что эквивалент эквивалентом, а полная версия библиотеки - лучше. После замены библиотеки на нативную (ну, то есть «родную для операционной системы Windows”) нужно вписать (или выбрать из выпадающего списка) эту библиотеку во вторую вкладку программы winecfg. Если этого не сделать, ничего плохого не случится: лично у меня библиотека из Windows всегда работает сразу, стоит положить её в каталог с запускаемой программой, или заменить эквивалент библиотеки в окружении Wine. Но иногда в руководствах по запуску программ написано, что это необходимо сделать.

В третьей вкладке можно сделать оконный режим работы Wine - классно! Лично мне нравится... Ещё можно установить стили оформления для оконных приложений Wine.

Что там есть дальше я не помню - у меня сейчас нет установленной программы Wine.

Есть вкладка Диски - сюда можно добавить новую букву диска, обозначающую какой-нибудь каталог. Например, компакт-диска. Обычно буква диска для компакт-диска создаётся автоматически. Если есть только диск C: (~/.wine/drive_c) и Z: (/), компакт-диск можно добавить вручную, или нажать на кнопку Автоопределение. Почему-то образы дисков, подключенные командой mount -t iso9660 ~/image.iso -o loop /media/cdrom0, определяются как жёсткий диск... Запуск программы от суперпользователя, или запись диска, или программа Cdemu, решает проблему.

Вкладка Звук. Если у вас Wine стабильной версии 1.0 или 1.0.1, в выпадающем списке внизу вам необходимо выбрать Эмуляция. Если версия Wine 1.1.6 или выше, ничего не менять, или выставить обратно...

В последнией вкладке можно ввести имя, на которого якобы зарегистрирована копия операционной системы Windows, и организацию. Хоть что - но если этого не сделать, ничего страшного не случится. Единственная программа, которой лично от меня нужно было это, это Microsoft Office. И это можно сделать в её программе установки.


Особенности запуска программ при помощи Wine


Теперь можно запускать программы для Windows! Если программа запускается уже сейчас, работая полностью, на 100% - это называется Platinum (Платина). Если тоже запускается на 100%, но только с использованием нативных библиотек операционной системы Windows, после установки noCD, и совсем небольшой донастройки - это Gold (Золото). Если чего-нибудь при этом не работает в программе, вроде новых графических эффектов или функции программы, иои если работает, но требуя кропотливой донастройки - это Silver (Серебро). Если работает еле как, и если при этом требуется долгая донастройка (как с Windows Media Player 11) - это Bronze (Бронза). Если не работает, не устанавливается, или устанавливается, но не работает - это Garbage (Мусор).

Второй мой совет о донастройке касается шрифтов. Это - самый простой, но очень действенный мой совет по донастройке Wine! Если у вас есть установленная копия операционной системы Windows, можно сделать символическую ссылку на его шрифты или скопировать их. Если нет - достать и скопировать! Сделать символическую ссылку можно в графическом файловом менеджере, например так: зажать клавишу Alt, а затем перенести каталог со шрифтами из одного кона (вкладки) в другое (другую). У нас спросят, чего мы хотим? Скопировать, перенести, или сделать ссылку? Выбираем ссылку! Имеющийся каталог со шрифтами можно спокойно удалить - обычно он пустой,если вы не устанавливали программы, устанавливающие свои собственные шрифты. Например, Microsoft Office или Adobe Photoshop.

А можно сделать символическую ссылку из консоли. Например, вот так:


cd ~/.wine/drive_c/windows

rm -r Fonts

ln -s /windows/WINDOWS/Fonts Fonts


Внимание! Слидите за тем, чтобы у вас не появилось два каталога со шрифтами, fonts с маленькой буквы, и Fonts с большой буквы! Wine, как и операционная система Windows, не умеет работать с такими особенностями файловой системы для Linux. Из-за этого же я даю вам третий совет: хотите установить любительский плагин для игры? Распаковывайте файлы в каталог игры архиватором для Windows: WinRAR, WinZip, WinACE, 7-Zip - какой лично вам удобнее! Если не хотите, распаковывайте/копируйте файлы плагинов вручную, и следите, чтобы не появились, например, каталоги meches и Meches одновременно. Или файлы.

Что можно запустить? Программы и игры. Если программа содержит драйвер (например, программа эмуляции CD/DVD-привода, защита от копирования дисков вроде StarForce), онне заработает. Заработают только файлы с расширением exe, и библиотеки с расширением dll.

А что делать, если программа не запускается? Нужно зайти на сайт http://appdb.winehq.org/, и ввести название (или часть названия) программы в строку поиска. Лично я так делаю перед запуском каждой новой для себя программы - даже не пробуя её запустить самостоятельно! Открыв страничку программы, вы увидите то, в каких версиях Wine пользователи заставляли программу работать (в новых версиях программы Wine могут начать запускаться новые программы, а иногда и переставать запускаться те программы, что работали раньше), её рейтинг (я описал рейтинги программ на этом сайте выше) для каждой опробованной версии программы Wine, и список действий для того, чтобы запустить программу, если её рейтинг не Platinum. Также если рейтинг программы не Platinum, вы можете увидеть список известных в Wine багов, которые проявляются при запуске именно этой программы. Когда вы дочитаете этот текст, вы сможете сами добавлять новые версии программ, и создавать странички для тех программ, которых нет в списке.

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

Для начала, четвёртый совет. Его мне подсказали на сайте opennet.ru, в комментариях к новости об одной из версий программы Wine, которая тогда была самой новой. Начиная с той версии, компонент Wine Gecko, не входящий в состав программы Wine и загружаемый из Интернета отдельно, загружается при первом запуске winecfg. А раньше его предлагали загрузить при первому запросу программы в Wine к браузеру Internet Explorer, или его возможностям. В случае отказа программа или закрывалась, или продолжала работать без какой-либо функции. Затем можно было запустить программу снова, нажать на те же самые кнопки, и загрузить Wine Gecko. А в последнихъ версиях программы Wine этот компонент загружается сразу, а в случае отказа нам больше не напоминают о нём! И будут тогда закрываться без объяснения причин некоторые программы, а часть функционала в них не работать... Мне это не нравится. Для решения проблемы надо загрузить файл gecko-1.0.0.cab (кажется, он называется так), и положить его в каталог /usr/share/wine/gecko. Каталог gecko нужно предварительно создать. Если вы не нашли каталога wine в /usr/share, а Wine у вас утсановлен, то возможно, что вы установили Wine в /usr/local. Тогда копируйте файл в /usr/local/share/wine/gecko :-). Если и там каталога wine нет - а он у вас установлен вообще? А работает? Найдите сами, куда вы установили Wine себе :-)

Это может быть нужно в том случае, если для каждого нового wineprefix'а вы не хотите каждый раз подключаться к Интернету и скачивать 10 мегабайт этого компонента. Или у вас медленый или дорогой Интернет.

Если вы предпочитаете использовать стабильную версию Wine, 1.0 или 1.0.1, версия Gecko 1.0.0 вам не подойдёт... Она вышла только недавно. А тогда, насколько я помню, был Wine Gecko версии 0.1. Вот его и загружайте! А может и 0.9...

Продолжаем тюнинг Wine! Чтобы как можно больше программ запустилось без предаврительной донастройки программы Wine, советую установить .NET 2.0 и DirectX! В Wine уже есть библиотеки-эквиваленты для поддержки DirectX, но эта поддержка неполноценна. Лучше использовать нативный вариант... Для одной игры можно взять ту библиотеку (или несколько тех библиотек), которые просит игра, а затем положить в каталог с игрой. И ничего больше не надо. Однако можно установить DirectX полностью, и игры больше не попросят «правильные» для неё библиотеки...

Пятый совет. Устанавливаем DirectX. Когда это придумали, актуальная версия программы Wine была 0.9.4x. Было большое руководство, где самой трудоёмкой частью работы было вписывание библиотек в winecfg. Нужно было заприсать около 30-ти библиотек, большинство как нативные для Windows, и часть как нативные для Wine (Хотя на самом деле они были из Windows). В стабильной версии 1.0 или 1.0.1 ничего этого уже не нужно. Нужно только взять файлы mscoree.dll и streamci.dll из Windows, а затем положить их в каталог ~/.wine/drive_c/windows/system32. Иначе установка не удастся, а программу установки придётся выключить при помощи wineserver -killall (эта команда доступна, кстати, как раз со времён версий программы 0.9.4x). В более ранних версиях Wine это кстати тоже надо было делать.

Если у вас нестабильная версия Wine (любая - уже со второй нестабильной версии 1.1.1, кажется, началось), то на библиотеку mscoree.dll будет ругаться программа установки. Скажет, что библиотека из .NET есть, а самого .NET почему-то нет!! Однако установка проходит успешно (а может я и ошибаюсь - не помню уже). streamci.dll больше не надо - об этой библиотеке можно забыть. Сегодня и уже кажется около года никаких дополнительных библиотек не нужно. DirectX хоть и установится, но будет устанавливаться страшно медленно без mscoree.dll. Итак, теперь мы знаем, как установить DirectX в Wine. А вот и видео на YouTube с работающим в Wine dxdiagn! Для того, чтобы DirectX установился мгновенно, нужно установить .NET. Мы ведь собирались его установить тоже?

Я забыл важный момент. Устанавливать DirectX, .NET, Microsoft Visual Basic 2005/2005_SP1/2008, и ещё много разных полезных для запуска программ компонентов, можно без ручной работы. Есть скрипт winetricks (кажется, он «живёт» здесь: http://wiki.winehq.org/winetricks). Этот скрипт, кстати, иногда обновляется. Но - файлы установки скачиваются из Интернета, наличия их на компьютере у нас не спросят. Для России с нашей народной традицией «Золотой софт: все программы на одном диске», такой способ очень не подходит... И безлимитный скоростной Интернет есть не у каждого, чтобы постоянно загружать такие объёмы информации. 20 мегабайт для .NET 2.0, 120 для DirectX... Нет уж, спасибо! Поэтому я пишу то, как сделать всё вручную.

Шестой совет. Я считаю оптимальной версию .NET 2.0. 3.0 ни одна из оппробованных мной программ не попросила. Но если хотите - в winetricks он есть... 3.5 пока что не запускается - установка завершается ошибкой. Вам потребуется файл l_intl.nls из Windows, который «проживает» там в каталоге WINDOWS\System32. Положите его в ~/.wine/drive_c/windows/system32. Затем запустите winecfg любым удобным для вас способом, и установите версию Windows как 2000. Теперь можно запустить файл dotnetfx.exe, и установка завершится успешно.

Есть ещё одна тонкость... После установки .NET в Wine начиная с версии 1.1.1 (в общем, любая нестабильная версия Wine), наблюдается пауза перед запуском любой программы в минуту. Если у вас девелопперская версия программы Wine, вам необходимо сразу после .NET установить компонент Visual Basic C++ Libraries 2005/2005_SP1/2008. Любую версию в общем... А если вы предусмотрительны, то перед установкой .NET :-)

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


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

Мой рецепт запуска всех возможных программ в Wine, которые в нём только могут запуститься, это:


1). Скомпилировать Wine из исходного кода с проприетарным драйвером видеокарты, если запускаемая вами программа - игра.

2). Установка шрифтов из Windows.

3). Установка Wine Gecko вручную.

4). Установка Visual Basic C++ Libraries 2005/2005_SP1/2008.

5). Установка .NET 2.0.

6). Установка DirectX.


Сразу после этого можно установить любую программу! И если она не запустилась, значит, Wine не может запустить её без ухищрений, и необходимо посетить сайт http://appdb.winehq.org/, чтобы найти дополнительные инструкции - либо удостовериться, что программу запустить никому не удалось :-) Или - добавить недостающую программу и результаты её тестирования самому! :-)

Как теперь писать багрепорты? Да очень просто. Заходите на http://bugs.winehq.org/, ищите ключевые слова своего бага в строке поиска (например, название программы и дейтсвия, которые она совершает). Например, в последней версии Wine пропал звук в игре Mass Effect. А в предудыщей ещё работал! Пишем mass Effect... Результатов нет? Хм. Ладно... Тогда sound. И смотрим с конца. Нет новых багов? Создаём. Или если есть, смотрим, это наш баг, или нет?! Не наш. Регистрируемся. Или логинимся. Создаём баг. У нас спросят, баг чего, Wine'а, или одного из трёх частей сайта Wine'а? Выбираем первое. Нас просят предварительно воспользоваться поиском. Ну что мы видим... Какая версия Wine сбоит. А какая сбоит? Пишите свою версию. Если вы хотите написать не 1.1.44, а например 1.1.32, потому что всё с неё началось, попросят перепробовать с последней версией кто-нибудь... Пишите последнюю. Мой вам совет. А в описании проблемы укажите, что это началось с версии 1.1.32. Что там бальше... Компонент засбоивший? Этого я редко знаю, но когда знаю, выбираю из списочка. Если разработчики догадаются, сами сменят... Далее, краткое описание бага в 5-10 слов, желательно меньше. Английских слов! А затем полное описание. Можно прикрепить скриншот размером до мегабайта (лучше уменьшите его The Gimp'ом, а ещё лучше сохранять в формате jpg, а ещё лучше затем обработать программой JPEG Cleaner), и сообщение об ошибке в консоли. Как работать с дебаггером я не знаю - честно скажу вам. Скришнот нужно делать только со сбойной программой, а если там 70% скриншота - ваш рабочий стол, скорее всего, его удалят. Есть такая полезная команда: gnome-screenshot --window. Заснимется только окно программы :-)

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


Приложение 1: Иногда при компиляции Wine нам говорят: дайте мне последнюю версию такой-то зависимости. Я заметил, что во многих дистрибутивах нет нужной версии libmpg123 и libopenal - Wine хочет их новые версии очень уж часто... Если у вас уже есть что-либо из этого, а Wine просит то же самое, но новее, давайте затрём? Установим поверх? Если вдруг по какой-либо причине вы захотите удалить пакет, затрутся нужные файлы. У них точь-в-точь такие же названия...

Если у вас не последний дистрибутив, открывайте репозитарий с последним, и выдирайте архиватором файлы библиотек, и кладите куда нужно. В /usr/lib, или в /usr/lib32, если у вас 64-битный дистрибутив. Это не сделает ничего плохого... Или компилируйте его src.rpm или deb-src.

Как компилировать последний libmpg123: скачиваем исходный код программы mpg123, распаковываем, командуем:


./configure -prefix=/usr

make

make install (от имени суперпользователя)


Зависимости не забудьте установить только?.. Выше я давал команды :-)

В 64-битных дистрибутивах встаёт проблема: а как сделать 32-битные версии библиотеки?! Ой, да просто. Обыкновенное шаманство с бубном. Я методом научного тыка сделал. А вы лучше или вытащите библиотеку из любого 32-битного дистрибутива, как я предлагал выше... Или делайте так:

CC=”gcc -m32” ./configure --with-cpu=i586

Нам не нужен весь 32-битный mpg123, так что компилируем из подкаталога libmpg123. make. Потому что не получается всю программу таким образом собрать... Полученную библиотеку ищем здесь же, в скрытом каталоге, а потом копируем в /usr/lib32. Все файлы для /usr/include уже на месте после 64-битной компиляции и установки.

Как проверить, что получилось действительно 32-битно, а не 64-битно? А вот этой командой:


file libmpg123.so


Нам напишут, что это 80386. Значит, всё правильно! Если x86_64, значит, мы ошиблись. Сделайте make clean и перепробуйте...

Как компилировать последний libopenal: скачиваем исходный код с сайта компании Creative. Если он в расширении .bz2, а не tar.bz2, его необходимо переименовать в .tar.bz2. Иначе не откроется. У них на одной страничке скачивания просто так, а на другой - иначе. Далее командуем:


(От имени суперпользователя...)

mv /usr/include/pulse /usr/include/pulse2

(От имени пользователя...)

mkdir build

cd build

cmake ../

make

Копируем файлы в /usr/lib сами. Зачем мы убираем файлы для компиляции с pulseaudio? Это ведёт к ошибкам при компиляции, а если всё-таки скомпилируете, то в работе. Ну их! Лучше ALSA. Не забудьте вернуть каталог /usr/include/pulse2 обратно :-) Пользователям 64-битных дистрибутивов... Да-да. Легче вытащить из 32-битной системы :-) На этот раз всё легче. После команды cmake открываем каталог CMakeFiles, редактируем файл CMakeCCompiler.cmake, и вписываем во вторую строчку SET(CMAKE_C_COMPILER_ARG1 "") между двумя кавычками -m32. Затем make. Обязательно скопируйте каталог include/AL в каталог /usr/include! Иначе компилятор Wine не узнает о том, что у нас есть libopenal, или сочтёт его старой версией.







редактирование дебов

Hosted by uCoz