Меню
Бесплатно
Главная  /  Навигаторы  /  Заполнение wine. Установка Wine Linux Mint

Заполнение wine. Установка Wine Linux Mint

Оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.

В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
Скорее всего данный пост будет интересен новичкам и обычным пользователям GNU\Linux. Тем не менее добротные советы от специалистов не будут лишними.

Что такое вайн думаю объяснять нет смысла. Хочу лишь показать несколько трюков при работе с ним.

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

То есть каждый созданный вами префикс можно рассматривать как отдельный wine – он независим от других префиксов. Или, для еще большей простоты, воспринимайте каждый созданный префикс, как отдельно установленную винду.

Теперь немного практики:
Сейчас мы создадим папку Gamez, в ней мы создадим префикс lib в который установим несколько библиотек. Эти библиотеки все равно пригодятся потом, поэтому пусть кешируются.

Mkdir ./Gamez

env WINEPREFIX=$HOME/Gamez/lib winetricks directx9 vcrun2005 vcrun2008 vcrun6
env WINEPREFIX=$HOME/Gamez/lib wine winecfg

Последней командой мы опять вызвали окно конфигуратора wine. Просто перейдите на вкладку «Библиотеки» и убедитесь, что все установилось. После этого выполните:

Wine winecfg - откроется конфигуратор wine (не из префикса), проверьте ту же вкладку. Видите! Здесь никаких библиотек. Значит он цел и невредим.

Как установить несколько разных версий wine?
Для решения этой задачи придется собирать wine из исходников. При сборке просто используем префикс для дефолтной установке. Примерно как здесь:

./configure prefix=/path/to/install/directory && make
sudo make install

AppDB
Обязательно используйте appdb для поиска информации по установке приложения, возможно стаф, который вы устанавливаете, уже установили и расписали все подводные камни.
Наводим порядок в домашнем каталоге
Если вы любите поиграть, то вероятно ваш /home раздел забит сейвами и прочими файлами игр. Избавиться от этого всего дела, не в ущерб можно так:

Замените стандартный путь к моим документам, на желаемое место для хранения сейвов. У меня, к примеру, этот путь ведет в папку с игрой.

Использование последних версий wine
Wine такая штука, чем новее тем лучше! С помощью следующей команды вы всегда будете иметь последнею версию wine (для Ubuntu-подобных дистрибутивов):

Sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

После выполнения этих команд ищите последнею версию wine в synaptic.

Установка winetricks
Если по каким-либо причинам у вас до сих пор нет winetricks, то завести его в хозяйстве можно так:

Wget winetricks.org/winetricks
sudo cp winetricks /usr/bin
sudo chmod +x /usr/bin/winetricks

Как установить MSI файл?
Это можно сделать двумя способами: wine msiexec /i whatever.msi

Альтернативный способ: wine start whatever.msi

The file foo.exe is not marked as executable… - Что это значит?
Эта ошибка происходит потому что на exe файле стоит запрет на выполнение. Для файла на вашей ФС эта команда должна исправить положение:

Chmod a+x ./patch/you/exe.file

Если же файл находится на диске, то должна помочь вот эта команда:

Mount -o remount,mode=0777,exec /media/cdrom

Как вывести содержимое отладки в отдельный файл?
cd ~/.wine/drive_c/Games/Tron
wine tron.exe &> log.txt
Как отключить «crash» диалог?
Если вы используете префиксы, не забудьте в команде указать путь к префиксу - winetricks nocrashdialog
После запуска приложения\игры, wine ругается и ничего не запускает. Что делать?
Для начала изучите логи, обычно в них все написано. Ниже я приведу самые популярные ошибки:

MFC40.DLL: через winetricks установи mfc40 (Microsoft Foundation Classes from Visual C++ 4).
MFC42.DLL, MSVCP60.DLL: через winetricks установи vcrun6 (MS Visual C++ 6 sp4 libraries: mfc42, msvcp60, msvcrt).
MFC71.DLL, MSVCP71.DLL: через winetricks установи vcrun2003 (MS Visual C++ 2003 libraries: mfc71,msvcp71,msvcr71).
MFC80.DLL, MSVCP80.DLL: через winetricks установи vcrun2005 (MS Visual C++ 2005 libraries: mfc80,msvcp80,msvcr80).
MFC90.DLL, MSVCP90.DLL: через winetricks установи vcrun2008 (MS Visual C++ 2008 libraries: mfc90,msvcp90,msvcr90).
MDAC: через winetricks установи mdac27 (MS MDAC 2.7).

Мое приложение работает, но текстовые поля ведут себя странно
Проанализируйте дебаг wine после запуска приложения, если видите что ругается на RICHED20.DLL , то доустановите через winetricks следующею библиотеку: riched20
После запуска в консоль выводятся fixme сообщения. Что это?
Вы можете просто их игнорировать, это информация для разработчиков.
Что делать если приложению необходим.NET фреймворк?
Через вайнтрикс можно установить 1 или 2 фреймворк. Как альтернатива использовать mono. Если же приложение требует 3 или 4 фреймворк, то скорее всего оно работать не будет (хотя 3 и даже 3.5 доступен в меню winetricks). Ждем пока решат эту проблему.
Игра которую я пытаюсь установить защищена от распространения возможно ли её установить?
Смотри список copy protection , которые работают.
Что делать если приложение требует IE?
Wine использует по умолчанию ядро\движок Gecko – это то же, что и на Firefox. Поэтому можно через winetrikcs доустановить gecko(если его нет) и\или fakeie6.

Если же это не помогло, попробуйте поменять версию windows на win2k и установить через winetricks ie6, ie7 или ie8.

Как включить сглаживание шрифтов в wine?
Если ваша версия выше чем 1.1.12 вы можете использовать winetricks и выбрать один из трех вариантов сглаживания: fontsmooth-gray , fontsmooth-rgb или fontsmooth-bgr
После выхода из игры не восстанавливается разрешение экрана
Должно помочь: xrandr -s 0
Как попасть в реестр wine?
wine regedit - Если используются префиксы укажите путь в команде.
Нуждается ли wine в отдельной установке драйверов?
Нет. Wine – это не эмулятор компьютера, он лишь переводит вызовы Windows API в понятные линуксу команды.
Безопасно ли запускать wine от root?
Никогда не запускайте wine от root пользователя!!!

Если это уже случилось измените владельца ~./wine директории.

Cd ~
sudo chown -R $USER:$USER .wine

Техника безопасности при использовании wine
Вот несколько советов, которые помогут вам повысить безопасность:
  • Никогда не запускайте программы с подозрительных сайтов
  • Никогда не используйте root пользователя для запуска приложений!
  • Используйте антивирусный сканер для запускаемых приложений, например ClamAV. Или хотя бы проверяете экзешники на virustotal
  • Попробуйте удалить wine диск Z:, который указывает по умолчанию на корневой каталог. В качестве обходного пути запускать программы из ~/.wine/drive_c директории.
  • Используйте виртуальную машину для запуска и проверки подозрительных приложений.
Файл.xsession-errors забивает мусором все дисковое пространство!!! Что делать? (рецепт от --=XliN=--)
Сохраните следующий скрипт:
% cat .scripts/xsessionerrorscleaner.sh
#! /bin/bash
while true ; do
inotifywait -e modify ~/.xsession-errors &> /dev/null
[[ "$(stat -c %s ~/.xsession-errors)" -ge "52428800" ]] && echo > ~/.xsession-errors
done

Добавьте его в автозагрузку, и установите следующий пакет (он необходим для работы скрипта).
apt-get install inotify-tools

Делаем «песочницу» для wine (рецепт от drBatty)
*1) создаём юзера
2) меняем права на домашние каталоги на 700
*3) прописываем команду в sudoers (visudo)
первый_юзер имя_компа=(второй_юзер) NOPASSWD: /программа_с_полным_путём
4) у первого юзера прописываем в автозагрузку DE команду xhost +local: второй_юзер
5) в ярлык для запуска программы пишем
sudo -u второй_юзер /программа_с_полным_путём
тогда первый юзер сможет более-менее безопасно запускать программы от имени второго юзера.
звёздочкой отмечены пункты, для которых нужны права рута.

Итак, драйвера установлены, видеокарта настроена - пора раскрывать её потенциал с помощью компьютерных игр. Иначе для чего всё это? :-) Начнём.

Установка Wine

Wine представляет собой реализацию библиотеки интерфейса программирования приложений (Application Programming Interface , API ). Wine перехватывает запросы windows-программ и преобразует инструкции в их linux-эквиваленты в форме команд оконному менеджеру, используя стандартный протокол X11 . Если имеется доступ к исходному коду windows-программы , Wine также может быть использован для перекомпиляции программы в формат, который Linux понимает лучше. Но нам он нужен всё-таки не для этого. Он нужен нам для игр.

Существует несколько способов установки Wine . Во-первых, он может уже быть в вашем репозитории дистрибутива. Рассматривать процесс скачки из репозитория каждого отдельно взятого дистрибутива, честно говоря, не хватит ни места, ни познаний, ибо нужно знать все дистрибутивы и их особенности. На примере Ubuntu - нужно зайти в Приложения -> Центр приложений Ubuntu , ввести в строку поиска "Wine " - и он перед вами. Неприятная новость: в репозитории его может и не быть, или он может быть, но не обновляться до новых версий. Поэтому советую второй путь - самостоятельная установка.

Для начала необходимо добавить источник Wine в список источников, которые Линукс просматривает в поисках новых версий пакетов.

Вот по этому адресу - www.winehq.org/download/ - дано подробное описание добавления и установки на всех известных дистрибутивах Линукса. Рассмотрим процесс на примере Ubuntu .

В консоли необходимо набрать следующие строки:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

Первой строкой мы добавляем адрес скачки Wine в список адресов обновления нашей системы. Второй строкой - считываем всю последнюю информацию о новых пакетах, чтобы Линукс добавил Wine в список доступных программ. Далее - заходим в Система -> Администрирование -> Менеджер пакетов Synaptic , пишем в строке поиска "Wine" , находим его в выпавшем списке доступных пакетов и ставим галочку. На данный момент это пакет Wine1.3 , при выборе он тянет за собой дополнительные пакеты: wine1.3-gecko , winetricks , ttf-symbol-replacement-wine1.3 и wisotool . Устанавливаем все эти пакеты кнопкой Применить .

Осталось только настроить свежеустановленный Wine . Первый запуск (к примеру, открытие настроек) создаст системный реестр и дерево каталогов в каталоге ~/.wine .

Скрипт winetricks и установка необходимых программ

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

7zip, d3dx9, d3dx9_28, d3dx9_36, d3dx10, d3dxof, dinput8, directmusic, directplay, directx9, dotnet11, dotnet20, dotnet20sp2, dotnet30.

Шрифты Windows уже были установлены вместе с Wine1.3 , если есть желание расширить ассортимент - winetricks предлагает большое количество шрифтов на выбор. Хотя я вместо того, чтобы ставить скриптом по одному шрифту из инета, просто скопировал из установленной в соседнем разделе Windows все шрифты в Wine (все шрифты помещаются в каталог ~/.wine/drive_c/Windows/Fonts ).

Если вы читали в каких-либо статьях в инете о том, что после установки DirectX нужно заходить в Вайновские настройки библиотек DLL и менять им настройки - забудьте. Эта информация устарела и более не актуальна. Winetricks делает всё это за вас.

Ну вот, собственно, и всё, что нам нужно. Остался последний штрих - проверка DirectX на работоспособность. В Вайновском каталоге Windows/system32 запускаем dxdiag.exe и прогоняем все тесты на всех вкладках, особенно - тесты DirectDraw и Direct3D . Все тесты пройдены, всё работает? Я поздравляю вас! Ваш компьютер готов к установке игр!

Андрей "F1reTu][ " Фролов

В последнее время Wine изменился и в лучшую сторону, доработали Mono и теперь он работает хорошо.

Надеюсь Wine x64 вы установите без инструкции, через Установка и удаление программ.

Переход wine c 64 на 32

rm -fr ~/.wine env WINEARCH=win32 wineboot

После установки нужно найти в приложения значок Настройка Wine или в консоли выполнить команду

Wine предложит установить пакет Mono — соглашаемся (ОК), после пакет Gecko x64 и Gecko x32 — соглашаемся (ОК), откроется окно настройки Wine, можете его закрыть — пока оно не нужно. Можно все настроить через графический интерфейс, но это долго и если какой сбой то не поймешь где он случился. Установим через консоль (терминал).
Установим шрифты.

Winetricks corefonts

Первая длинная одна команда (скопировали, вставили в консоль нажимаем Enter). Будет скачивать нужные библиотеки, будут появляться установщики, соглашаемся с лицензионными соглашениями и устанавливаем. Если случился сбой (error mfc40) или зависла установка в консоли нажимаем Ctrl+C (остановим процесс), выполняем еще раз эту команду. Должно все установится (проверено). Быстрота установки зависит от вашей скорости интернет соединения.

Winetricks directx9 d3dx9 d3dx9_26 d3dx9_28 d3dx9_31 d3dx9_35 d3dx9_36 d3dx9_42 d3dx9_43 d3dx10 d3dx10_43 d3dx11_42 d3dx11_43 d3dxof devenum dinput8 dinput dirac directmusic directplay dmsynth dsound

Вторая команда

winetricks dxdiagn gdiplus gfw mfc40 mfc42 msxml6 quartz

Третья

winetricks vb5run vb6run vcrun2005 vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 vcrun6 vcrun6sp6

Четвертая

winetricks wsh57 wsh56vb xact xact_jun2010 xinput

Далее выбираем поменять настройки и ставим

ddr=opengl fontfix glsl=enabled multisampling=enabled mwo=enabled nocrashdialog orm=fbo psm=0 psm=1 psm=2 psm=3 rtlm=auto strictdrawordering=desabled videomemorysize= (отмечаете значение в соответствии с памятью вашей видеокарты, если больше видеопамяти чем 2048, то отмечаете его потом поправите в реестре) vsm=0 vsm=1 vsm=2 vsm=3

Выбираем запустить winecfg

Версию Wine ставим (из выпадающего списка) Windows-7 или выше.
На вкладке — Библиотеки- в существующих значениях ищем — dinput — выделяем и жмем.
Изменить, в выпадающем меню ставим — встроенная, затем сторонняя, повторяем действие и с -dinput8- устраняет проблемы мышки в играх.

У кого проблемы со звуком, можно изменить параметр — dsound — на встроенная.

Профикс wine

WINEARCH=win32 WINEPREFIX=~/название_префикса winecfg
WINEPREFIX=~/название_префикса C:/путь/до/программы

Wine не эмулятор Windows, а лишь альтернативная реализация API Windows. Программа позволяет запускать большинство Windows-приложений на Linux, в том числе и игр. Так давайте взглянем и попытаемся разобраться, что к чему.

Сначала установим последнюю доступную версию, на данный момент это Wine 1.6 RC4 .
Открываем Терминал и вводим:
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine

Открываем в Терминале настройки:
winecfg

Открываем вкладку Вид и интеграция и меняем пути сохранения папок пользователей на другие, чтобы различные сохранения игр и прочие вещи хранились в другом месте, а не в ваших домашних папках. Можно, к примеру указать каталог ~/.wine/drive_c/docs/ (предварительно эту папку нужно создать).


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


Далее запускаем Winetricks через меню или Терминал командой:
winetricks

Теперь мы будем устанавливать нужные библиотеки для запуска приложений и игр (соблюдайте порядок списка). Не устанавливайте все сразу, выбирайте по 2-3 пункта за раз. Обратите внимание, там где имеется пункт Manual download , то вы должны сами скачать инсталятор и скопировать в нужную папку (wine сообщит куда) в кеш ~/.cache/winetricks/имя_папки , перезапустите winetricks и выберите пункт заново.

Устанавливаем шрифты, выбираем Install a font :

  • corefonts


Ставим нужные программы,выбираем Install a Windows DLL or component :
  • dotnet20
  • dotnet30 (нужно скачать файл по ссылке wine и скопировать его в ~/.cache/winetricks/dotnet30 и запустить заново)
  • dotnet35 (перед установкой переключите в winecfg версию Windows на Windows XP )
  • vcrun2003
  • vcrun2005
  • vcrun2008
  • vcrun2010
  • vcrun6
  • d3dx9
  • d3dx10
  • d3dx11_42
  • d3dx11_43
  • d3dxof
  • devenum
  • dinput8
  • directmusic
  • directplay
  • dxdiag
  • dxdiagn
  • winhttp
  • wininet
  • wmp9
  • wsh56js
  • xinput
  • xvid
  • vb5run
  • vb6run
  • physix
  • adobeair
  • flash


Настраиваем реестр, выбираем Change settings :
  • ddr=opengl
  • glsl=enabled
  • multisampling=enabled
  • mwo=enabled
  • orm=fbo
  • psm=enabled
  • rtlm=auto
  • sound=alsa
  • videomemorysize=1024 (здесь выберите размер памяти вашей видеокарты)
  • vsm=hardware


Основная настройка Wine завершена! Теперь можно устанавливать игры и программы для Windows, которые вы хотите запустить на Kubuntu.
Замечу, что не все может работать под Wine. Некоторые программы могут потребовать дополнительные библиотеки для запуска или работы, а также настройки реестра и прочего, а могут и вообще не запустится из-за не поддержки какой-то функции. Если программа не запускается, то выполните запуск через Терминал и Wine выдаст вам лог ошибки, который вам поможет, к примеру:
wine "/home/USER/.wine/drive_c/Program Files/Game/Game.exe"

Прежде чем ставить программу или игру посетите

Wine (WINE Is Not an Emulator) – специальная программа, слой совместимости, для запуска Win32 приложений в UNIX-подобных системах. Проще говоря, эта штука позволяет запускать виндовые проги и игры в вашем уютном Линуксе:).
Программа активно развивается, но пока, к сожалению, не все приложения корректно в ней работают (а некоторые не работают вовсе). С играми пока тоже печально – полной поддержки DirectX 10 и 11 нету, только 9 и младше. (поддержка DirectX 10 активно улучшается в последних тестовых сборках). Но тем не менее, и на DirectX 9 очень много игр. В этой статье мы установим и сконфигурируем Wine, а также установим приложение PlayOnLinux, которое очень пригодится для игр. Установка будет зависеть от вашего дистрибутива, но сама настройка программы абсолютно одинакова в подавляющем большинстве дистрибутивов. Существует две ветки Wine – стабильная и тестовая. В большинсве случаев рекомендуется использовать именно тестовую, так как программа активно развивается и улучшается. Пока рассмотрим установку стабильной версии (примеры для командной строки, однако вы можете пользоваться графическими утилитами, типа Ubuntu Software Center или Yast2 в OpenSUSE):

Для Debian/Ubuntu/Mint:

sudo apt-get install wine winetricks

Для OpenSUSE:

sudo zypper ar -r http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_13.1/Emulators:Wine.repo
sudo zypper in wine

sudo yum install wine
cd /tmp
wget http://www.kegel.com/wine/winetricks
chmod +x winetricks

Обратите внимание. Если у вас 64 битная система, то для корректной работы 32-х битных программ (а игры в большинстве именно такие), необходимо сконфигурировать Wine на 32-х битный префикс. Для этого водим:

WINEARCH=win32 WINEPREFIX=~/.wine winecfg

Откроется окно настроек. Можете оставить всё как есть.

Теперь нам необходимо установить комплект системных библиотек для работы наших виндовых приложений. В меню программ найдите и запустите Winetricks (или из терминала командой winetricks ). В первом окне выбираем---Select the default wineprefix--- наживаем ОК. Во втором---install a Windows DLL or component---ОК


Запомните:
Нужно будет отмечать точками, как в списке. Лучше устанавливать не все сразу, а по несколько штук. Я их разделю для удобства. Далеко не уходите при установке, нужно соглашаться с лицензионными соглашениями и прочим. Будут выскакивать окошки с ошибками, жмите ОК. Начнём.

directx9, d3dx9, d3dx9_26, d3dx9_28, d3dx9_31, d3dx9_35, d3dx9_36, d3dx9_42, d3dx9_43, d3dx10, d3dx11_42, d3dx11_43, d3dxof, devenum, dinput8, dirac, directmusic, directplay, dmsynth

dotnet20

dotnet30 (посыпятся ошибки и откроется окно в файловом менеджере и в браузере, скачиваем по второй ссылке и перемещаем в это окно файлового менеджера. Набираем в консоли winetricks и снова выбираем dontnet30. Перед этим нужно проверить Настройку Wine, чтобы стояла версия Windows XP или Vista.

dxdiagn, gecko120, gfw, mfc40, mfc42, msasn1, msxml6, gdiplus , physx, quartz

vb5run, vb6run, vcrun2003, vcrun2005, vcrun2008, vcrun6, vcrun6sp6

wmp10, wsh56vb, wsh57, xact, xact_jun2010, xinput

Установим шрифты. Выбираем Instal a Font и указываем

corefonts , fontfix

Настройка реестра

Открываем Change Settings и отмечаем

1. DirectDrawRender(ddr) -- opengl
2. Multisampling Direct3D -- enabled
3. OffscreenRenderingMode(orm) -- fbo
4. PixelShaderMode(psm) -- enabled
5. Render TargetLockMode(rtlm) -- auto
6. UseGLSL(glsl) -- enabled (default)(Для видеокарт Nvidia рекомендуется оставить disabled. Это может существенно поднять производительность некоторых игр).
7. VertexShaders(vsm) -- hardware
8. VideoMemorySize 1024 (выбирете значение ОЗУ вашей видеокарты)
9. MouseWarpOverride(mwo) -- enabled (force)
Подтверждаем наши изменения – OK.

Вот собственно и всё. Теперь небольшие примечания по установке софта и игр. Во первых, ни в коем случае не устанавливайте дополнительное ПО, которое предлагает программа (всякие директиксы, visual c++ и так далее). Внимательно проверяйте и в случае чего – снимайте галочки. Во-вторых, в конце установки снимайте галочку "Запустить программу".

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

sudo add-apt-reposytory ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt install wine 1.7 winetricks

В некоторых дистрибутивах (например Debian), для установки тестовой версии, её нужно собирать из исходного кода. Но это уже выходит за рамки этой статьи. Или вы можете установить wine-staging , который также является тестовым, но имеет несколько дополнительных возможностей.

P.S. для любителей один раз увидеть, чем сто раз прочитать – небольшой видеоурок по установке тестовой версии Wine на Ubuntu: