Наповнення Wine. Установка Wine Після запуску в консоль виводяться fixme повідомлення

Заповнення Wine

Додано інструкцію з встановлення та заповнення
Почнемо набивати наш, поки що не досвідчений, у плані всеїдності Wine. Тобто встановлюватимемо програми без яких не одна гра, що поважає себе, не запуститься. Наприклад DirectX, Visual C++, MS.NET, PhysX, Windows Media Player, загалом усе що потрібно (а може і не потрібно!?) Я перерахую.
Відкриваємо " Програми->Wine->Winetricks(далі у вікнах ставимо крапки як показано):

Натискаємо ОК, з'являється наступне вікно:


Знову тиснемо ОК, відкривається вікно з вибором встановлюваних компонентів та DLL, поставте галочки на тих пунктах, які я вказав:
d3dx9, d3dx9_26, d3dx9_28, d3dx9_31, d3dx9_35, d3dx9_36, d3dx9_42, d3dx10, d3dx11_42, d3dx11_43, d3dxof, devenum, dinput8, dirac, directmusic, directplay, directx9, dmsynth, dotnet11, dotnet20, dotnet30, dxdiagn, gecko110, gecko120, gfw, mfc40, mfc42, msasn1, msxml6, physx, quartz, vcrun2003, vcrun2005, vcrun2008, vcrun6, vcrun6sp6, wmp10, wsh56vb, wsh57, xact, xact,.
ОК. Набираємось терпіння, чекаємо, поки це все встановиться, іноді потрібно буде підтверджувати ліцензійну угоду, так що далеко не йдіть:)
Краще, я б вам порекомендував, встановлювати не все відразу, а по два - три компоненти - якщо відбудеться (не дай бог) якийсь збій, ви хоч будете знати на якому компоненті це сталося.

Для екстремалів і особливо лінивих є ще один спосіб:

!!!Раджу вам, поки не почали експерименти з іграми, створити резервну копіюпапки.Wine: " Перехід->Домашня папка->Ctrl+Hі скопіюйте всю папку.Wine в інше місце. Важить вона не багато (близько 1Гб), з встановленими компонентами і у разі краху вашої робочої.Wine, ви її зможете замінити!

Останнім часом 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 d3dxd3

Друга команда

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:/шлях/до/програми

Виявилось, що там далеко не всі тонкощі. Тому написав цю посаду як доповнення тому.

У цьому пості переважно вільний переклад оф. документації, а також кілька своїх і чужих хитрощів при роботі з війн.
Швидше за все, цей пост буде цікавий новачкам і звичайним користувачам 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 другий_користувач /програма_з_повним_шляхом
тоді перший користувач зможе більш-менш безпечно запускати програми від імені другого користувача.
зірочкою відзначені пункти, котрим потрібні права рута.

Для коректної роботи більшості ігор необхідне налаштування реєстру нашого псевдо Windows. Для цього скористаємося утилітою Winetricks, яка була встановлена ​​разом із Wine.
Виконайте такі маніпуляції: Програми->Wine->Winetricks. У вікні позначте: Select the default wineprefix . OK

У наступному вікні відзначаєте: Change Settings. OK

Ви отримаєте доступ до основних параметрів вашої зв'язки Ubuntu-Wine-Windows.

Тут позначте такі параметри:
1. DirectDrawRender(ddr) opengl
2. Direct3D Multisampling enabled
3. OffscreenRenderingMode(orm) fbo
4. PixelShaderMode(psm) enabled
5. Render TargetLockMode(rtlm) auto
6. UseGLSL(glsl) enabled (default)
7. VertexShaders(vsm) hardware
8. VideoMemorySize 1024 (виберіть значення ОЗП вашої відеокарти)
9. MouseWarpOverride(mwo) enabled (force)
Підтверджуємо наші зміни – OK.
Усі налаштування реєстру нашої системи зберігаються в текстових файлах (system.reg; user.reg; userdef.reg), що знаходяться за адресою - Home\Username\.Wine і їх можна редагувати в будь-якому текстовому редакторі (спробуйте це зробити в цій Windows?! ). Для редагування можна скористатися і звичнішим для Windows способом - редактором реєстру: наберіть у терміналі wine regedit OK

запуститься програма редагування

Як ви бачите, все, що ми зробили у Winetricks - відобразилося в налаштуваннях реєстру.

Оригінал: Wine User Guide
Олексій Дмитрієв, [email protected]
Дата перекладу: травень 2008

Розділ 3. Налаштування Wine (Конфігурація)

Переважна більшість звичайних налаштувань робиться через інструмент Winecfg tool. Ми пройдемо просте покрокове введення у Winecfg та розглянемо доступні опції. У наступному розділі ми займемося більш сучасними змінами, які можна зробити за допомогою regedit. Також ми проведемо повний огляд конфігураційних налаштувань Wine. І, насамкінець, ми розглянемо налаштування (які ви, можливо, захочете зробити) недоступні через Winecfg та regedit.

3.1. Програма Winecfg

У минулому Wine використовував спеціальний конфігураційний файл, що знаходився в ~/.wine/config. Якщо ви досі користуєтеся версією Wine, яка має справу з цим файлом (старше червня 2005 року), вам потрібно оновитися, перш ніж робити щось далі. Всі налаштування тепер зібрані прямо в реєстрі (реєстрі) і доступні Wine при запуску.

Програма Winecfg має бути встановлена ​​на ваш комп'ютер разом з іншими програмами Wine. Якщо ви не зрозумієте, як запустити її, спробуйте:

$ /usr/local/bin/winecfg

або просто

Коли програма стартує, ви побачите у верхній частині вікна наступні вкладки:

  • Applications
  • Libraries
  • Graphics
  • Desktop Integration
  • Drives
  • Audio
  • About

Внесення змін до вкладок Applications та Libraries матиме вирішальне значення для можливості запуску програм. Інші налаштування служать для того, щоб змусити саму програму Wine працювати так, як вам хотілося б.

Попередження:Вкладки Applications, Libraries та Graphics пов'язані між собою! Якщо ви виберете у вкладці Applications Default Settings (параметри за замовчуванням), всі зміни, зроблені у вкладках Libraries та Graphics, будуть змінені для всіх програм. Якщо ви налаштували якусь програму у вкладці Applications і вибрали її, то налаштування, зроблені у вкладках Libraries або Graphics, стосуватимуться лише цієї вибраної програми. Це дозволяє вибірково налаштовувати певні програми.

3.1.1. Установки Програм

Wine має здатність наслідувати поведінку різних версій Windows. У цілому нині, найбільш різні поведінки версій Win9x і NT. Деякі програми вимагають для нормальної роботиспецифічної поведінки, і зміни цієї настройки може змусити збійний додаток заробити. Нещодавно версією за промовчанням для Wine було обрано Windows 2000. Відомо, що багато програм працюють краще, якщо ви оберете Windows 98.

Всередині вкладки ви помітите рядок Default Settings (Налаштування за замовчуванням). Якщо ви виберете цей рядок, всі програми будуть працювати у версії Windows за промовчанням. Проблемну програму краще налаштовувати окремо від установок за замовчуванням. Для цього:

  1. Натисніть кнопку Add application (додати програму).
  2. Знайдіть потрібний файл.exe.
  3. Після того, як ви додасте цю програму, ви зможете вибирати версію Windows, яку Wine буде емулювати спеціально для цієї програми.

3.1.2. Налаштування Бібліотек

Подібним чином деякі додатки вимагають спеціальних бібліотек. Wine відтворює систему бібліотек Windows (так званих "рідних" DLL), створюючи версії бібліотек, яким не потрібна ліцензія Мікрософт, і які працюють точно як "рідні". Wine відчуває брак таких відтворених версіях бібліотек, але працюють вони цілком задовільно. Використання лише відтворених DLL гарантує незалежність вашої системи від Microsoft. Однак Wine має можливість завантажувати і "рідні" DLL Windows.
3.1.2.1. Заміна DLL
Не завжди можна запустити програму, використовуючи вбудовані у Wine DLL. Іноді "рідні" DLL просто краще працюють. Після того, як ви "засікли" "рідну" DLL в Windows системіВи повинні помістити її в таке місце, де Wine знайде її, а потім налаштувати для роботи. Зазвичай таким місцем є директорія, яку ви призначили на роль c: windows system32. Існують 4 DLL, "рідні" версії яких ніколи не слід використовувати: kernel32.dll, gdi32.dll, user32.dll та ntdll.dll. Ці бібліотеки вимагають низькорівневого доступу до ядра Windows, якого просто немає в структурі Wine.

Маючи це на увазі, коли ви вже скопіювали DLL, необхідно повідомити Wine про можливість скористатися ним. Можна налаштувати Wine на вибір між "рідною" та вбудованою DLL на двох різних рівнях. Якщо у вкладці Applications встановлено Default Settings, то зміни, які ви зробите, торкнуться всіх програм. Або можна змінити глобальні установки на рівні окремої програми, додавши цю програму і вибравши її у вкладці Applications.

Щоб додати замінний файл FOO.DLL, впишіть "FOO" в поле, що має назву New override for library (Нова заміна для бібліотеки), і натисніть кнопку Add (Додати). Щоб змінити поведінку DLL, потрібно вибрати її з поля Existing overrides: (Існуючі заміни) і натиснути Edit. За замовчуванням, першою буде завантажена "рідна" Віндовська, другою - вбудована у Wine ( Native then Builtin). Можна також вибрати лише "рідну", тільки вбудовану, або вимкнути обидві.

3.1.2.2. Щодо системних DLL
Команда Wine вирішила, що необхідно створити підроблені DLL файли, щоб обдурити багато програм, що перевіряють лише наявність файлу, щоб переконатися, що певна властивість (такі як Winsock та його TCP/IP networking) теоретично доступна. Якщо для вас постала ця проблема, створіть у налаштованій директорії c:\windows\system32 порожні файли з відповідними іменами, щоб програма думала, ніби вони на місці, а вбудовані у Wine DLL будуть завантажені, коли програма дійсно їх запросить. (На жаль, інструмент wineinstall не створює такі порожні файли самостійно).

Іноді програми намагаються з'ясувати версію ресурсу безпосередньо з фізичного файлу (скажімо, щоб дізнатися про версію DirectX). Файли пустушки у цьому випадку не допоможуть. У такому разі потрібно встановити файли з повним кодом версії. Ця проблема вже вирішена для багатьох файлів. Якщо ні, то ви знову повинні скопіювати "рідний" файл DLL, щоб обдурити програму.

Звичайно, існують DLL, які Wine ще не реалізувала належним чином (або зовсім). Якщо під рукою немає справжньої Windows, з якої можна скопіювати DLL, завжди можна отримати файл із сайтів, які містять архіви Windows DLL, які ви знайдете за допомогою пошукових машин. Будь ласка, дотримуйтесь правил ліцензування для файлів DLL, які ви обираєте; деякі розповсюджуються без обмежень, деякі ні.

3.1.2.3 Відсутні DLL
У випадку, якщо Wine скаржиться на відсутність DLL, потрібно перевірити, чи цей файл є "офіційним" DLL, чи належить програмі, яку ви намагаєтеся запустити. Це можна зробити, провівши в Інтернеті пошук на ім'я файлу. Після того, як ви "засікли" DLL, треба ще переконатися, що Wine зможе його використати. Пошук DLL зазвичай провадиться в наступному порядку:

1.Директорія, звідки програму було запущено.

2.Поточна (робоча) директорія.

3. Системна папка Windows.

4 Папка Windows.

5 Директорії змінної PATH.

Коротко: або помістіть потрібний DLL у каталог вашої програми (може бути незручно), або помістіть його в папку Windows. По можливості уникайте "рідних" DLL на базі NT, тому що в Wine підтримка NT API набагато слабша, ніж підтримка Win9x API (іноді приводить до більш поганої сумісності з NT DLL, ніж навіть з не-Windows схемами!).

3.1.3 Графічні налаштування (Graphics Settings)

Є п'ять різних базових налаштувань, які можна конфігурувати. Більшість людей достатньо і установок за промовчанням.

Перші кілька налаштувань стосуються переважно ігор і є самоочевидними. Можна заборонити курсору миші залишати межі вікна програми DirectX (тобто гри). За замовчуванням ця опція увімкнена. Існує багато причин зробити це, не останньою з яких є той факт, що простіше грати, коли курсор укладений у меншій площі. Інший сенс підключити цю опцію - найкращий контроль над мишею. Wine спотворює позицію миші, щоб імітувати роботу Windows. Подібним чином, "desktop double buffering" згладжує оновлення екрану, чому ігри виглядають краще; знову-таки, за замовчуванням опція включена. Це компроміс підвищеного споживання пам'яті.

Може виявитися корисним емулювати віртуальний робочий стіл. У цьому випадку всі програми запускатимуться в окремому вікні. Це може допомогти виявити глючні ігри, які змінюють роздільну здатність екрана (можливо невдало). Виведення їх у вікно може призвести до кращого контролю над ними, можливо ціною меншої зручності. Можна спробувати розміри 640×480 (за замовчуванням) або 800×600.

І останнє можна змінити деякі установки Direct3D. Здебільшого ці установки визначаються автоматично, але ви можете змусити їх поводитися певним чином. Деякі ігри намагаються перевіряти систему щодо підтримки тих чи інших властивостей. Вимкнувши цю поведінку, Wine не повідомлятиме про здатність формувати зображення певним чином. Це може призвести до підвищення швидкості гри за ціною якості графіки; а може, гра зовсім не працюватиме.

3.1.4. Налаштування дисків

Windows має на увазі досить жорстку схему позначення дисків, яку імітує Wine. Більшість людей знайомі зі стандартною схемою: "A:" – представляє флоппі диск, "C:" – представляє первинний системний диск, etc. Wine використовує ту ж концепцію і розмічує диски згідно з основною "рідною" файловою системою.

Розмітка дисків у Wine відносно проста. У Winecfg у вкладці Drives ви бачите кнопки для додавання та видалення потрібних дисків. Коли ви вибираєте "Додати диск" створюється новий рядок і з'являється схема позначення дисків за промовчанням. Можна змінити адресу, на яку вказує даний диск, Зробивши зміни в полі Path. Якщо ви сумніваєтеся в правильності Шляху, натисніть кнопку "Browse", щоб знайти правильний Шлях. Видалити диск можна, виділивши потрібний і натиснувши "Remove".

Winecfg може автоматично визначити диски, доступні у вашій системі. Рекомендується спробувати автоматичний спосіб, перш ніж намагатися розмітити диски вручну. Простим натисканням на кнопку Autodetect ви змушуєте Wine шукати диски у вашій системі.

Дуже цікаво налаштовувати диски, не вдаючись до Winecfg, це дуже просто. Усі налаштування дисків знаходяться в директорії ~/.wine/dosdevices. Кожен диск - це просто симлінк до місця, де він насправді знаходиться. Wine автоматично встановлює два диски під час першого запуску:

$ ls -la ~/.wine/dosdevices/
lrwxrwxrwx 1 wineuser wineuser 10 Jul 23 15:12 c: ->../drive_c
lrwxrwxrwx 1 wineuser wineuser 1 Jul 23 15:12 z: -> /

Щоб додати ще диск, наприклад CD-ROM, просто створіть ще один лінк, що вказує на нього:

$ ln -s /mnt/cdrom ~/.wine/dosdevices/d:

У посиланнях використовується прийнята в DOS система іменування дисків - буква зі знаком двокрапки, наприклад, "a:". Отже, якщо лінк до диску c: вказує на ~/.wine/drive_c, ви можете розуміти посилання на c:\windows\system32 як ~/.wine/drive_c/windows/system32.

3.1.5 Аудіо налаштування

Wine може працювати з небагатьма звуковими субсистемами, які ви можете вибрати у вкладці "Audio". Winecfg виявить всі доступні драйвери, але вибрати той, що використовуватиметься, ви можете вручну. Старі дистрибутиви Лінукс, які використовували ядро ​​2.4, зазвичай застосовували "OSS" драйвер. Ядра 2.6 переключилися, як правило, на "ALSA". Драйвер "aRts" був нещодавно виведений з роботи через загальний брак підтримки субсистеми "aRts". Якщо ви використовуєте GNOME, ви можете спробувати EsounD. OSS та ALSA аудіо драйвера найбільш перевірені, так що рекомендується зупинити свій вибір на них, якщо можливо. Якщо вам потрібні "Jack", "NAS" або "CoreAudio", то швидше за все ви самі знаєте чому.

Установки DirectSound в основному використовуються в іграх. Ви можете вибирати ступінь прискорення "заліза", але для більшості чудово підійде "Full" (Повне).

3.1.6 Компонування робочого столу

Wine може завантажувати теми Windows, якщо вони є. Хоча ніякої необхідності, з погляду роботи Wineабо додатків, в цьому немає, це дозволяє вам створювати звичний вигляд програми. Wine підтримує нові теми MSStyles. На відміну від старих Microsoft Plus! style тим, механізм uxtheme підтримує спеціальні.msstyles файли, які можуть змінювати всі налаштування Windows. Це приблизно те саме, що більшість Лінукс десктопів вміє робити вже багато років. Якщо хочете спробувати, то робіть так:

1. Завантажте Windows XP. Переконайтеся в наявності файлу .msstyles.

2. Створіть ланцюжок директорій у своєму хибному Windows диску:

$ mkdir -p ~/.wine/drive_c/windows/Resources/themes/ім'я_теми

3. Перемістіть файл.msstyles до директорії /name-of-your-theme

4. За допомогою вкладки Desktop Integration у winecfg виберіть нову тему.

3.2 Використання Реєстру та програми Regedit

Усі налаштування за допомогою Winecfg, за винятком налаштування дисків, зрештою зберігаються в Реєстрі. У ОС Windows це центральне сховище налаштувань, як окремих програм, так і самої операційної системи. Wine так само використовує Реєстр, тому деякі настройки, яких немає у Winecfg, можуть бути змінені в Реєстрі. (Набагато більше шансів за те, що вам доведеться "залазити" до Реєстру для зміни налаштувань якоїсь програми, ніж для зміни налаштувань самої Wine).

Сам факт того, що Wine використовує Реєстр для збереження налаштувань є дискусійним. Деякі стверджують, що це дуже схоже на Windows. Щоб заперечити це, потрібно взяти до уваги кілька моментів. По-перше, неможливо обійтися без Реєстру просто тому, що програми "розраховують" зберегти свої налаштування саме там. Для того щоб Wine міг зберігати і мати доступ до налаштувань в окремому конфігураційному файлі, буде потрібно окремий набір програм, в основі своєї робить те ж, що Win32 API, що Wine і робить. І, нарешті, на відміну від Windows, Реєстр Wine написаний простим текстом і може бути змінений у будь-якому текстовому редакторі. І ось, хоча більшість нормальних системних адміністраторів (і розробників Wine), лаються як шалені на заплутаний Реєстр Windows, все ж таки необхідно, щоб Wine якимось чином підтримував його.

3.2.1 Структура Реєстру

Хоча це нам не зовсім по дорозі, давайте трохи заглибимося в структуру реєстру та подивимося, як він улаштований. Реєстр Windows - це хитромудра деревоподібна структура, і навіть кращі Windows програмісти не завжди знають, як він розпланований, зі своїми різними "вулями" ("hives") і нескінченними посиланнями між ними; повний опис не входить до можливості цього документа. Але основні ключі Реєстру ви тепер повинні знати:

HKEY_LOCAL_MACHINE

Цей фундаментальний кореневий ключ (у win9x він зберігається в прихованому файлі system.dat) містить все, що стосується даної інсталяції Windows. Часто скорочується до HKLM.

Цей фундаментальний кореневий ключ (win9x він зберігається в прихованому файлі user.dat) містить інформацію про кожного користувача в даній інсталяції.

HKEY_CLASSES_ROOT

Це лінк до HKEY_LOCAL_MACHINE\Software\Classes. Там зберігається інформація, що описує речі на кшталт асоціацій файлів, OLE (Object Linking and Embedding) – управління документами, та класи COM (технологія COM – стандарт Мікрософт).

HKEY_CURRENT_USER

Це лінк до HKEY_USERS\your_username, тобто до вашої персональної конфігурації.

3.2.2. Файли реєстру Wine

Тепер ви, можливо, замислилися, як перекласти все це в структури Wine. Планування реєстру, описане вище, "проживає" у трьох різних файлах у директорії ~/.wine: system.reg Цей файл містить HKEY_LOCAL_MACHINE. user.reg Цей файл містить HKEY_CURRENT_USER. userdef.reg Цей файл містить HKEY_HKEY_USERS\.Default (тобто установки користувача за замовчуванням). Ці файли автоматично створюються програмою wineprefixcreate під час першого запуску Wine. Набір основних установок зберігається у файлі c:\windows\inf\wine.inf та обробляється програмою rundll32.exe. Коли ви вперше запускаєте Wine, файл rundll32.exe зазнає процесу заповнення даними початкового реєстру. Щоб ознайомитися з деталями, перегляньте скрипт wineprefixcreate і побачите, як все це робиться. Після оновлення Wine wineprefixcreate знову можна використовувати для оновлення рядків реєстру за замовчуванням.

Як мовилося раніше, можна редагувати все эти.reg файли, з допомогою будь-якого текстового редактора. Тільки переконайтеся, що Wine не запущено в цей момент, інакше всі зміни пропадуть.

3.2.3. Як користуватись Regedit

Найпростіше отримати доступ та змінити Реєстр за допомогою інструмента regedit. Так само як однойменна Windows програма, яку він замінює, regedit призначений для перегляду реєстру на системному рівні, що містить усі його ключі. Просто запустіть regedit і він відкриється. Ви відразу помітите, що таємничі ключі, представлені в текстовому файлі, організовані ієрархічно.

Щоб переміщатися реєстром, клацніть на ключах у лівій частині панелі, щоб "зануритися" на наступний рівень глибини. Щоб видалити ключ, натисніть на ньому і в меню Edit виберіть "Delete". Щоб додати ключ або значення, визначте місце, де ви хочете помістити його, та виберіть "New" із меню Edit. Щоб змінити існуючий ключ, виділіть його у правій панелі та виберіть "Modify" з меню Edit. Інший спосіб зробити те ж саме, це клацання правою кнопкою миші на ключі або значенні.

Особливий інтерес для користувачів Wine представляють установки в HKEY_CURRENT_USER\Software\Wine. Більшість налаштувань, які ви зробили за допомогою winecfg, записані саме в цю ділянку реєстру.

3.2.4. Підказки для системного адміністратора

Використовуючи вищеописану файлову структуру, можна налаштувати систему так, щоб системна інсталяція Wine (з додатками) могла бути спільною для всіх користувачів, і водночас дозволяти кожному користувачеві мати свою конфігурацію. Адміністратор може, встановивши Wine і всі необхідні для користувачів Windows програми, потім скопіювати файл system.reg та інші файли глобального реєстру (які, як ми домовилися, знаходяться в /usr/local/etc), за допомогою команд:

cd ~root/.wine
cp system.reg /usr/local/etc/wine.systemreg

ln -sf /usr/local/etc/wine.systemreg system.reg

Вам, можливо, доведеться зробити все те саме з файлом user.reg, незважаючи на те, що цей файл містить налаштування користувачів. Кожен користувач повинен мати власну копію цього файлу разом з правами на його зміну.

Потрібно звернути увагу на розмітку дисків. Якщо ви узагальнюєте файл system.reg, ви повинні переконатися, що установки реєстру сумісні з розміткою дисків у файлах ~/.wine/dosdevices кожного користувача. Візьміть за правило, що чим більше ваша розмітка дисків збігається з такою за умовчанням, створеною програмою wineprefixcreate, тим легше ваше завдання. Ви можете і не зуміти зробити спільними всі диски "c:", які ви спочатку встановлювали програми. Деякі програми потребують можливості записати певні налаштування на диск, особливо програми для Windows 95/98/ME.

Майте на увазі: якщо ви встановлювали Wine з вихідних джерел як суперкористувач, скрипт tools/wineinstall, яким ви користувалися при установці, більше не працює.

І останнє слово попередження: стежте, що ви робите з обліковим записом адміністратора. Якщо ви скопіюєте (або дасте лінк) реєстр адміністратора до глобального реєстру, то будь-який користувач зможе читати налаштування адміністратора, що погано, якщо там міститься важлива інформація про паролі, персональна інформація та інше. Використовуйте обліковий запис адміністратора лише для встановлення програм, а не для щоденної роботи, її потрібно робити під звичайним обліковим записом.

3.2.5. Повний список ключів реєстру

Найновіший список уживаних ключів та значень ви знайдете на сторінці developer's wiki .

3.3. Інші аспекти, що піддаються налаштуванню

Цей розділ містить решту речей, які можуть бути налаштовані. Він також служить зборами підказок та хитрощів, щоб вичавити все можливе з використання Wine.

3.3.1. Послідовні та паралельні порти

Послідовні та паралельні порти налаштовуються майже як диски – просто створюється символічне посилання в директорії ~/.wine/dosdevices з ім'ям пристрою. У Windows послідовні порти прийнято називати "com" із додаванням номера, наприклад: com1, com2, etc. Аналогічно паралельні порти називаються "lpt" із додаванням номера, наприклад: lpt1. Вам слід пов'язувати їх безпосередньо посиланнями з відповідними пристроями Unix, такими як /dev/ttyS0 та /dev/lp0. Для прикладу, щоб налаштувати один послідовний та один паралельний порт, запустіть наступні команди.

ln -s /dev/ttyS0 com1
ln -s /dev/lp0 lpt1

3.3.2. Спільні мережі

Мережеві ресурси Windows можуть бути розплановані в директорії unc/, так що все, що має бути в \\myserver\some\file, буде знаходитися в ~/.wine/dosdevices/unc/myserver/some/file/. Наприклад, якщо ви використовуєте Samba щоб змонтувати \\myserver\some на /mnt/smb/myserver/some, то вам слід виконати команду:

ln -s /mnt/smb/myserver/some unc/myserver/some

щоб зробити їх доступними у Wine (тільки не забудьте створити директорію unc, якщо такої немає).

3.3.3. Шрифти

Налаштування шрифтів, колись серйозна проблема, тепер вирішується набагато простіше. Якщо у вас у Windows є набір TrueType шрифтів, просто потрібно скопіювати все.ttf файли в c:\windows\fonts.

3.3.4. Принтери

Wine може взаємодіяти безпосередньо з вашою друкарською системою CUPS (система друку Юнікс) і знаходити принтери, доступні системі. Налаштування принтерів у Wine зводиться до того, щоб переконатися, що CUPS працює. Тим не менш, Wine потребує команди lpr (від CUPS), коли потрібно роздрукувати будь-який документ.

Якщо ви не користуєтеся CUPS, застосовується стара BSD-Printing система друку:

Усі принтери з файлу /etc/printcap автоматично встановлюються у Wine.

Wine вимагає PPD-File для кожного з принтерів (generic.ppd входить до складу Wine)

Для друку документа запускається команда lpr.

3.3.5. Сканери

У Windows, сканери використовують TWAIN API для доступу до відповідних пристроїв. Вбудований у Wine TWAIN DLL просто надсилає ці запити на Linux SANE бібліотеки. Отже, щоб скористатися сканером під Wine, спочатку потрібно переконатися, що можете отримати доступ до нього через SANE. Після цього потрібно переконатися, що у вас є xscanimage придатний до використання. Зараз xscanimage входить до пакету sane-frontends, але може виявитися не встановленим на вашому дистрибутиві. Взагалі, доступ до сканерів і сьогодні рясніє проблемами. Якщо у вас випадково сканер запрацює, будь ласка, оновіть цей розділ Посібники користувача Wine, докладно описав деталі використання SANE з Wine.

3.3.6. Бази даних ODBC

Система Open DataBase Connectivity interface (відкритий інтерфейс взаємодії з базами даних у Windows) так само як і система друку, спроектована, щоб перейти на Юнікс систему на високому рівні. Замість того, щоб перевіряти, чи працюють Windows коди під Wine, вона використовує відповідний Юнікс ODBC провайдер, такий як UnixODBC. Таким чином, якщо ви налаштували Wine використовувати вбудований odbc32.dll, цей Wine DLL буде взаємодіяти з вашим пакетом Unix ODBC, дозволяючи йому працювати. Якщо ж ви налаштували Wine на використання "рідної" (Віндовської) odbc32.dll, він намагатиметься використовувати "рідні" ж ODBC32 драйвера і так далі.
3.3.6.1. Налаштування ODBC в Unix
Першим кроком на шляху використання системи Unix ODBC з Wine буде, звичайно, налаштування роботи самої системи Unix ODBC. Це може вимагати встановлення вихідних або RPM пакетів. Є кілька Unix ODBC систем; та, до якої звик автор, називається unixODBC (з драйвером IBM DB2). Також існує міст ODBC-ODBC, який можна використовувати для отримання доступу до бази даних Microsoft Access. Зазвичай такі системи включають інструмент, наприклад isql, який дозволить вам отримати доступ до даних командного рядка, так, щоб ви мали можливість переконатися, що система працює.

Другий крок – переключити Unix ODBC бібліотеку на вбудовану у Wine odbc32 DLL. Вбудований odbc32 (в даний час) шукає в змінному оточенні LIB_ODBC_DRIVER_MANAGER ім'я бібліотеки ODBC. Для прикладу, автор у файлі.bashrc має такий рядок:

export LIB_ODBC_DRIVER_MANAGER=/usr/lib/libodbc.so.1.0.0

Якщо така змінна оточенняне встановлена, тоді він шукає бібліотеку під назвою libodbc.so, а ви можете встановити символічне посилання, щоб прирівняти її до вашої бібліотеки. Наприклад, як root, можна запустити команди:

# ln -s libodbc.so.1.0.0 /usr/lib/libodbc.so
# /sbin/ldconfig

Останній крок налаштування – це переконатися, що Wine встановлена ​​на запуск вбудованої версії файлу odbc32.dll шляхом зміни конфігурації DLL. Ця вбудована DLL зазвичай працює як заглушка між програмою, що викликає, і Unix ODBC бібліотекою.

Якщо у вас виникли труднощі, можна скористатися командою WINEDEBUG=+odbc32 перед запуском Wine, щоб простежити, що відбувається. Одне попередження. Деякі програми трохи шахраюють та обходять бібліотеку ODBC. Наприклад, Crystal Reports engine відправляється до реєстру перевіряти DSN (ім'я джерела даних). Спосіб впоратися з цим описаний на сайті unixODBC, де є розділ, присвячений використанню unixODBC з Wine.

3.3.6.2. Використання драйверів ODBC Windows
Кажуть, що "рідні" драйвери ODBC працюють з багатьма типами баз даних, включаючи MSSQL і Oracle. Насправді, тільки MSSQL може бути доступний з Лінукса через додаток Winelib. Замість того, щоб просто копіювати файли DLLБільшість драйверів ODBC вимагає застосування інсталятора Windows типу, щоб правильно налаштувати деякі речі, на зразок ключів реєстру.

Щоб налагодити підтримку MSSQL, ви спочатку повинні завантажити та запустити інсталятор mdac_typ.exe із сайту microsoft.com. Щоб сформувати ODBC зв'язку, ви повинні запустити CLICONFG.EXE і ODBCAD32.EXE під Wine. Ви можете знайти їх у директорії windows\system після того, як закінчить роботу mdac_typ. Порівняйте вихід цих програм із виходом на справжній Windows машині. Деякі речі, наприклад протоколи, можуть бути відсутніми, оскільки вони можуть встановлюватися разом з операційною системою. Якщо так, то ви можете скопіювати недостатнє в існуючій інсталяції Windows разом з будь-якими необхідними значеннями в реєстрі. Справжня інсталяція Windows, підготовлена ​​для роботи з Wine, повинна працювати сама по собі не гірше, ніж до підготовки. Ось перелік баз даних, успішно пройшли тестування з Wine.

mob_info