Отключить дополнительные пакеты интернет МТСАмедиатека списывает деньги с номера МТСЗапустил группу вконтактеНовые технологии дают толчок к будущемуЗа последние выходные почти полноценно перешёл на Linux

winetricks

Префиксы

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

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

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

mkdir ./Gamez
env WINEPREFIX=$HOME/Gamez/lib wine winecfg
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 раздел забит сейвами и прочими файлами игр. Избавиться от этого всего дела, не в ущерб можно так:

image

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

Использование последних версий 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

Вот несколько советов, которые помогут вам повысить безопасность:
 



Файл .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 второй_юзер /программа_с_полным_путём
тогда первый юзер сможет более-менее безопасно запускать программы от имени второго юзера.
звёздочкой отмечены пункты, для которых нужны права рута.