| |
Стандартным способом деинсталляции программ является штатный деинсталлятор самой программы, обычно зарегистрированный в аплете панели управления "Add/Remove Programs". Чтобы вызвать эквивалент деинсталлятора от самой Wine, запустите в терминале программу uninstaller (она расположена в папке programs/uninstaller/ в директории с исходниками Wine):
$ uninstallerНекоторые программы, например Internet Explorer и QuickTime, устанавливают объединенные апплеты панели управления. Вы можете вызвать панель управления Wine, запустив в терминале:
$ wine controlкоторая откроет окно панели управления с установленными аплетами, как в Windows.
Если приложение не устанавливает себя в меню или значок на рабочем столе, вам придется запускать его из командной строки. Если вы помните, куда вы установили программу, то примерно такая команда:
$ wine "c:\program files\appname\appname.exe"скорее всего сделает свое дело. Путь (path) не реагирует на регистр букв, но не забудьте про двойные кавычки. Некоторые программы не всегда используют достаточно очевидные способы именования своих программ и EXE файлов, так что можно заглянуть в директорию Program Files и посмотреть, что там записано.
Wine 20040405 Применеие: wine ПРОГРАММА [АРГУМЕНТЫ...] Запустить программу wine --help Показать эту помощь и выйти wine --version Показать версию и выйти
Первым аргументом должно быть имя файла, который вы хотите запустить с помощью Wine. Если исполняемый файл находится в переменной окружения Path, можно просто напечатать его имя. Если же файл не входит в Path, то нужно указать полный путь к исполняемому файлу (в формате Windows, а не Юникс!). Например, дана такая переменная окружения 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(обратите внимание на двойной обратный слэш!)
О подробностях запуска исполняемых файлов в текстовом режиме (CUI) смотрите раздел ниже.
Каждый канал отладки, будучи активирован, начинает выводить сообщения протоколирования на консоль, в которой работает Wine. Вы можете перенаправить эти сообщения в файлы и исследовать их в свободное время. Но будьте осторожны! Некоторые из каналов отладки могут записывать в протокол немыслимые объемы сообщений. Среди наиболее плодовитых вредителей выделяются relay, который записывает сообщение в протокол при каждом вызове win32-функции; win, который отслеживает прохождение Windows сообщений, и, конечно, all, который является синонимом каждого отдельного существующего канала отладки. Для сложного приложения объем ваших отладочных логов легко может превысить 1 Мб и больше. Сыщик relay часто генерирует более 10 Мб логов, в зависимости от продолжительности работы программы. (Чтобы изменить содержание отчетов relay, вам придется редактировать ключ реестра RelayExclude). Ведение всех этих логов тормозит работу Wine, так что пользуйтесь WINEDEBUG только тогда, когда действительно хотите получить лог сообщения.
Внутри каждого отладочного канала, вы можете задать класс сообщений, чтобы отфильтровывать степень серьезности ошибок. Четыре класса сообщений суть: trace (след), fixme (исправить), warn (предупредить), err (ошибка).
Для включения отладочного канала, используйте форму class+channel. Для отключения канала форму class-channel. Чтобы перечислить несколько каналов в одной опции WINEDEBUG, разделяйте каналы запятыми. Например, чтобы получать сообщения класса warn в канале отладки heap, вы можете запустить Wine такой командой:
$ WINEDEBUG=warn+heap wine program_nameЕсли вы не укажете класс сообщения, Wine будет выдавать сообщения всех 4 классов для данного канала:
$ WINEDEBUG=heap wine program_nameЕсли вы захотите получать логи со всех каналов, кроме канала relay, вы можете дать примерно такую команду:
$ WINEDEBUG=+all,-relay wine program_nameВот список всех отладочных каналов и классов в Wine. В следующих версиях каналы будут добавлены (или убавлены).
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 | |
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.
Для примера: вы хотите, чтобы Wine использовал "родные" ole32.dll, oleaut32.dll и rpcrt4. Тогда запускайте Wine такой командой:
$ WINEDLLOVERRIDES="ole32,oleaut32,rpcrt4=n" wine program_nameВ разделе замена DLL вы найдете дополнительную информацию по этому вопросу.
AUDIODEV=[audio device]
MIXERDEV=[mixer device]
MIDIDEV=[MIDI device]
Вот пример:
$ AUDIODEV=/dev/dsp4 MIXERDEV=/dev/mixer1 MIDIDEV=/dev/midi3 wine program_name
Обычно wineserver прекращает работу почти мгновенно после окончания последнего процесса Wine, использовавшего данный wineserver. Однако, в силу того, что wineserver загружает множество вещей при старте (например, данные целого реестра Windows), его последующий старт может быть весьма долгим, так что полезно удержать его от закрытия после окончания сессии Wine, сделав его постоянным.
export MYENVIRONMENTVAR=myenvironmentvarsetting
Это обеспечит доступ вашей Windows программы к переменной окружения MYENVIRONMENTVAR, когда вы запустите программу при помощи Wine. Если вы хотите установить MYENVIRONMENTVAR на постоянной основе, вы можете поместить настройку в файл /etc/profile, или также, в случае bash, в файл ~/.bashrc.
Имейте однако, в виду, из этого правила есть исключения: Если вы захотите таким способом изменить переменные окружения PATH, SYSTEM или TEMP, вы, ни в коем случае не должны действовать подобным образом, потому что измените настройку переменных окружения Юникс. Вместо этого вам следует установить их в реестр. Чтобы сделать это запустите Wine regedit, и найдите ключ
HKEY_CURRENT_USER/Environment
Теперь вы можете создавать или изменять значения переменных как вам нужно
"System" = "c:\\windows\\system"
Эта запись определит нахождение системных файлов Windows. Системная директория Windows должна располагаться ниже директории, с установками Windows. Если у вас путь (path) к Windows такой: /usr/local/wine_c/windows, то системная директория будет: /usr/local/wine_c/windows/system. Это должно быть прописано без закрывающего слэша, и вы должны иметь право записи в эту директорию.
"Temp" = "c:\\temp"
Это директория, где будут сохраняться ваши временные файлы, /usr/local/wine_c/temp из нашего предыдущего примера. И снова, никаких закрывающих слэшей и право на запись!!
"Path" = "c:\\windows;c:\\windows\\system;c:\\blanco"
Эта запись ведет себя как настройки PATH в Юникс системах. Если запустить пасьянс в Wine следующим образом:
$ wine sol.exe
то он запустится, если файл sol.exe находится в одной из директорий, включенных в Path (конечно, если файл sol.exe находится в рабочей директории, он тоже запустится). Убедитесь, что в Path всегда прописаны ваши Windows и системная директории. Для этого нужно иметь запись "c:\\windows;c:\\windows\\system".
Решая столь широкий диапазон свойств, и их современное применение в мире Юникс, Wine действует тремя различными способами для запуска консольных программ (aka CUI исполняемые файлы):
bare streams - исходные потоки
wineconsole with user backend - с пользовательским выходным буфером
wineconsole with curses backend - с обязательным выходным буфером
Эти имена звучат немного загадочно и непонятно. "bare streams" (исходные потоки) - означает, что Wine не осуществляет никаких дополнительных преобразований, а просто передает ввод с консоли Юникс на консоль Windows. Два других способа подразумевают использование специальной программы Wine (wineconsole), которая обеспечивает дополнительные возможности и средства. Следующая таблица описывает, что вы можете (и чего не можете) делать в этих трех вариантах.
Функция | Bare streams | Wineconsole & user backend | Wineconsole & curses backend |
---|---|---|---|
Как запускать (подразумеваем, что исполняемый файл называется foo.exe) |
$ wine foo.exe |
$ wineconsole -- --backend=user foo.exe |
$ wineconsole foo.exeМожно использовать в качестве опции: --backend=curses |
Хорошая поддержка на строчно ориентированные приложения (которые выдают информацию строка за строкой) | Да | Да | Да |
Хорошая поддержка полноэкранных CUI приложений (включая, но не ограничиваясь, использованием цвета и мыши) | Нет | Да | Да |
Могут запускаться, даже если не запущена X11 | Да | Нет | Да |
Реализация | Направляет стандартные Windows потоки на стандартные Юникс потоки (stdin/stdout/stderr) | Wineconsole создает новое окно, где выводится вся информация (при условии доступности библиотеки USER32 DLL) | Wineconsole использует существующую консоль Юникс (в которой идет программа) и при помощи библиотеки (n)curses получает контроль над всей поверхностью терминала для взаимодействия с пользователем |
Известные ограничения | Странно ведет себя, если две (или больше) Windows консоли используются в одном Юникс терминале |
На сегодняшний день, только USER backend позволяет редактировать эти опции (мы не рекомендуем вручную вносить изменения в содержание реестра). Это редактирование начинается при помощи щелчка правой кнопкой мыши в консоли (это вызывает всплывающее меню), в котором вы можете выбрать:
1. Сохранить новые настройки только на время данного сеанса (когда вы в следующий раз запустите это приложение, вы не увидите своих изменений).
2. Использовать новые настройки в данном сеансе и сохранить их на будущее, так что в следующий раз вы снова сможете ими воспользоваться.
Размер курсора: Определяет размер курсора. Возможны 3 размера: маленький (33% от высоты символа), средний (66% от высоты символа), большой (100%).
Всплывающее меню: Как уже говорилось, это всплывающее меню настройки wineconsole запускается правым щелчком мыши в окне консоли. Однако, это может стать помехой, если приложение, которое вы запустили в wineconsole, использует правый щелчок мыши в своей работе. Нажатием клавиш Ctrl или Shift, вы вводите дополнительный контроль над правым щелчком мыши, открывающим меню. Например, если вы производите правый щелчок мышью без нажатия клавиши Shift, то событие направляется в приложение; а если вы делаете правый щелчок при нажатой клавише Shift, то открывается меню. Quick edit (быстрый выбор): Это переключатель позволяет вам выбрать, как будет интерпретирован щелчок левой кнопкой мыши. Если вы отключите переключатель, то левый щелчок будет направлен как событие в приложение. Если включите - то с помощью левой кнопки мыши сможете выделять прямоугольную область экрана для последующего копирования в буфер обмена. История: Позволяет установить количество команд, запоминаемых консолью. Кроме того, позволяет определить порядок сохранения повторяющихся одинаковых команд (возможно, перемежаемых другими). Если хотите сохранить их все, то отключите переключатель, если хотите сохранить только последнюю, то включите переключатель. Police: Позволяет выбрать шрифт для консоли (файл шрифта, размер, цвета шрифта и фона). Буфер экрана (Screenbuffer) и размер окна: Консоль, что мы видим, состоит из двух различных частей. С одной стороны, это буфер экрана, который содержит все, что программа выводит на экран. С другой стороны, это окно, которое показывает заданную часть буфера. Заметьте, что окно всегда меньше (или равно) буфера экрана. Если задать размер окна, сильно меньший, чем размер буфера, то появятся полосы прокрутки, которые позволят просматривать содержимое всего экранного буфера. Close on exit: Если переключатель нажат, то wineconsole закроется, как только приложение завершит работу. В противном случае, консоль останется открытой, пока пользователь не закроет ее вручную, Это позволяет увидеть информацию, выводимую после завершения программы. Edition mode (стиль редактирования): При вводе команд пользователь может выбрать два стиля:
|
Предыдущая | Оглавление | Следующая |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |