 |
от kill_u(19-04-2007)
рейтинг (63)
[ добре ]
[ зле ]
Вариант за отпечатване
Направих превода на това ръководство от официалния сайт на
Wine
иначе го качих http://linuxonbg.hit.bg/wine%20user%20g...
за по-добро форматиране
Потребителско ръководство за Wine
Съдържание
1. Въведение
1.1. Преглед/ About
1.1.1. Цел на този документ. За кого е пренадназначен
1.1.2. Други въпроси и коментари
1.1.3. Преглед на съдържанието/ От къде да изтеглим Wine
1.1.4. Лесен старт
1.2. Какво е Wine?
1.2.1. Windows и Linux
1.2.2. Какво е Wine, и как ще ми помогне?
1.2.3. Wine характеристики
1.3. Версии на Wine
1.3.1. Wine от Wine HQ
1.3.2. Други версии на Wine
1.4. Aлтернативи на Wine, които трябва да осъзнаете
1.4.1. Собствени програми
1.4.2. Други операционни системи
1.4.3. Виртуални машини
2. Инсталиране на Wine
2.1. Методи за инсталиране на Wine
2.1.1. Пакетна инсталация
2.1.2. Инсталиране от изходен код
2.1.3. Инсталиране от Git tree
2.2. Пакетна инсталация
2.2.1. Инсталиране на нов пакет
2.2.2. Различни дистрибуции на ГНУ/Линукс
2.3. Инсталиране от изходен код
2.3.1. Определяне на зависимостите
2.3.2. Компилиране на Wine
2.3.3. Премахване на Wine инсталиран от изходен код
3. Настройки на Wine
3.1. Използване на Winecfg
3.1.1. Application настройки
3.1.2. Libraries настройки
3.1.3. Graphics настройки
3.1.4. Drive настройки
3.1.5. Audio настройки
3.1.6. Desktop Integration
3.2. Използване на Registry и Regedit
3.2.1. Структура на регистъра
3.2.2. Файлове на регистъра
3.2.3. Използване на Regedit
3.2.4. Съвети за системните администратори
3.2.5. Пълен списък на ключовете в регистъра
3.3. Други неща за настройване
3.3.1. Серийни и паралелни портове
3.3.2. Споделени мрежови ресурси
3.3.3. Шрифтове
3.3.4. Принтери
3.3.5. Скенери
3.3.6. ODBC бази данни
4. Стартиране на Wine
4.1. Основни положения: аплети за контролния панел и
приложенията
4.2. Как се стартира Wine
4.3. Решения в Wine подобни на Windows Explorer
4.4. Възможности на конзолния Wine
4.4.1. --help
4.4.2. --version
4.5. Променливи на обкръжението
4.5.1. WINEDEBUG=[channels]
4.5.2. WINEDLLOVERRIDES=[DLL Overrides]
4.6. Възможности на командния ред на wineserver
4.6.1. -d<n>
4.6.2. -h
4.6.3. -k[n]
4.6.4. -p[n]
4.6.5. -w
4.7. Настройки на Windows/DOS променливи на
обкръжението
4.8. Програми с текстови изход (CUI: Console User
Interface)
4.8.1. Конфигуриране на CUI изпълнимите файлове
5. Проблеми и решения / Рапорт за грешки
5.1. Какво да направим ако някоя програма все още не иска
да работи?
5.1.1. Проверете вашата конфигурация на Wine
5.1.2. Използвайте различни настройки за windows версиите
5.1.3. Използвайте различни стартови пътеки
5.1.4. Поиграйте си с DLL конфигурациите
5.1.5. Проверете своята система !
5.1.6. Използвайте различни GUI (Window Manager) способи
5.1.7. Проверете приложението !
5.1.8. Проверете Wine обкръжението !
5.1.9. Преконфигурирайте Wine
5.1.10. Проверете за друга информация
5.1.11. Отстранете грешката!
5.2. Как да докладваме за грешка
5.2.1. Всички отчети за грешки
5.2.2. Сривове
Речник на специалните думи
Списък с таблици
1-1. Различни оферти за Wine
4-1. Канали за отстраняване на грешки
4-2. Основни различия в конзолите
4-3. Wineconsole конфигурационни опции
Глава 1. Въведение
1.1. Преглед / About
1.1.1. Цел на този документ. За кого е пренадназначен
Този документ, наречен Потребителско ръководство за Wine, е
предназначен както като ръководство за инсталиране, така и
като справочен материал. Това ръководство е написано както
за начинаещи потребители на Wine така и за напреднали, като
предлага пълно описание на инсталацията - стъпка по стъпка,
инструкции за конфигуриране и обширен материал документиращ
всичките конфигурационни възможности.
1.1.2. Други въпроси и коментари
Ако, след като прочетете това ръководство, FAQ и другата
свързана документация, все още има нещо което не можете да
разберете, ще очакваме да го чуем. Пощенския списък съдържа
няколко секции и IRC канала, всеки от които е идеално място
където да потърсите помощ или пък да предложите такава. Ако
сте достатъчно добър с Wine и смятате, че нещо може да бъде
обяснено по-добре, можете да изпратите рапорт за
грешка или да направите корекция в
документацията на Wine.
1.1.3. Преглед на съдържанието / От къде да изтеглим
Wine
За да можем да използваме Wine, трябва да имаме работеща
негова инсталация. Това ръководство ще ни помогне да
направим от система без инсталиран Wine, такава със свежа
инсталация на Wine. Първата стъпка е Изтегляне на Wine, тя
описва различните методи по които можем да вземем файловете
на Wine. Втората стъпка, е Конфигуриране на Wine, показва ни
как да настроим Wine инсталацията според нашите
предпочитания. Последната стъпка е Стартиране на Wine,
покрива необходимите условия за това как да пуснем личните
си програми по-добре под Wine, и предоставя необходими
връзки в случай, че се нуждаете от помощ.
1.1.4. Лесен старт
Процеса на инсталация и стартиране на wine може да бъде
описан със следните стъпки:
Изтегляне на дистрибуцията
както е описано в Изтегляне на Wine и в Wine Downloads
страницата. За неподготвени или нови потребители най - лесно
е да се вземе rpm дистрибуция.
Конфигуриране на wine чрез
winecfg командата. За повечето хора след тази стъпка
wine трябва да е готов.
За да тествате вашата
инсталация стартирайте Windows 3.1 на wine като файлов
организатор използвайки командата wine winefile.
Стартирайте wine чрез
командата wine filespec/appname.exe .
Първата команда която ще стартирате ще бъде за инсталиране
на някаква програма. Нещо от типа на wine
/media/cdrom/setup.exe или подобно.
1.2. Какво е Wine?
1.2.1. Windows и ГНУ/Линукс
Различния софтуер е разработен за различни операционни
системи, и в повечето случаи не работи на друга операционна
система, освен на тази за която е разработен. Windows
програмите, не се стартират в ГНУ/Линукс защото те
съдържат инструкции, които файловата система на ГНУ/Линукс
не може да разбере, докато не бъдат преведени от Windows
средата за ГНУ/Линукс средата. ГНУ/Линукс програмите, също
не работят под Windows, защото Windows не може да определи
всички техни инструкции.
Тази ситуация поставя фундаментален проблем пред този който
иска да стартира софтуер и под двете системи - Windows и
ГНУ/Линукс. Най-честото решение на този проблем е да се
инсталират две системи на един компютър, подобна система се
нарича "dual booting." Когато е необходима Windows
програма, потребителя рестартира компютъра и влиза в Windows
за да я стартира, когато му трябва ГНУ/Линукс програма
потребителя рестартира машината в ГНУ/Линукс. Това обаче
изглежда доста трудно: не само, че потребителя едва ли ще
издържи на честото рестартиране, но и програмите за
двете платформи не могат да бъдат стартирани едновременно.
Освен това ако имате Windows това допълнително ви
обременява: софтуера е скъп, изисква отделен диск и не може
да чете повечето файлови системи, като по този начин прави
споделянето на файлове между двете операционни системи
невъзможно.
1.2.2. Какво е Wine, и как ще ми помогне?
Wine дава възможност да се стартират Windows програми в
Unix-подобни операционни системи по-точно ГНУ/Линукс. Както
виждате Wine е изпълнение/имплементация на Windows
Application Programing Interface (API) библиотеката,
действащ като мост между Windows програмата и Linux. По
смисъл на това Wine е един вид слой, когато Windows
програмата опита да изпълни инструкция, която ГНУ/Линукс
системата не разбира нормално, Wine ще преведе тази
инструкция в такава поддържана от ГНУ/Линукс системата. За
пример, ако програмата запита системата за да създаде
Windows pushbutton или text-edit поле, Wine ще превърне тази
инструкция в нейния еквивалент в Linux като команда на
мениджъра на прозорци използвайки стандартния X11 протокол.
Ако имате достъп до изходния код на Windows програмата,
Wine може да го прекомпилира във формат, който Linux може да
разбере по-лесно. Въпреки това Wine е необходим за
стартирането на тези прекомпилирани програми, но има
много предимства да се компилират Windows програми директно
в Linux. За повече информация вижте Winelib User Guide.
1.2.3. Wine характеристики
През цялото време на неговата разработка, Wine увеличаваше
характеристиките си и програмите които може да стартира.
Част от тези характеристики са описани по- долу:
· Стартиране на Win32 (Win
95/98, NT/2000/XP), Win16 (Win 3.1) и DOS приложения
· Използване на външни DLL
файлове (като тези които са включени в Windows)
· X11-базиран графичен дисплей,
даващ възможност за отдалечен достъп до всеки Х терминал, в
текстова конзола
· Desktop-in-a-box или смесени
прозорци
· DirectX поддръжка за игрите
· Добра поддръжка за
най-честите звукови драйвери като OSS и ALSA
· Поддръжка за алтернативни
устройства
· Печат: PostScript интерфейс
драйвер (psdrv) към стандартни Unix PostScript печатни
възможности
· Модем, поддръжка на серийни
устройства
· Winsock TCP/IP networking
support
· ASPI интерфейс (SCSI)
поддръжка за скенери, CD записвачки, и други такива
· Допълнителен unicode и
поддръжка на чужди езици
· Пълен Wine дебъгер и лесен за
настройване лог на съобщения за удобно избягване на
проблемите
1.3. Версии на Wine
1.3.1. Wine от Wine HQ
Wine е проект с отворен код, и като такъв има много
различни версии, от които можете да избирате. Стандартната
версия на Wine излиза периодично(около два пъти на месец), и
може да бъде свалена от интернет като пакета съдържа бинарен
файл и готов за компилиране изходен код. Можете да
инсталирате версията на разработчиците на Wine като
използвате най-новия достъпен изходен код от Git
хранилището. Вж. следващата глава, Изтегляне на Wine, за
повече детайли.
1.3.2. Други версии на Wine
Има някои програми които произлизат от стандартния Wine код
по един или друг начин. Някои от тях са комерсиални продукти
от компании които активно допринасят за Wine проекта.
Тези продукти се опитват да се разграничат или да се
различават от стандартните версии на Wine, като предлагат
по-висока съвместимост, лесна конфигурация и платена
поддръжка. Ако се нуждаете от тези неща добре е да се
сдобиете с такива продукти.
Table 1-1. Различни оферти за Wine
Product
Description
Distribution Form
CodeWeavers CrossOver Office
CrossOver Office дава възможност да инсталирате своите
любими Windows програми в Linux, без да е необходим
Microsoft Operating System лиценз. CrossOver включва лесен
за използване, single click интерфейс, който прави
инсталирането на Windows програми много лесно и бързо.
Commercial; 30-day fully-functional demo available.
CodeWeavers CrossOver Office Server Edition
CrossOver Office Server Edition дава възможност да
стартирате своите любими Windows програми в отделна среда
под Linux, без необходимостта от Microsoft Operating System
лиценз за всяка клиентска машина. CrossOver Office Server
Edition дава възможност да задоволите нуждите на буквално
стотици потребители едновременно, с един сървър.
1.4. Алтернативи на Wine, които трябва да осъзнаете
Има много начини да стартирате софтуер и без Wine. Ако
решите да използвате Wine за да стартарате програми трябва
да се замислите за тази възможност ако срещнете трудности.
1.4.1. Вътрешни програми
В замяна на стартирането на Windows приложения с Wine,
често срещано е да се стартират аналогични в Linux. Много
Windows приложения, особенно често използваните, като медия
плеъри, instant messengers, и програми за споделяне на
файлове имат много добри еквиваленти с отворен код. Нещо
повече много програми за Windows са портнати за Linux,
елиминирайки нуждата от Wine (или Windows) напълно.
1.4.2. Други операционни системи
Вероятно най-очевидния метод за работа с Windows приложения
е просто да се стартират в Windows. Но сигурността, цената
на лиценза, обратната връзка и ефективността могат да
направят това твърдение невярно, ето защо Wine е толкова
полезен.
Друга алтернатива е да се използва ReactOS, която е
напълно функционална алтернатива с отворен код на Windows.
ReactOS трудно споделя кода си с проекта Wine, но въпреки
това в тази система стартирането на Windows приложения се
осъществява от ReactOS kernel, за разлика от другите Linux
системи. ReactOS също така предлага съвместимост с
Windows драйверите, позволявайки използването на
хардуера без Linux драйвери.
1.4.3. Виртуални машини
Вместо да инсталирате нова операционна система на вашия
компютър, можете просто да стартирате виртуална машина на
софтуерно ниво и да инсталирате върху нея другата
операционна система. По този начин можете едновременно да
стартирате и ГНУ/Линукс и Windows с техните приложения, като
и двете системи са на един и същ хардуер. Виртуалните машини
ви дават възможност, освен Windows да стартирате и други
операционни системи като ReactOS например.
Има няколко различни виртуални машини, като някои от тях
могат да емулират х86 хардуер върху други платформи.
Програмите с отворен код Bochs и QEMU могат да стартират
Windows е ReactOS виртуално. Друга комерсиална програма е
VMware и Майкрософтската VirtualPC.
Има някои пречки за използването на виртуални машини, тъй
като за разлика от Wine останалите програми са емулатори, а
това води до неминуемата загуба на скорост. Нещо повече при
стартирането на приложение във виртуалната машина се загубва
пълното интегриране на това приложение със средата. Вероятно
не искате например да имате трай менюто на Windows или пък
неговите икони на своя десктоп, докато се изпълнява някое
негово приложение във виртуалната машина.
Глава 2. Инсталиране на Wine
2.1. Методи за инсталиране на Wine
Веднага след като прецените, че Wine e достатъчен за вашите
нужди, следващата стъпка е да решите да го инсталирате. Има
три начина за инсталиране на Wine от WineHQ, всеки от тях
има предимства и недостатъци.
2.1.1. Пакетна инсталация
Може би най-лесния метод е да се инсталира Wine от пакет.
Тези пакети съдържат готови за стартиране Wine бинарни
файлове специално компилирани за вашата дистрибуция, и те са
тествани периодично от пакетажниците(смях) за функционалност
и пълнота.
За предпочитане е да се използва този вид инсталация.
Пакетите са достъпни от WineHQ downloads page , като
там се намират винаги последни версии на пакетите. Тъй като
е популярен пакети на Wine могат да се намерят и на
официалните хранилища на всяка дистрибуция. Те обаче
понякога може да са остарели, в зависимост от дистрибуцията.
Като цяло пакетите лесно се ъпдейтват, и много дистрибуции
могат да ъпгрейтнат Wine, само с едно кликване на мишката.
Създаването на свой собствен пакет от изходния код е описано
по-долу в това ръководство.
2.1.2. Инсталиране от изходен код
Понякога Wine пакетите не покриват необходимостта на
потребителя. Често даже те не са достъпни за неговата
архитектура, или пък потребителя иска сам да изгради
собствен пакет използвайки настройките на своя компилатор
или изключвайки някои настройки или добавяне на модифициран
изходен код преди компилацията. Тъй като е проект с отворен
код, то потребителя може да прави всички от изброените по -
горе неща с изходния код на Wine, който е разпространяван с
всяко ново издание на Wine. Този метод на инсталация може да
се извърши като се свали Wine архива на изходния код и се
компилира от конзола. Ако се чувствате в свои води с
компилирането то тази опция е за вас.
Изтеглянето на архива на изходния код е лесно. Поставили
сме изходния код в архив tar.bz2 на WineHQ downloads page.
Компилирането и инсталирането на Wine от изходен код е малко
по-трудно от използването на пакета, но въпреки това ще го
опишем очаквайки да му хвърлите един поглед.
2.1.3. Инсталиране от Git tree
Ако искате да опитате острието на бръснача в Wine
разработката, или пък искате да помогнете с нещо за
разработката на Winе, можете да свалите най-последния
изходен код от Gid хранилището. Инструкции за свалянето са
достъпни на http://www.winehq.org/site/git.
Моля отбележете честите предупреждения поставени в сайта за
използването на тази версия на Wine. Изходния код от Git
хранилищата е напълно нов и нетестван и може да не се
прекомпилира правилно. Въпреки това изтеглянето на този код
е най-добрия начин да се тества, как Wine ще работи в
следващата си версия и ако се интересувате от модифицирането
на софтуера това е най-доброто място да вземете ново копие.
Git хранилището се използва и от хората отговарящи за
програмна поддръжка, които се интересуват дали тяхната
програма ще работи и със следващата версия на Wine или пък
дали последния пач наистина върши работа. Ако се
интересувате дали вашата програма ще работи с Wine и искате
да ни помогнете вижте HowTo.
2.2. Пакетна инсталация
2.2.1. Инсталиране от нов пакет
Инсталирането на пакета е крайно просто. Свалете и
инсталирайте пакета използвайки пакетния мениджър на вашата
дистрибуция. Не е необходимо да премахвате старите пакети
(ако имате такива)преди инсталацията, съвременните
ГНУ/Линукс дистрибуции би трябвало да ъпгрейднат или
премахнат старите пакети автоматично. Ако имате инсталиран
Wine от изходен код, най-добре е да го премахнете преди да
инсталирате новия пакет. Вижте uninstalling Wine from
source за инструкции по премахването.
2.2.2. Различни дистрибуции на ГНУ/Линукс
Wine работи на много от различните ГНУ/Линукс дистрибуции,
също така и на системи като UNIX базираните Solaris и
FreeBSD, като всяка от тях има специфичен начин за
инсталирането и работата с пакети. Обикновено, тъй като
същите основни идеи са валидни за всички тях, то
инсталирането на Wine не би трябвало да е по-трудно от
инсталирането на друг софтуер, независимо каква дистрибуция
ползвате. Премахването на Wine пакетите е лесно, тъй като
модерните ГНУ/Линукс дистрибуции поддържат същия лесен
интерфейс за пакетна инсталация.
Ние не искаме да покриваме всевъзможните методи за
инсталиране и премахване на Wine в това ръководство, но
въпреки това ако се интересувате от най-нова информация по
въпроса може да я намерите на сайта на WineHQ в секция
HowTo. Ако се нуждаете то друга помощ описваща как лесно да
се инсталира Wine пакета, препоръчваме да се консултирате с
документацията на вашата дистрибуция, форумите за поддръжка
или IRC.
2.3. Инсталиране от изходен код
Преди да инсталира Wine от изходен код, потребителя трябва
да се убеди, че е премахнал всички бинарни пакети които е
имал на своята система. Инсталирането от изходен код изисква
използването на конзолен прозорец както и пълно копие на
изходния код. След като е свален от Git хранилището и
разархивиран, потребителя трябва да влезе в папката чрез
терминал. След това да следва стъпките описани по долу.
2.3.1. Определяне на зависимостите
По време на компилацията Wine използва много от
библиотеките с отворен код. По време на компилацията Wine е
малко зависим от тези библиотеки и тя би протекла даже и ако
те липсват, но много от неговите функционалности се губят
ако по време на компилирането тези библиотеки липсват.
Съществуват много потребителски проблеми, дължащи се на това
че потребителите нямат необходимите библиотеки, когато
изграждат Wine от изходен код; ето защо поради тази причина
препоръчваме да се инсталира Wine от бинарни пакети или
изградени пакети с изходен код, които могат автоматично да
задоволят собствената необходимост от библиотеки.
Ако потребителя иска да инсталира зависимостите ръчно, има
няколко начина чрез които да види за липсващите библиотеки.
Най - прекия е да се прегледа изхода на ./configure преди да
се престъпи към компилация и да се отбележи кои библиотеки
липсват; после лесно се инсталира това което липсва и се
стартира ./configure отново. Също така потребителя може да
провери файла който ./configure създава (include/config.h) и
да види кои библиотеки липсват и не са намерени.
2.3.2. Компилиране на Wine
След като потребителя е инсталирал необходимите библиотеки,
то може да се пристъпи към компилиране на пакета. В терминал
след влизане в директорията където е разархивиран изходния
код се въвеждат следните команди:
$ ./configure
$ make depend
$ make
# make install
Последната команда изисква привилегии на супер
потребител-root. Също така трябва да се знае, че потребителя
не трябва никога да стартира Wine като root.
2.3.3. Премахване на Wine инсталиран от изходен
код
За да премахнете Wine инсталиран от изходен код, трябва
отново да се отиде чрез терминал в директорията с изходния
код и да се стартира следната команда:
# make uninstall
Тази команда също изисква права на супер потребител, и ще
премахне всички бинарни файлове на Wine от компютъра. Няма
да премахне обаче инсталираните в директорията на Wine
приложения, както и настройките на Wine, така че може да се
инсталира друга версия на Wine. Тези останали файлове може
да бъдат изтрити ръчно.
Глава 3. Настройки на Wine
Почти всички най-чести конфигурации на Wine може да бъдат
направени чрез Winecfg инструмента. Тук ще бъде описан
стъпка по стъпка процеса на конфигуриране на Wine чрез
Winecfg и други достъпни опции. В следващата секция ще бъде
описан начина за по сериозни настройки, които може да се
направят използвайки regedit за да се въведат пълни
изменения на всички конфигурационни настройки на Wine.
Накрая, някои неща излизат извън полезрението на Winecfg и
regedit, те също ще бъдат описани.
3.1. Използване на Winecfg
Преди време Wine използваше специален конфигурационен файл,
който се намираше в директорията ~/.wine/config. Ако
потребителя използва все още версии на Wine, които се
нуждаят от този файл(по-ранни от Юни, 2005) то той трябва да
извърши ъпгрейд на Wine преди за започва каквото и да е.
Всички настройки вече се намират в регистъра и са достъпни
за Wine когато той е стартиран.
Winecfg трябва да бъде инсталиран на компютъра заедно с
останалите приложения на Wine. Ако не е ясно как да се
стартира трябва да се опита командата: $
/usr/local/bin/winecfg
или просто: $ winecfg
След като се стартира програмата се вижда, че тя има
страници разположени на върха на прозореца отговарящи за:
· Applications
· Libraries
· Graphics
· Desktop Integration
· Drives
· Audio
· About
Изменяйки параметрите в Applications и Libraries страниците
се променят начините за стартиране на програмите. Другите
страници отговарят за работата на Wine и как се държи по
време на работата.
Забележка: Applications, Libraries и Graphics страниците са
свързани заедно!!! Ако потребителя избере Default
Settings(настройки по подразбиране) в Applications, всичките
промени направени в Libraries и Graphics страниците ще важат
за всички приложения. Ако бъде избрана специфична програма в
страницата Applications и е маркирана, то тогава всички
промени направени в страниците Libraries или Graphics се
отнасят само за тази програма. Това дава възможност за
различни настройки на специфични програми.
3.1.1. Application настройки
Wine притежава способност да подражава на държанието на
различните версии на Windows. Като цяло, най-голямата
разлика е между подражаване държанието на Win9x версиите или
на NT версиите. Някои приложения изискват специфично
поведение за да функционират и промяната на тази настройка
може да накара другите програми да не работят. Напоследък
версията, която Wine симулира е Windows 2000, ето защо ако
се избере Win 98 някои програми ще работят по - добре.
В разглежданата страница има и възможност за избор на
Default Settings. Ако потребителя избере това ще забележи
текущата избрана по подразбиране Windows Version за всички
приложения. Проблемните програми могат да бъдат
конфигурирани отделно от Default Settings. За да се направи
това:
1. Щракнете на бутона Add application.
2. Прегледайте директориите докато
намерите .exe файла
3. След като той е добавен изберете
специфичната версия на Windows, която искате Wine да емулира
за тази програма.
3.1.2. Libraries настройки
Някои програми изискват специфични библиотеки за да могат
да бъдат стартирани. Wine наподобява Windows-ките системни
библиотеки(още наричани собствени DLL-и) с подобни
произволни версии, разработени да функционират по същия
начин но без изискването за лиценз от Microsoft. Wine има
много познати недостатъци с тези вградени версии, но в много
случаи функционалността е задоволителна. Използването само
на вградени DLL осигурява потребителя, че неговата система е
Microsoft-free. Но въпреки това Wine има възможност да
зареди DLL библиотеки на Windows.
3.1.2.1. DLL Overrides
Не винаги е възможно да се стартират приложенията само с
вградените в Wine библиотеки. Понякога собствените за
Windows DLL библиотеки просто работят по-добре. След като
потребителя е намерил собствените DLL в Windows системата,
то той трябва да ги постави в подходящо място, което е
конфигурирано да бъде c:\windows\system32(с други думи
казано трябва да копира всички DLL файлове от
C:\Windows\System32 на своята Windows инсталация в
/home/*user*/.wine/drive_c/windows/system32 б.пр.) (повече
за това в drives секцията). Има четири собствени за Windows
DLL библиотеки, които не трябва да се използват:
kernel32.dll, gdi32.dll, user32.dll, и ntdll.dll. Тези
библиотеки изискват достъп на ниско ниво от ядрото на
Windows, какъвто просто не съществува в Wine.
След като са копирани собствените за Windows библиотеки,
трябва да се укаже на Wine да ги използва. Може да се
конфигурира Wine да избира между собствените и вградените
библиотеки като две различни нива. Ако е зададено Default
Settings в страницата Applications, направените промени ще
рефлектират на всички приложения. Или има възможност да се
презапишат глобални настройки за едно приложение чрез
задаването му в страницата Applications.
За да бъде зададено зареждане на FOO.DLL, трябва да се
въведе "FOO" в кутията New override for library: и
да се натисне Add бутона. За промяна поведението на DLL,
трябва да бъде селектирана конкретната библиотека в Existing
overrides: и да се натисне Edit. По позразбиране ще бъдат
избрани собствените за Windows библиотеки преди вградените
на Wine. Също така може да се избере да се използват само
едните или другите, както и да се откажат и двете.
3.1.2.2. Забележки относно файловете на системните
библиотеки - DLL
Разработчиците на Wine са определили, че е необходимо да се
създадат лъжливи DLL файлове, които да "излъжат"
дадена програма за съществуването на необходим и за работата
файл(като Winsock и неговия TCP/IP). Ако това е проблем за
вас, можете да създадете празен файл в Wine директорията
c:\windows\system32, така че програмата да си
"мисли", че той е там. След това Wine ще зареди
вградените библиотеки, когато програмата попита за този
файл. (За нещастие tools/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. Също така, ако е възможно да не се
използват NT базирани собствени библиотеки, тъй като Wine
NTAPI поддръжката е малко по слаба от Win9x API
поддръжката(възможно е да по-лоша съвместимостта с NT DLL,
отколкото с не-уиндоуските настройки ).
3.1.3. Graphics настройки
Има пет различни графични настройки които могат да се
конфигурират. За повечето хора тези, които са по
подразбиране са достатъчни.
Първите няколко настройки обикновено влияят на игрите и са
доста ясни. Може да се възпре мишката да излиза от прозореца
на DirectX програмата(т.е. играта) и по подразбиране тази
опция е маркирана. Има няколко причини поради, които
потребителя може да иска курсора на мишката да излиза от
прозореца. Например по лесно е да се играе ако курсора е
"хванат" в по малко пространство. Друга причина да
се включи тази опция е за по - прецизен контрол на мишката
Wine изкривява местоположението на мишката за да подражава
на начина по който Windows работи. Също така "desktop
double buffering" дава възможност за плавно обновяване
на екрана, от което игрите могат да имат само полза и по
подразбиране тази опция е оставена включена. Цената е
повишено използване на паметта.
Може да решите да Emulate a virtual desktop(емулира
виртуален работен плот). В този случай, всички приложения ще
се стартират в отделен прозорец. Може да решите, че
по-лесния начин е да тествате тези игри, които
променят(често невъзможно) екранната резолюция. Прикрепейки
ги към прозорец за повече контрол над тях и е възможно
загуба на производителност. Размерите, които можете да
опитате са 640x480 (по подразбиране) или 800x600.
Накрая, можете да конфигурирате някои Direct3D настройки. В
повечето случаи тези настройки се установяват автоматично,
но можете да ги усилите по собствен начин. Някои игри
опитват да установят истинската система за да видят нейните
специфични възможности. Изключвайки тази опция Wine няма да
съобщи за рендинг възможностите на системата при всички
случаи. Това може да доведе до увеличаване на кадрите за
секунда, намаляване качеството на картината или пък играта
може въобще да не тръгне.
3.1.4. Drive Settings
Wine емулира изискването на Windows за конфигурация с твърд
диск. Много хора са на "ти" със стандартните букви
"A:" за устройството представящо флопи диска,
"C:" за основния системен диск, т.е. Wine използва
същата концепция, и създава върху нея подобна вътрешната за
Windows система.
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-овския стил на
наименуване е буква плюс двоеточие като "а:"
например. Така, че връзката водеща до вашето c: е
~/.wine/drive_c, можете да я промените например чрез
~/.wine/drive_c/windows/system32, която ще води до
c:\windows\system32.
3.1.5. Audio настройки
Wine може да работи с няколко различни аудио подсистеми,
които може да бъдат избрани в страницата "Audio".
Winecfg определя автоматично достъпните драйвери, но
потребителя може сам да си избере кой да бъде използван.
Старите ГНУ/Линукс системи използващи 2.4 kernel или по
ранни обикновенно използват "OSS"драйвера.
Повечето 2.6 kernel системи са използват "ALSA".
Драйвера "aRts" беше изключен поради липса на
поддръжка. Ако използвате GNOME може да ползвате EsounD.
Въпреки това OSS и ALSA аудио драйверите са много
повече тествани, така че е препоръчително да се придържате
към тях ако е възможно. Ако е необходимо използвайте
"Jack", "NAS" или
"CoreAudio" вероятно има защо.
DirectSound настройките са за игрите. Можете да изберете
ниво на хардуерна акселерация каквото желаете. Но за
повечето хора "Full" е добре.
3.1.6. Desktop Integration
Wine може да зареди Windows теми(визуализации) ако са
достъпни. Тъй като това обикновено не е необходимо
условие за да се работи с Wine или приложенията, то дава
възможност да се промени облика на дадена програма. Wine
поддържа новите MSStyles типове за теми. За разлика от
стария Microsoft Plus! тематичен стил, uxtheme енджина
поддържа специални .msstyles файлове, които могат да
променят облика на всичките бутони в Windows. Това е много
по-малко от това което модерните ГНУ/Линукс десктопи
поддържат от години. Ако ви харесва опитайте този метод:
1. Свалете Windows XP тема. Уверете се
че съдържа .msstyles файл.
2. Създайте нова директория във вашето
Windows устройство: $ mkdir -p
~/.wine/drive_c/windows/Resources/themes/name-of-your-theme
3. Преместете .msstyles в тази нова
директория.
4. Използвайте страницата Desktop
Integration на winecfg за да изберете новата тема.
3.2. Използване на Registry и Regedit
Всички настройки направени в Winecfg, с изключение на
настройките на дисковете, са записани в регистъра. В
Windows, това е централното хранилище за конфигуриране на
приложенията и операционната система. Wine създава такова
хранилище и някои настройки, които не могат да бъдат
намерени в Winecfg могат да бъдат променени в него. (Имате
повече шанс да промените настройките на приложенията ровейки
се в регистъра, отколкото чрез Wine).
Сега, факта че Wine използва регистър за да запазва
настройките на приложенията се оказва спорен. Някои хора се
ядосват и считат, че това твърде много наподобява Windows.
За да се отчете това има няколко неща за обсъждане. Първото,
не може да се избегне създаването на регистър, защото
приложенията просто го търсят и очакват техните настройки да
бъдат там. Второ за да може Wine да съхранява и да има
достъп до настройките в отделен конфигурационен файл, трябва
да има и отделен код за тези неща като Win32 API например,
които Wine вече е създал. Накрая, за разлика от Windows,
регистъра на Wine е записан като текст и може да бъде
използван обикновен текстов редактор за да бъде променен.
Докато повечето разумни системни администратори(и Wine
разработчиците) са заразени от лудостта на двойствената
природа на Windows регистъра, то той ще е необходим за Wine
за да го поддържа.
3.2.1. Структура на регистъра
Добре, след това отстъпление, нека да се гмурнем в
регистъра и за малко да видим как е написан. Windows-кия
регистър е сложна дървовидна структура, и не всички от
програмистите за Windows среда са напълно запознати, как
е написан, както и с броя на връзките между него;
пълното обяснение на регистъра е извън обхвата на този
документ. Но тук има основни регистрационни ключове, които
трябва да научите за сега:
HKEY_LOCAL_MACHINE
Този фундаментален коренов ключ (в win9x се съхранява в
скрития файл system.dat) съдържа всичко принадлежащо към
текущата инсталация на Windows. Често е съкращаван HKLM.
HKEY_USERS
Този фундаментален коренов ключ (в win9x се съхранява в
скрития файл user.dat) съдържа информация и конфигурационни
данни за всеки потребител от системата.
HKEY_CLASSES_ROOT
Това е връзка към HKEY_LOCAL_MACHINE\Software\Classes.
Съдържа данни описващи неща като файловите асоциации, OLE
документно притежание и COM класове.
HKEY_CURRENT_USER
Това е връзка към HKEY_USERS\your_username, тоест вашата
персонална информация.
3.2.2. Файлове на регистъра
Вече сигурно се чудите как това се вписва в структурата на
Wine. Регистъра обикновенно "живее" в три различни
файла в ~/.wine директорията на потребителя:
system.reg
Този файл съдържа HKEY_LOCAL_MACHINE.
user.reg
Този файл съдържа HKEY_CURRENT_USER.
userdef.reg
Този файл съдъра HKEY_USERS\.Default (т.е. потребителските
настройки).
Тези файлове автоматично се създават от wineprefixcreate за
първи път когато използвате Wine. Описанието на глобалните
настройки се съхранява във файла c:\windows\inf\wine.inf и е
извършено от rundll32.exe програмата. Първия път, когато
стартирате Wine файла wine.inf се създава за да се включи в
първия регистър. За повече детайли проверете
wineprefixcreate скрипта за да видите как точно това става.
След ъпдейта на Wine, wineprefixcreate може да бъде
използван за ъпдейт на останалите регистри.
Както отбелязахме, можете да редактирате тези .reg файлове
чрез използването на който и да е текстов редактор. Просто
се убедете че Wine не е стартиран в момента, или всичките
промени, които направите ще бъдат загубени.
3.2.3. Използване на Regedit
Най - лесния начин за достъп до регистъра и редактирането
му е чрез инструмента regedit. Подобна на Windows-ката
програма, тя даже я заменя като служи да системен преглед на
съдържанието на регистъра и неговите ключове. Просто
напишете в конзола regedit и тя ще изскочи. Веднага ще
бъдете уведомен, че ключовете в текстовия файл са
организирани по йерархичен начин.
За да разглеждате регистъра, щраквайте на ключовете отляво,
по този начин се отварят. За да изтриете ключ, маркирайте го
и изберете бутона "Delete" от Edit менюто. За да
добавите ключ или стойност, намерете къде ще го правите и
натиснете "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.
Отбележете, че tools/wineinstall скрипта се ползваше да
прави част от това ако инсталирахте Wine от изходен код, но
вече не се прави това.
Последно предупреждение: внимавайте какво правите с
администраторски права - ако копирате връзка от
администраторския регистър към глобалните регистър всеки от
потребителите ще има възможност да чете администраторските
права, което не е добре като информация(пароли, персонална
информация, и др.) съхранявана там. Единствено използвайте
администраторски привилегии за да инсталирате софтуер, не за
дневна работа. За това използвайте потребителски акаунт.
3.2.5. Пълен лист на ключовете в регистъра
Ще намерите постоянно обновван списък с ключовете и
стойностите на регистъра на developer's wiki.
3.3. Други неща за настройване
Тази част се стреми да покрие останалите неща, които могат
да се конфигурират. Също така служи като колекция от
подсказки и хитрости за да се извлече повече от използването
на Wine.
3.3.1. Серийни и паралелни портове
Конфигурирането на серийните и паралелните портове е много
подобно на конфигурирането на дисковете - просто създадохме
символна връзка в ~/.wine/dosdevices с името на диска.
Windows-ките серийни портове имат наименование идващо от
думата "com" последвана от номер, например com1,
com2, и т.н. Подобно на тях паралелните портове използват
думата "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. Шрифтове
Конфигурирането на шрифтовете, беше много неприятен
проблем, но сега е малко по лесен за отстраняване. Ако имате
колекция от TrueType шрифтове в Windows, просто копирайте
всичките .ttf файлове в c:\windows\fonts.
3.3.4. Принтери
Wine може да си взаимодейства директно с локалната CUPS
принтираща система, за да намери достъпните принтери.
Конфигурирането на принтери с Wine е много лесно, след като
сте уверен, че вашата CUPS конфигурация работи. Wine все пак
се нуждае от командата lpr(от CUPS), когато отпечатва
документа.
Ако не използвате CUPS, а старата BSD-Printing система то
тогава:
· Всички принтери от
/etc/printcap се инсталират автоматично в Wine.
· Wine се нуждае от PPD-файл за
всеки принтер(generic.ppd си идва с Wine)
· Командата lpr е извикана
когато се отпечатва документа
3.3.5. Скенери
В Windows, скенерите използват TWAIN API за достъп до
основния хардуер. Изградения за Wine TWAIN DLL просто
изпраща запитванията до библиотеката на ГНУ/Linux - SANE.
Така че да настроите скенера си под Wine трябва първо да се
уверите, че имате достъп до SANE. След това да се уверите,
че имате xscanimage готово за използване. Обикновено
SANE и xscanimage се разпространяват заедно, но е възможно
да не са включени във вашата дистрибуция. Работата със
скенер е познат проблем. Ако при вас работи моля, не се
колебайте да опишете начина на работа за използването на
SANE под Wine в тази секция.
3.3.6. ODBC бази данни
ODBC системата в Wine, както и принтиращата система, е
разработена да се "закача" на високо ниво
към Unix системите. По - добре се убедете, че Wine използва
съвместим Unix ODBC провайдер, като UnixODBC. Така ако
конфигурирате Wine да използва вградените си odbc32.dll,
така че Wine DLL ще комуникира с вашите Unix ODBC пакети и
ще работи, ако конфигурирате Wine да използва собствените за
Windows odbc32.dll то той(Wine) ще се опита да зареди и
същите такива ODBC32 драйвери.
3.3.6.1. Конфигуриране на ODBC под Unix
Първата стъпка в използването на Unix ODBC система с Wine
е, разбира се да изтеглите тази Unix ODBC система и да я
накарате да работи. Това може да изисква свалянето на
изходния и код или RPM пакети. Има няколко достъпни
Unix ODBC системи; една от които използва и автора е
unixODBC (с IBM DB2 драйвер). Има също и ODBC-ODBC
мост/bridge, който може да бъде използван за достъп до
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, това ще изведе какво се
случва с Wine. Едно предупреждение - някои програми в
известен смисъл "лъжат" малко за да избегнат
ODBC библиотеката. Например Crystal Reports се обръща
към регистъра за да провери DSN. Решението на проблема
е описано в unixODBC страницата където е секцията :
използване на unixODBC с Wine.
3.3.6.2. Използване на Windows 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
инсталация, както и необходимите регистри. По този начин
изградената Windows инсталация, работи с Wine, както го
прави и при истинската.
Типове бази данни работещи с Wine:
DB Type
Usefulness
MS SQL
100%
Моля съобщете за други работещи на wine-devel мейл листата.
Глава 4. Стартиране на Wine
Тази глава ще опише всичките положения при стартирането на
Wine, като основните Wine обръщения, командния ред и
неговите параметри и някои от поддържаните от Wine програми.
4.1. Основни положения: аплети за контролен панел и
приложенията
Ако сте наясно с съществуващата Windows инсталация, то при
Wine тя не се отличава по никакъв начин: просто стартирате
инсталатора. Също така трябва да решите/приемете къде да
инсталирате приложението, повечето от инсталаторите по
подразбиране инсталират в директория"C:\Program
Files", което е по принцип е приемливо. Ако инсталатора
на приложението позволи, може да се добави и икона на
работната площ, както и към вашето меню с програми. Ако това
се случи, можете просто да стартирате програмите с едно
щракване на мишката.
Стандартния начин за премахване на програмите е самото
приложение да има вграден деинсталатор, който се записва в
аплета "Add/Remove Programs". За да използвате
еквивалента му в Wine, стартирайте uninstaller
приложението(намира се в programs/uninstaller/ в
директорията на Wine) в терминал въведете:
$ uninstaller
Някои програми инсталират свързани контрол панел аплети,
като например такива може да бъдат Internet Explorer и
QuickTime. Можете да използвате контролния панел на Wine
стартирайки в терминал:
$ wine control
което ще отвори прозорец, с инсталираните контрол панел
аплети в него, подобно на Windows.
Ако приложението не инсталира меню или икони на работния
плот, трябва да го стартирате от терминал. Естествено трябва
да знаете къде е инсталирано, тогава това:
$ wine "c:\program
files\appname\appname.exe"
вероятно ще оправи нещата. Посочването на пътя не зависи от
големи и малки букви, но не забравяйте да оставите
кавичките. Някои програми не използват техните основни
директории за да поставят там ЕХЕ файловете си, така че може
да се наложи да се поровите в директориите на програмата за
това къде са тези файлове.
4.2. Как се стартира Wine
Може просто да напишете в команден ред wine и ще получите
малко съобщение:
Wine 20040405
Usage: wine PROGRAM [ARGUMENTS...] Run the specified
program
wine --help Display this help and exit
wine --version Output version information and exit
Първия аргумент е име на файла, който wine ще изпълни. Ако
изпълнимия файл е в Path променлива, трябва просто да
зададете името на изпълнимия файл. Въпреки това ако не е в
променливата Path, трябва да зададете пълния път до
изпълнимия файл(в Windows формат, не в unix). Например,
задаваме на Path следното:
Path="c:\windows;c:\windows\system;e:\;e:\test;f:\"
Трябва да стартирате файла c:\windows\system\foo.exe с:
$ wine foo.exe
Въпреки това, можете да стартирате c:\myapps\foo.exe файла
с тази команда:
$ wine c:\\myapps\\foo.exe
(note the backslash-escaped "\" !)
За детайли при стартирането от текстов режим на изпълними
файлове (CUI), прочетете раздела по-долу.
4.3. Решения в Wine подобни на Windows Explorer
Ако по добре си служите с графичния интерфейс за да
работите с вашите файлове, може би ще искате да използвате
Winefile. Тове е Winelib приложение, което идва с Wine и
може да бъде намерено заедно с другите Wine програми. Това е
лесен начин да видите своето дисково устройство и да
намерите файлове, освен това да стартирате програми директно
от Winefile. Моля отбележете, че много от функциите не са
довършени още.
4.4. Възможности на конзолния Wine
4.4.1. --help
Показва малко информация за wine.
4.4.2. --version
Показва версията на Wine. Полезна е за да се определи
инсталацията.
4.5. Променливи
4.5.1. WINEDEBUG=[channels]
Wine не е съвършен, и много приложения за Windows все още
не могат да се стартират без проблеми под Wine(но така или
иначе много от програмите си вървят с грешките и под
Windows). За да направи възможно отчитането на всеки бъг и
причините за него, Wine има редица канали за отстраняване на
грешки от които може да се извлече информация.
Всеки канал за отстраняване на грешки, когато е активиран
ще прихваща съобщенията от дневника и ще ги извежда в
терминалния прозорец където е стартиран wine. От тук вие
можете да се запознаете с тях когато имате свободно време.
Но бъдете внимателни! Някои канали за отстраняване на грешки
може да изведат невероятен обем от съобщения. Из между най -
добрите "производители"на съобщения са relay,
който извежда съобщения всеки път, когато win32 функцията е
извиквана, win който засича уиндоуските съобщения, и разбира
се all, който е обвързан с всеки един от каналите за
отстраняване на грешки, които съществуват. За всичките тези
програми, вашият дневник от канала за отстраняване на
грешки може да надхвърли 1 МВ и повече. relay често може да
генерира повече от 10 МВ дневник със съобщения, в зависимост
от това колко дълго е работило приложението. (Можете да
видите регистрационния ключ на RelayExclude за да промените
начина по който relay прихваща рапортите). Събирането на
дневник не забавя Wine много, но не използвайте WINEDEBUG
ако наистина не искате файлови дневници.
Между всеки канал за отстраняване на грешки, можете да
зададете специфичен клас на съобщения(message class), за да
филтрирате различната щателност от грешки. Има четири
класове съобщения, които са: trace, fixme, warn, err.
За да пуснете канала за отстраняване на грешки, използвайте
формата class+channel. За да го изключите използвайте
class-channel. За да видите повече от един канал в една и
съща WINEDEBUG опция, разделете ги със запетаи. Например, за
да изведете warn класовете съобщения, в heap канала за
отстраняване на грешки, вие трябва да се обърнете към wine
като това:
$ WINEDEBUG=warn+heap wiАкоne program_name
Ако не уточните клас на съобщения, wine ще извежда
съобщенията за всички класове в този канал:
$ WINEDEBUG=heap wine program_name
Ако искате да видите дневника за съобщения за всичко освен
от relay канала, трябва да напишете следното:
$ WINEDEBUG=+all,-relay wine program_name
Ето и лист от каналите за отстраняване на грешки и
класовете в Wine. Повече канали ще бъдат добавени(или
изведени) в следващите версии.
Таблица 4-1. Канали за отстраняване на грешки
accel
adpcm
advapi
animate
aspi
atom
avicap
avifile
bidi
bitblt
bitmap
cabinet
capi
caret
cdrom
cfgmgr32
class
clipboard
clipping
combo
comboex
comm
commctrl
commdlg
computername
console
crtdll
crypt
curses
cursor
d3d
d3d_shader
d3d_surface
datetime
dc
ddeml
ddraw
ddraw_fps
ddraw_geom
ddraw_tex
debugstr
devenum
dialog
dinput
dll
dma
dmband
dmcompos
dmfile
dmfiledat
dmime
dmloader
dmscript
dmstyle
dmsynth
dmusic
dosfs
dosmem
dplay
dplayx
dpnhpast
driver
dsound
dsound3d
edit
enhmetafile
environ
event
eventlog
exec
file
fixup
font
fps
g711
gdi
global
glu
graphics
header
heap
hook
hotkey
icmp
icon
imagehlp
imagelist
imm
int
int21
int31
io
ipaddress
iphlpapi
jack
joystick
key
keyboard
listbox
listview
loaddll
local
mapi
mci
mcianim
mciavi
mcicda
mcimidi
mciwave
mdi
menu
menubuilder
message
metafile
midi
mmaux
mmio
mmsys
mmtime
module
monthcal
mpeg3
mpr
msacm
msdmo
msg
mshtml
msi
msimg32
msisys
msrle32
msvcrt
msvideo
mswsock
nativefont
netapi32
netbios
nls
nonclient
ntdll
odbc
ole
oledlg
olerelay
opengl
pager
palette
pidl
powermgnt
print
process
profile
progress
propsheet
psapi
psdrv
qcap
quartz
ras
rebar
reg
region
relay
resource
richedit
rundll32
sblaster
scroll
seh
selector
server
setupapi
shdocvw
shell
shlctrl
snmpapi
snoop
sound
static
statusbar
storage
stress
string
syscolor
system
tab
tape
tapi
task
text
thread
thunk
tid
timer
toolbar
toolhelp
tooltips
trackbar
treeview
ttydrv
twain
typelib
uninstaller
updown
urlmon
uxtheme
ver
virtual
vxd
wave
wc_font
win
win32
wineboot
winecfg
wineconsole
wine_d3d
winevdm
wing
winhelp
wininet
winmm
winsock
winspool
wintab
wintab32
wnet
x11drv
x11settings
xdnd
xrandr
xrender
xvidmode
За повече детайли за каналите за отстраняване на грешки,
проверете The Wine Developer's Guide.
4.5.2. WINEDLLOVERRIDES=[DLL Overrides]
Не винаги е възможно да стартирате приложения чрез
вградените в Wine DLL библиотеки. Понякога собствените за
Windows DLL библиотеки работят по-добре. Въпреки това тези
DLL библиотеки може да бъдат използвани чрез winecfg, и вие
можете да използвате WINEDLLOVERRIDES променливата за да ги
зададете.
Например, ако искате wine да използва собствените за
Windows ole32.dll, oleaut32.dll и rpcrt4 трябва да
стартирате wine така:
$ WINEDLLOVERRIDES="ole32,oleaut32,rpcrt4=n" wine
program_name
За повече информация относно DLL промяната, прегледайте DLL
overrides секцията в това ръководство.
4.6. Възможности на командния ред на wineserver
Wineserver обикновено се стартира автоматично от Wine,
когато първия Wine процес се стартира. Въпреки това,
wineserver има някои помощни команди, които можете да
добавите ръчно или чрез скрипт.
4.6.1. -d<n>
Установява ниво на отстраняване на грешки за изхода от
грешката в терминал където wineserver ще стартира в
ниво <n>. С други думи: всичко по - голямо от 0 ще
кара wineserver да извежда специфично съобщение за отчитане
на грешка.
4.6.2. -h
Показва помощно съобщение за възможностите на wineserver.
4.6.3. -k[n]
Спира текущия wineserver, допълнително със сигнала n.
4.6.4. -p[n]
Този параметър, кара wineserver да работи n секунди. Това
ще възпрепятства незабавното затваряне на wineserver.
Често wineserver се затваря незабавно след последния wine
процес. Въпреки това докато wineserver зарежда много от
нещата при старта(като например всичките данни за Windows
регистъра), този старт може да бъде забавен толкова, че да
може да се излезе преди края на всички сесии на Wine, като
го направим да работи дълго време.
4.6.5. -w
Този параметър кара новостартирания wineserver, да изчаква
докато текущия активен бъде спрян.
4.7. Настройки на Windows/DOS променливи
Вашата програма може да изисква някои променливи за да бъде
настроена правилно и да стартира нормално. В този случай
трябва да настроите променливите в ГНУ/Линукс командния
интерпретатор, за да може Wine да мине през пълните
настройки на променливи до Windows-кия команден
интерпретатор. Пример за баш интерпретатор(другите
интерпретатори имат различен синтаксис):
export
MYENVIRONMENTVAR=myenvironmentvarsetting
Това ще подсигури вашата Windows програма, че същата има
достъп до MYENVIRONMENTVAR променливите след като бъде
стартирана от Wine. Ако искате да имате MYENVIRONMENTVAR
настройките за постоянно, тогава можете да ги сложите в
/etc/profile, или също ~/.bashrc що се касае до този
команден интерпретатор.
Отбележете, че въпреки това има някои изключения от
правилата: Ако искате да промените PATH, SYSTEM или TEMP
променливи, разбира че не можете да го направите, докато не
промените unix настройките на средата. Вместо това вие
можете да ги настроите в регистъра. За да го направите
трябва да стартирате wine regedit и да отидете до
HKEY_CURRENT_USER/Environment
ключа. Сега вече можете да правите или модифицирате
стойностите на променливите, които искате.
"System" = "c:\\windows\\system"
Това настройва къде са уиндоус системните файлове. Windows
системната директория трябва да бъде директорията която се
използва за Windows настройката. Така докато използвате
/usr/local/wine_c_windows като Windows път, системната
директория трябва да бъде
/usr/local/wine_c/windows/system. Това трябва да е
настроено без интервали, и трябва да имате права за запис в
тази папка.
"Temp" = "c:\\temp"
Това трябва да е директорията където искате да записвате
вашите временни файлове, като /usr/local/wine_c/temp
например. Отново без интервали и пълни права за запис в тази
папка!!
"Path" =
"c:\\windows;c:\\windows\\system;c:\\blanco"
Функционира като PATH настройките в UNIX boxes. Когато wine
стартира приложение чрез wine sol.exe, ако sol.exe е в
директорията определена в Path настройките, то тогава wine
ще го стартира (разбира се ако sol.exe е в текущата
директория ще бъде стартирано именно това приложение).
Убедете се, че имате винаги windows и system
директории (За това трябва да имате
"c:\\windows;c:\\windows\\system").
4.8. Програми с текстови изход (CUI: Console User
Interface)
Програмите с текстови изход, са програми чиито изход е
формиран само от текст(изненадахте ли се!). В терминологията
на Windows, те са наричани CUI (Console User Interface)
изпълними, за разлика от GUI (Graphical User Interface)
изпълнимите. Win32 API предлага пълен набор от настройки на
API за работа в такива ситуации, които са обикновено основни
неща като отпечатване на текст, или задачи с по-висока
функционалност(като пълно екранното редактиране, цветова
поддръжка, движение на курсора и поддръжка на мишка), та чак
и до функции като редактирането на линии или директното
редактиране на входящи потоци.
С това малко описание на приложенията, и текущото им
използване в Un*x света, Wine притежава три различни начина
за стартирането на конзолни програми (или просто казано CUI
изпълними):
· bare streams
· wineconsole с потребителски
backend
· wineconsole с curses backend
Имената са малко объркващи. "bare streams" значи,
че няма допълнителна поддръжка от страна на wine между
Windows конзолата и Unix конзолата. Другите два начина
изискват използването на специфични Wine
програми(wineconsole), които имат разширени възможности.
Таблицата описва какво точно правят (и не правят) при тези
три случая.
Таблица 4-2. Основни различия в конзолите
Функция
Bare streams
Wineconsole & и потребителски backend
Wineconsole & curses backend
Стартиране (при стартиране на изпълним файл foo.exe) $ wine
foo.exe $ wineconsole -- --backend=user foo.exe $
wineconsole foo.exe
Също можете да използвате --backend=curses като
опция
Добра поддръжка на редово ориентирани CUI приложения
(принтират информаицята линия след линия)
Да
Да
Да
Добра поддръжка на пълноекранни CUI приложения (включена но
без ограничения към цветовата поввръжка,
поддръжка на мишката...)
Не
Да
Да
Може да бъде стартиран само ако Х11 не е стартиран
Да
Не
Да
Изпълнение
Пренася стандартните Windows потоци към
стандартните Unix потоци (stdin/stdout/stderr)
Wineconsole ще направи нов прозорец(изисква наличието на
USER32 DLL) където цялата информация ще бъде изведена
Wineconsole ще използва съществуващата unix конзола(от
която програмата е стартирана) и с помоща на (n)curses
библиотеката ще поеме контрола върху всички терминални
интерфейси за да комуникира с потребителя
Познати ограничения
Ще има странно поведение, ако две или повече Windows
конзоли се използват от един Un*x терминал.
4.8.1. Конфигурация на CUI изпълнимите файлове
Когато wineconsole се използва, някои конфигурационни опции
са достъпни за промяна. Wine (както и Windows ) записва, за
всяко приложение, няколко позиции в регистъра. Това
позволява на потребителя, например да дефинира екранен буфер
по подразбиране, който ще използва приложението.
Към момента само USER backend дава възможност да се
редактират тези настройки(не е препоръчително да редактирате
ръчно съдържанието на регистрите). Този начин се появява,
при натискане на десния бутон на мишката в конзолата(това е
изскачащо меню), където можете да изберете едното от две
подменюта:
· Default: това ще редактира
настройките за всички приложения които все още не са
конфигурирани. Така че при първото стартиране на
приложението(на вашата машина и под вашия профил) в
wineconsole, wineconsole ще възприеме тази настройки по
подразбиране за приложението. След това приложението ще има
тези настройки, които можете да модифицирате винаги както
пожелаете.
Properties: Това ще редактира настройките на приложението.
Когато сте готов, ще бъдете запитан какво искате да
направите нататък:
1. Да запазите тези променени
настройки, само за това включване/сесия(така че следващия
път, когато влезете, настройките, които са направени
няма да работят).
2. Използва настройките за това
включване/сесия и ги записва, така че следващия път, когато
стартирате приложението, ще използвате тези настройки
отново.
Тук е посочен листа с точките, които можете да
конфигурирате и техните значения.
Table 4-3. Wineconsole конфигурационни опции
Конфигурационни опции
Значение
Размер на курсора
Определя размера на курсора. Три са възможните опции: малък
(33% от височината на буквите), среден (66%) и голям (100%)
Изскачащо меню
Както по-горе казахме това конфигурационно меню на
wineconsole се появява, чрез натискане на десния бутон на
мишката в конзолния прозорец. Въпреки, че това може и да е
причина приложението стартирано в wineconsole да очаква
натискането на десния бутон на мишката. Чрез ticking control
или shift можете да изберете допълнителни модификации на
натискането на десния бутон на мишката за отварянето на
изскачащото меню. Например, ticking shift ще изпрати
съобщение на приложението, че щракването с десния бутон на
мишката в прозореца трябва да е придружено със задържане на
шифта за да се стартира изскачащото меню
Бърза редакция
Тази отметка ви дава възможност да решите дали десния бутон
на мишката да бъде интерпретиран като събитие изпратено към
скритото приложение(tick off) или като селекция на
правоъгълната част на екрана по-късно да бъде копирана
в клип борда (tick on).
История
Това ви дава възможност да определите колко на брой команди
от историята да извикате обратно. Можете също да решите,
когато въвеждате няколко пъти една и съща команда -
потенциално свързана с други - да ги запазите всичките(tick
off) или само последната от тях (tick on).
Police/Правила
Правилата дават възможност да изберете по подразбиране
шрифт за конзолата(размер, файл на шрифта, фон и цвят за
предния план).
Екранен буфер & размер на прозореца
Конзолата както я виждате е направена от две различни
части. От една страна има екранен буфер, който съдържа
всичката информация, която вашето приложение извежда
на екрана, и прозорец, който показва изведеното от този
екранен буфер. Отбележете, че прозореца е винаги по малък
или със същия размер както и екранен буфера. При много малък
прозорец се появяват плъзгащи барове които да помогнат да се
разгледа целия изход от екранен буфер.
Затваряне и изход
Ако е маркирано, то тогава wineconsole ще се затваря със
затварянето на приложението. В друг случай, wineconsole
остава отворен докато потребителя не го затвори: тази опция
дава възможност да се види последната информация от
програмата след като е затворена.
Начина на редакция
Когато потребителя въведе команда, тя или той може да
избере между няколко начина на редакция:
· Emacs: работа с клавишите по
същия начин, както и при emacs. Например Ctrl-A ще изведе
курсора в началото на линията за редактиране. Вижте еmacs
ръководството за повече детайли по командите.
· Win32: това са стандартните
за Windows конзола настройки на клавишите(използват се и
стрелките).
Глава 5. Проблеми и решения / Рапорт за грешки
5.1. Какво да правим ако някоя програма още не иска да
работи?
Има случаи когато сте опитали всичко, даже сте убили
котката си при пълнолуние и сте я изяли с гнил чесън и
развалена риба, докато сте танцували танца на Дявола, и
въпреки това проклетата програма не тръгва с никоя версия на
Wine. Не се отчайвайте, ние сме тук да ви помогнем... (с
други думи колко ще платите ?)
5.1.1. Проверете вашата конфигурация на wine
Прегледате изхода от командата $ wine --version за да сте
сигурен, че имате последната версия на Wine. Стартирайте
winecfg и вижте настройките за да се уверите, че те
изглеждат нормално. Погледнете в ~/.wine/dosdevices за да се
уверите, че С: е там където трябва да бъде.
5.1.2. Използвайте различни версии на windows настройките
В някои случаи използването на различни настройки за
windows версиите помага.
5.1.3. Използвайте различни стартови пътища
Понякога помага, също : Опитайте да използвате заедно wine
prg.exe и wine x:\\full\\path\\to\\prg.exe
5.1.4. Поиграйте си с DLL настройките
Стартирайте с WINEDEBUG=+loaddll за да определите, кои
DLL-и се използват, и как са заредени - като собствени за
windows или вградени на wine. Тогава се уверете, че имате
правилните DLL-собствени библиотеки във вашата директория
C:\windows\system и опитайте да зададете друг ред на
зареждане на DLL настройките от команден реди или чрез
конфигурационния файл.
5.1.5. Проверете своята система !
Като идея: възможно ли е вашето Wine обкръжение да е
развалено? Убедете се че няма проблеми с пакетите от които
Wine зависи(gcc, glibc, X libraries, OpenGL (!), ...) Или
пък някои хора имат странни проблеми, използвайки грешни
хидър файлове за правилни библиотеки!!!(които обикновено се
получават в дни на отстраняване на грешки и се открива много
трудно защо тази функция от ниско ниво пропада, без никаква
представа от наша страна... ARGH !)
5.1.6. Използвайте различни GUI (Window Manager)
способи
Инструктирайте Wine, чрез конфигурационния файл да използва
някакъв модел на работния плот, бил той преправен или
грозния "нормален" модел. Това може да доведе до
промяна на работата на приложението също.
5.1.7. Проверете приложението !
Може би вашето приложение използва някакъв вид защита?
Много защитени от копиране програми не работят в Wine. Някои
от тях може би да работят за в бъдеще(CD-ROM слоя не още
напълно разработен още).
Идете на GameCopyWorld и опитайте да намерите добър крак
(това не знам защо са го писали наистина б.пр.) за вашата
игра, който премахва тази защита. Надявам се че имате
легално копие на програмата....:-)
5.1.8. Проверете Wine обкръжението !
Стартирането с или без Windows дял може да има доведе до
драматичен сблъсък. Конфигурирайте Wine да прави обратното
на това за което го ползвате. Също инсталирайте DCOM98 или
DCOM95. Това може да е доста полезно.
5.1.9. Преконфигурирайте Wine
Понякога wine инсталатора променя и другите версии на Wine
в различните потребителски профили. Това се среща когато
вашата инсталация е направена преди доста време.
Преименувайте съществуващата ~/.wine директория за да
направите резервно копие. Използвайте инсталатора, който се
препоръчва от вашата Wine дистрибуция за да създадете нова
конфигурация. Използвайте информацията от старата ~/.wine
директория като справка. За изходен код на wine изданието,
за да конфигурирате Wine стартирайте tools/wineinstall
скрипта като потребител за който искате да инсталирате Wine.
Това може би е най-безопасната операция. След това можете да
премахнете новата ~/.wine директория и да преименувате
вашата стара отново.
5.1.10. Провери друга информация
Имате наистина добър шанс, така че да видите дали някой
друг не го е опитал преди вас. Можете да намерите следните
помощни ресурси:
· Потърсете WineHQ's
Application Database за да проверите всички подсказки за
програмата. Ако имате специфична версия на програмата която
не е показана, може да намерите различна допълнителна
информация за помощ.
· Frank's Corner съдържа списък
с приложения, и детайлни инструкции, за тяхната настройка.
Друга помощ може да бъде намерена в потребителските форуми.
· Google може да бъде в помощ,
така че го използвайте. Можете да намерите помощна
информация в Google Groups, и в частност в
comp.emulators.ms-windows.wine групата.
· Freenode.net хостовете на IRC
канала за Wine. Можете да влезете използвайки всеки IRC
клиент като Xchat, например. Настройките от които се
нуждаете са: server = irc.freenode.net, port = 6667, and
channel = #winehq
· Ако имате програма, която
изисква Visual Basic Runtime Environment, можете да я
свалите от този Microsoft сайт
· Ако знаете коя DLL ви липсва,
като например mfc42, можете да я намерите на http://www.dll-files.com/
· Мейлинг листата на Wine също
помага, обикновено на wine-потребители. Wine-devel списъка
може да бъде в помощ в зависимост от проблема с който сте се
сблъскали. Ако изпратите съобщение в wine-devel трябва да се
подготвите с малко описание на проблема за да помогнете за
диагностицирането му. Прочетете по долу за да разберете как
да откриете грешката причинила вашия проблем.
· Ако всичко се провали все
пак, може би все пак трябва да видите за комерсиалните
версии на Wine за да разберете поддържа ли се вашата
програма.
5.1.11. Отстранете на грешката!
Следващата стъпка е да намерите изходния код на вашата
грешка. Има широк спектър от възможни проблеми обхващащи от
простото конфигуриране на Wine до напълно не-функциониране
на Wine. Следващата секция ще опише как да се запише отчета
за грешка и как да се започне отстраняването и. За повече
информация за използването на Wine's debugging facilities
прегледайте Wine Developers Guide.
5.2. Как да докладваме за грешка
Моля докладвайте за всички грешки и друга свързана с тях
информация на Wine Bugzilla. Моля, потърсете в базата данни
на Bugzilla дали вече не е рапортувано за вашия проблем. Ако
вече има създаден рапорт добавете само свързана информация
към оригиналния репорт.
5.2.1. Всички отчети за грешки
Някои прости съвети които да направят вашия рапорт за
грешка по полезен(и по този начин по лесно да бъде
отстранена грешката):
1. Публикувайте колкото е възможно
повече информация.
Това значи, че се нуждаем от повече информация освен
простото "MS Word се затваря когато го стартирам. Какво
да правя?" Включете при всички случаи следната
информация:
o Коя версия на Wine използвате
(стартирайте wine --version)
o Името на вашата операционна
система, каква е дистрибуцията и нейната версия (например
Linux Red Hat 7.2)
o Кой е компилатора и версията
му (стартирайте gcc -v). Ако не сте компилирали Wine,
упоменете името на пакета, който сте свалили.
o Windows версията, ако се
използва с Wine. Отбележете ако не използвате Windows.
o Името на програмата, която
опитвате да стартирате, нейната версия и линк към сайта от
където може да бъде взета.
o Точния начин по който
стартирате wine (т.е., wine "C:\Program
Files\Test\program.exe").
o Точните стъпки необходими за
да се репродуцира грешката.
o Друга свързана информация, която
може да помогне, като версия на Х, проблеми с Х, libc версия
и т.н.
.2. .Рестартирайте програмата с
WINEDEBUG променлива WINEDEBUG=+relay опция (т.е.,
WINEDEBUG=+relay wine sol.exe).
Това ще изведе допълнителна информация в конзола, която
може да помогне в отстраняване на грешки в програмата. Това
също забавя изпълнението на програмата. Има някои случаи
където грешката се появаява когато +relay се използва. Моля
отбележете това в отчета за грешка.
5.2.2. Сривове
Ако Wine получи срив докато изпълнява ваше приложение, то е
важно да имаме информация за да разберем причината за този
срив. Това може да изведе малко(няколко МВ) информация, така
че е по добре да бъде записано във файл. Когато Wine-dbg>
запита за отговор, тогава въведете quit.
Може да искате да опитате +relay,+snoop въпреки +relay, но
моля отбележете, че +snoop е много нестабилен и често се
срива за разлика от по - стария +relay! Ако това се случи,
моля използвайте само +relay!! Отчети за грешка със сривове
в +snoop кода са неизползваеми в повечето случаи! Можете
също да включите други параметри, в зависимост от същноста
на проблема, който разработвате. Вижте wine ръководствата за
пълен списък с параметри.
За да трасирате изхода, използвайте един от следните
методи:
5.2.2.1. Най-лесния начин
1. Този метод е от значение за
абсолютно начинаещите да могат да следят дневника за
грешката.
Компютъра ви трябва да има perl за да работи този метод. За
да разберете дали имате perl, стартирайте which perl. Ако
върне нещо от типа на /usr/bin/perl, тогава сте в бизнеса.
Както и да е, продължете към "Трудният път". Ако
не сте сигурен, просто продължете, Когато опитате да
стартирате скрипта, ще стане ясно дали имате perl.
2. Идете в директорията <dirs to
wine>/tools
3. Въведете в конзола ./bug_report.pl и
следвайте инструкциите.
4. Изпратете отчета за грешката на Wine
Bugzilla. Моля потърсете базата данни на Bugzilla за да
проверите, дали вашия проблем вече не е намерен преди да
изпратите отчета за грешката. Включете детайлно описание на
проблема със свързана информация. Прикрепете "Прекрасно
форматирания рапорт" към предадения отчет за грешка. Не
отрязвайте или залепяйте рапорта в описанието на грешката -
това е прекрасно голям. Запазете пълния изход на отчета за
грешка в случай, че е необходим за разработчиците на Wine.
5.2.2.2. Трудният път
Всъщност на нас са ни необходими само последните 100
реда/линии от отчета за грешката. За да вземете тези 100
реда/линии трябва да направите следното
1. Пренасочете целия изход от WINEDEBUG
към файл.
2. Разделете последните 100 реда/линии
към друг файл чрез използването на tail.
Може да бъде направено чрез използването на следните
методи.
всички обвивки:
$ echo quit | WINEDEBUG=+relay wine [other_options]
program_name >& filename.out;
$ tail -n 100 filename.out > report_file
(Това ще изведе отчета за грешка на wine във файл и след
това ще се самозатвори. Вероятно е добра идея да се използва
тази команда, защото в обратния случай ще има извеждане на
екран на съобщенията, което от своя страна води до запълване
на терминала и заемане циклите на CPU процесора)
tcsh и други csh-like обвивки:
$ WINEDEBUG=+relay wine [other_options] program_name |& tee
filename.out;
$ tail -n 100 filename.out > report_file
bash и други sh-like обвивки:
$ WINEDEBUG=+relay wine [other_options] program_name
2>&1 | tee filename.out;
$ tail -n 100 filename.out > report_file
report_file ще съдържа последните сто реда от отчета за
грешка, включително регистър за пропадане, които са доста
необходими части от информация. Моля не изтривайте тази
част, ако не знаете какво значи.
Изпратете отчета за грешка до Wine Bugzilla. Трябва
да прикрепите изходния файл report_file от втора част 2).
Заедно със свързаната информация необходима за създаването
и. Не отрязвайте или залепяйте рапорта в това описание на
грешката - това може да доведе до размесване на
информацията в отчета за грешка. Ако направите каквото ви
съветваме, шанса да получите някакъв отговор е доста добър.
Моля, потърсете в базата данни на Bugzilla за да проверите
дали вашия проблем вече не е забелязан. Ако съществува такъв
просто прикрепете report_file към оригиналния рапорт за
грешка и добавете някаква свързана информация.
Речник на специалните думи
Binary/Двоичен
Изпълним за машината файл, компилиран от: шестнадесетични
данни(като обратното на файл от изходен код).
Distribution/Дистрибуция
Дистрибуцията често е начин, някои производители да
продават своите операционни системи на CD-та(често това име
се споменава във връзка с ГНУ/Линукс дистрибуциите).
ГНУ/Линукс системите може да бъдат разпространявани в много
различни конфигурации: да бъдат направени за игри, научни
приложения, сървъри, десктоп системи и т.н.
DLL
A DLL (Dynamic Link Library/Библиотека за динамично
свързване) е файл който може да бъде зареден и изпълнен от
приложението динамично. Всъщност той се явява външно
хранилище за програмите. Тъй като често няколко програми
използват едни и същи DLL библиотеки то по този начин се
пести място. Синоним на DLL библиотека.
Editor/Редактор
Редактора често е програма която може да създава и
модифицира текстови файлове. Има графични редактори и
текстови редактори достъпни за ГНУ/Линукс.
Пример за графични редактори са: nedit, gedit, kedit,
xemacs, gxedit.
Пример за редактори в текстови режим са: joe, ae, emacs,
vim, vi. In a terminal, тях можете да стартирате чрез:
$ editorname filename
Environment variable/Променлива на обкръжението
Променливите на обкръжението са текстови дефиниции
използвани в Shell/Обвивката за да съхраняват
информация за важни системни настройки. В bash
shell/обвивката (най-често използваната в ГНУ/Линукс),
можете да видите променливите на обкръжението чрез:
set
Ако искате да промените променливите на обкръжението,
трябва да стартирате:
export MYVARIABLE=mycontent
За да изтриете променливата на обкръжението, използвайте:
unset MYVARIABLE
Git
Git е мениджър на съдържанието на хранилища, оригинално
написан да се използва с големи хранилища, като ГНУ/Линукс
Kernel source. Вж. главата за Git в Wine Developers Guide за
детайлна информация.
Package/Пакети
Пакета е компресиран файл в специфичен за дистрибуцията
формат. Той съдържа файлове за програмата която искате да
инсталирате. Пакетите често се инсталират чрез dpkg или rpm
пакетните мениджъри.
root
root е името на профила на системния администратор. За да
го стартирате напишете в Терминал:
$ su -
Ще бъдете запитан за парола на потребителя root за вашата
система, и след това ще бъдете допуснат до работа с
административните задачи, които изискват привилегии на root.
Потребителя root се идентифицира чрез
#
където, '$' показва нормалния потребителски профил.
Shell/Обвивка
Обвивката е инструмент позволяващ на потребителите да
взаимодействат със системата. Често обвивките са текстово
базирани и ориентирани към командния ред. Примери за
популярни обвивки са bash, tcsh и ksh. Wine смята, че за
неговата инсталация, използвате bash, тъй като това е
най-популярната обвивка за ГНУ/Линукс. Обвивките често се
стартират от терминален прозорец.
Source code/Изходен код
Изходния код е кода, от който програмата се състои преди да
бъде компилирана. Т.е. той е оригиналните инструкции, които
казват на компилатора как да превърне приложението в двоичен
код.
Terminal/Терминал
Терминалния прозорец, често е графичен прозорец където
потребителя може да изпълнява обвивката. Ако Wine ви поиска
да отворите терминал, тогава трябва да щракнете на иконата
върху вашия десктоп, която показва голям прозорец(или в
някои случаи морска мида). Wine предполага, че използвате
bash обвивката в терминалния прозорец, така че ако вашия
терминал използва друга обвивка просто напишете:
bash
в терминала за да го промените на bash.
<< Сигурна връзка с Gmail през Firefox | Ръководство за LXR >>
|
 |