LuckyAds поставлен 29.08.2022 —>
Наши партнеры
Книги по Linux (с отзывами читателей)
Библиотека сайта rus-linux.net
Глава IV. Работа с Wine
В этой главе будут описаны все аспекты запуска программы Wine, такие как базовый вызов Wine, параметры командной строки различных сопутствующих программ и так далее.
4.1. Основное использование: приложения и апплеты панели управления
Подразумеваем, что вы используете фальшивую инсталляцию Windows. Вы устанавливаете программы в Wine точно так же, как делаете это в Windows: путем запуска инсталлятора. Можете принять папку для установки по умолчанию, большинство инсталляторов используют по умолчанию «C:Program Files», что вполне хорошо. Если инсталлятор программы запрашивает, можете создать иконки на рабочем столе и в главном меню. Если это сделано, вы сможете запускать приложения прямо щелчком мыши.
Стандартным способом деинсталляции программ является штатный деинсталлятор самой программы, обычно зарегистрированный в аплете панели управления «Add/Remove Programs». Чтобы вызвать эквивалент деинсталлятора от самой Wine, запустите в терминале программу uninstaller (она расположена в папке programs/uninstaller/ в директории с исходниками Wine):
Запуск Windows программы в Mac с помощью Wine
$ uninstaller
Некоторые программы, например Internet Explorer и QuickTime, устанавливают объединенные апплеты панели управления. Вы можете вызвать панель управления Wine, запустив в терминале:
$ wine control
которая откроет окно панели управления с установленными аплетами, как в Windows.
Если приложение не устанавливает себя в меню или значок на рабочем столе, вам придется запускать его из командной строки. Если вы помните, куда вы установили программу, то примерно такая команда:
$ wine «c:program filesappnameappname.exe»
скорее всего сделает свое дело. Путь (path) не реагирует на регистр букв, но не забудьте про двойные кавычки. Некоторые программы не всегда используют достаточно очевидные способы именования своих программ и EXE файлов, так что можно заглянуть в директорию Program Files и посмотреть, что там записано.
4.2. Как запускать Wine
Можно просто запустить команду Wine, чтобы увидеть небольшую подсказку:
Wine 20040405 Применеие: wine ПРОГРАММА [АРГУМЕНТЫ. ] Запустить программу wine —help Показать эту помощь и выйти wine —version Показать версию и выйти
Первым аргументом должно быть имя файла, который вы хотите запустить с помощью Wine. Если исполняемый файл находится в переменной окружения Path, можно просто напечатать его имя. Если же файл не входит в Path, то нужно указать полный путь к исполняемому файлу (в формате Windows, а не Юникс!). Например, дана такая переменная окружения Path:
Path=»c:windows;c:windowssystem;e:;e:test;f:»
Вы можете запустить файл c:windowssystemfoo.exe при помощи:
$ wine foo.exe
Однако файл c:myappsfoo.exe придется запускать командой:
$ wine c:\myapps\foo.exe
(обратите внимание на двойной обратный слэш!)
Обзор WINE для Linux. Можно запускать приложения Windows без суеты!
О подробностях запуска исполняемых файлов в текстовом режиме (CUI) смотрите раздел ниже.
4.3. Графический интерфейс Wine, подобный интерфейсу «Проводника» Windows
Если вы предпочитаете управлять вашими файлами при помощи графического менеджера, то вам стоит использовать Winefile. Это приложение Winelib поставляется с Wine и находится вместе с прочими программами Wine. Оно удобно, чтобы видеть конфигурацию ваших дисков, и для поиска файлов, плюс к тому, вы можете запускать программы прямо из Winefile. Пожалуйста, имейте в виду, что многие функции пока не реализованы.
4.4 Опции командной строки Wine
4.4.1. —help
Показывает небольшую страничку помощи.
4.4.2. —version
Показывает номер версии Wine. Полезно для проверки вашей инсталляции.
4.5. Переменные окружения
4.5.1. WINEDEBUG=[channels]
Wine небезупречен и многие Windows программы идут под Wine не без ошибок. Справедливости ради надо сказать, что множество Windows программ идут с ошибками и под настоящим Windows! Чтобы упростить людям отслеживание причин каждой ошибки, Wine поставляет множество каналов отладки (debug channels), которыми вы можете воспользоваться.
Внутри каждого отладочного канала, вы можете задать класс сообщений, чтобы отфильтровывать степень серьезности ошибок. Четыре класса сообщений суть: 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. В следующих версиях каналы будут добавлены (или убавлены).
Таблица 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 | |
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]
Не всегда возможно запустить приложение, используя встроенные DLL. Иногда «родные» Виндовские DLL просто лучше работают. Хотя эти замены DLL могут быть произведены при помощи winecfg, вы можете использовать переменную окружения WINEDLLOVERRIDES для их настройки.
Для примера: вы хотите, чтобы Wine использовал «родные» ole32.dll, oleaut32.dll и rpcrt4. Тогда запускайте Wine такой командой:
$ WINEDLLOVERRIDES=»ole32,oleaut32,rpcrt4=n» wine program_name
В разделе замена DLL вы найдете дополнительную информацию по этому вопросу.
4.5.3. Настройка OSS звуковых драйверов
Если у вас звуковые драйвера OSS и есть несколько устройств (например, /dev/dsp*, /dev/mixer*), вы можете выбрать какое именно вы хотите использовать, при помощи переменных окружения
$ AUDIODEV=/dev/dsp4 MIXERDEV=/dev/mixer1 MIDIDEV=/dev/midi3 wine program_name
4.6. Опции командной строки wineserver’а
Wineserver обычно стартует автоматически, как только запускается первый Wine процесс. Однако wineserver имеет несколько полезных опций командной строки, которые можно использовать, если запускать его вручную, например, используя скрипт при залогинивании пользователя, или еще как-нибудь.
4.6.1. -d
Устанавливает значение ошибки , при котором wineserver начинает вывод наладочной информации в терминале. Другими словами: всякое значение, отличное от 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. Однако, в силу того, что wineserver загружает множество вещей при старте (например, данные целого реестра Windows), его последующий старт может быть весьма долгим, так что полезно удержать его от закрытия после окончания сессии Wine, сделав его постоянным.
4.6.5. -w
Этот параметр заставит новый wineserver повременить со стартом, дав время текущему закончить работу.
4.7. Настройка переменных окружения Windows/DOS
Ваша программа может нуждаться в правильной установке переменных окружения для своей нормальной работы. В этом случае устанавливать переменную окружения нужно в Linux shell, а уже Wine переведет все переменные окружения в соответствующее пространство Windows. Вот пример для оболочки bash (у других оболочек может быть другой синтаксис!):
Это обеспечит доступ вашей Windows программы к переменной окружения MYENVIRONMENTVAR, когда вы запустите программу при помощи Wine. Если вы хотите установить MYENVIRONMENTVAR на постоянной основе, вы можете поместить настройку в файл /etc/profile, или также, в случае bash, в файл ~/.bashrc.
Имейте однако, в виду, из этого правила есть исключения: Если вы захотите таким способом изменить переменные окружения PATH, SYSTEM или TEMP, вы, ни в коем случае не должны действовать подобным образом, потому что измените настройку переменных окружения Юникс. Вместо этого вам следует установить их в реестр. Чтобы сделать это запустите Wine regedit, и найдите ключ
Теперь вы можете создавать или изменять значения переменных как вам нужно
Эта запись определит нахождение системных файлов Windows. Системная директория Windows должна располагаться ниже директории, с установками Windows. Если у вас путь (path) к Windows такой: /usr/local/wine_c/windows, то системная директория будет: /usr/local/wine_c/windows/system. Это должно быть прописано без закрывающего слэша, и вы должны иметь право записи в эту директорию.
Это директория, где будут сохраняться ваши временные файлы, /usr/local/wine_c/temp из нашего предыдущего примера. И снова, никаких закрывающих слэшей и право на запись!!
Эта запись ведет себя как настройки PATH в Юникс системах. Если запустить пасьянс в Wine следующим образом:
то он запустится, если файл sol.exe находится в одной из директорий, включенных в Path (конечно, если файл sol.exe находится в рабочей директории, он тоже запустится). Убедитесь, что в Path всегда прописаны ваши Windows и системная директории. Для этого нужно иметь запись «c:\windows;c:\windows\system».
4.8 Программы с текстовым выводом (CUI: консольный интерфейс пользователя)
Программами с текстовым выводом являются программы, вывод которых состоит из одного текста (удивительно!). По терминологии Windows они называются CUI исполняемыми файлами, в отличие от GUI (графический интерфейс пользователя) исполняемых файлов. Win32 API обеспечивает комплект API, чтобы контролировать ситуацию, которая начинается с базовых свойств (типа печати текста), простирается до функций высокого уровня (полноэкранное редактирование, поддержка цвета, движения курсора, поддержка мыши), по пути включая такие свойства, как линейное редактирование и поддержка потоков ввода.
Решая столь широкий диапазон свойств, и их современное применение в мире Юникс, Wine действует тремя различными способами для запуска консольных программ (aka CUI исполняемые файлы):
bare streams — исходные потоки
wineconsole with user backend — с пользовательским выходным буфером
wineconsole with curses backend — с обязательным выходным буфером
Эти имена звучат немного загадочно и непонятно. «bare streams» (исходные потоки) — означает, что Wine не осуществляет никаких дополнительных преобразований, а просто передает ввод с консоли Юникс на консоль Windows. Два других способа подразумевают использование специальной программы Wine (wineconsole), которая обеспечивает дополнительные возможности и средства. Следующая таблица описывает, что вы можете (и чего не можете) делать в этих трех вариантах.
Таблица 2. Основные различия в консолях
$ wine foo.exe
$ wineconsole — —backend=user foo.exe
$ wineconsole foo.exe
4.8.1 Настройка CUI исполняемых файлов
При использовании wineconsole возможны несколько настроек. Wine (как и Windows) имеет в реестре несколько опций для каждого приложения.
Это позволяет пользователю, к примеру, установить размер экранного буфера, желательного для данного приложения.
- Default (По умолчанию): это установит настройки, общие для всех приложений, которые еще не были сконфигурированы. Итак, когда приложение впервые запускается (на вашей машине и под вашим аккаунтом) в wineconsole, wineconsole унаследует эти настройки по умолчанию для этого приложения. Впоследствии приложение будет иметь собственные настройки, которые вы уже сможете изменять по своему усмотрению.
- Properties (Свойства): редактирует настойки приложения. Когда вы закончите редактировать, у вас спросят, хотите ли вы: 1. Сохранить новые настройки только на время данного сеанса (когда вы в следующий раз запустите это приложение, вы не увидите своих изменений). 2. Использовать новые настройки в данном сеансе и сохранить их на будущее, так что в следующий раз вы снова сможете ими воспользоваться.
Таблица 3.Опции настройки Wineconsole
- Стиль Emacs: работают те же сочетания клавиш, что и в Emacs. Например, Ctrl-A вернет курсор на начало строки. Для изучения деталей смотрите руководство Emacs.
- Стиль Win32: это стандартные для Windows сочетания клавиш (в основном при помощи стрелок).
Источник: rus-linux.net
Установка Windows приложений в Linux
Сегодня покажу, как запускать программы разработанный под Windows в Linux Mint 20, который мы ранее установили и настроили.
Сразу предупреждаю, что не все Windows приложения корректно работают в Linux. Все зависит от того, насколько приложение сложное, объемное в своей конструкции. Тем не менее большое количество программ Windows запускаются в Linux без каких либо проблем, и сегодня я вам это продемонстрирую.
Введение
Для запуска Windows приложений в среде Linux существует программное обеспечение с открытым исходным кодом – Wine. В интернете существует много статей по её установке в Linux Mint и все они различаются между собой. Очень часто натыкался на нерабочие инструкции и приходилось много ковырять руками. В данной заметке я постараюсь описать рабочий и то же время простой вариант установки для Linux Mint 20.
По причине того, что проект Wine активно развивается и его новые версии выходят часто, в стандартных репозиториях Linux Mint обычно находятся не самые новые версии. Мы же подключим репозиторий разработчика и установим свежую версию программы, выполним её начальную настройку, после чего установим и запустим парочку Windows приложений для демонстрации.
Установка Wine в Linux Mint 20
Для начала необходимо включить поддержку архитектуры i386, чтобы также была возможность запускать 32-битные Windows приложения. Открываем терминал и выполняем такую команду:
sudo dpkg —add-architecture i386
Для подключения сторонних репозиториев (где могут находиться программы, которых нет в стандартных репозиториях Linux Mint), необходимо импортировать gpg ключ разработчика.
Процедура импорта ключа требуется для подтверждения подлинности устанавливаемых в систему пакетов.
Также подразумевается, что подключая репозитории вручную вы доверяете их владельцам.
Добавляем официальный ключ репозитория Wine. Выполняем две команды:
wget -nc https://dl.winehq.org/wine-builds/winehq.key sudo apt-key add winehq.key rm ./winehq.key
Первая команда загружает файл ключа по прямой ссылке, а вторая команда импортирует скачанный ключ в список доверенных.
После импорта ключа подключаем официальный репозиторий Wine такой командой:
sudo add-apt-repository ‘deb https://dl.winehq.org/wine-builds/ubuntu/ focal main’
В этой команде focal обозначает версию операционной системы. К примеру для Linux Mint 21 вместо focal будет bionic .
После подключения нового репозитория необходимо обновить кэш пакетов, чтобы наша ОС узнала о новом источнике ПО. Выполняем в терминале:
sudo apt update
В репозитории разработчика Wine доступны стабильные и тестовые версии. Не будем рисковать и установим последнюю стабильную версию:
sudo apt install —install-recommends winehq-stable
Настройка Wine
Осталось пару моментов. Перед установкой и запуском Windows программ, необходимо, чтобы Wine создал и сконфигурировал рабочее Windows окружение. По умолчанию создается 64-битное окружение. Для запуска конфигурирования вводим в терминал команду:
winecfg
После чего Wine приступит к созданию окружения. Это займет некоторое время. После у вас должно появится вот такое окошко:
Выставляем Windows 10 и закрываем его.
Пример установка Windows программы в Linux
Теперь для демонстрации установим notepad++ и попробуем его запустить. После установки Wine файлы с расширением .exe будут открываться им по умолчанию. Поэтому просто скачиваем нужный exeшник и открываем его в файловом менеджере или через ПКМ –> Открыть с помощью:
Затем проходим обычные этапы установки Windows программ. Можно даже оставить галочку для создания ярлыка на рабочем столе. Устанавливаем и запускаем:
Обратите внимание, что в просмоторщике файлов Wine, при открытии и сохранении документов, в разделе Мой компьютер – есть диск Z – это путь “/” – корень в вашей Linux системе.
Все программы установленные с помощью Wine – также отображаются в главном меню:
Окружение Wine по умолчанию создаётся в папке /home/username/.wine
В Linux точка перед названием файла/папки означает, что файл/папка скрытый.
Чтобы увидеть скрытые файлы в Nemo вызовите контекстное меню и установите соответствующую галочку:
В данной директории находится дерево файлов в формате Windows:
Соответственно, наш notepad++ будет находиться в папке Program files.
Запуск портативных Windows программ
Для Wine также не проблема запускать портативные приложения. Для этого необходимо (как думаете?) просто запустить их.
Пример с запуском приложения для работы с роутерами Mikrotik – winbox:
Всё прекрасно работает. Единственный нюанс, в таком случае программа не устанавливается в окружение Wine и не будет отображаться в главном меню. Для этого придётся находить и запускать файл в ручную. Но это уже мелочи.
На этом сегодня всё. Спасибо, что читаете. Успехов вам
Источник: r4ven.me
Как запускать приложения и игры Windows с помощью Linux Wine
Есть ли способ заставить программное обеспечение Windows работать в Linux? Один из ответов – использовать Wine, но хотя он может быть очень полезен, он, вероятно, должен быть только последним средством. Вот почему Вы начинающий пользователь Linux.
Возможно, вы являетесь беженцем Windows XP, возможно, вы не согласны с Windows 10, а может быть, вы просто любите играть с новыми операционными системами Независимо от причины, по которой вы решили попробовать Linux, вероятно, есть несколько программ Windows, которых вам не хватает. Есть ли способ заставить программы Windows работать в Linux? Как оказалось, есть. Он называется Wine, и хотя он может быть очень полезен, вероятно, он должен быть только последним средством. Вот почему, и как начать работу, если вы не можете найти альтернативу любимому приложению Windows
Что такое Wine?
Wine – это уровень совместимости, который позволяет запускать программное обеспечение Windows на машинах Linux.(Он также работает на компьютерах Mac, но это уже совсем другая статья). Стоит отметить, что это не эмулятор: здесь нет виртуального процессора, и вам не нужна копия Windows, запущенная в фоновом режиме.Wine запускает программное обеспечение Windows напрямую Если вас смутил приведенный выше абзац, просто знайте, что Wine – это инструмент, позволяющий запускать некоторые программы Windows на системах Linux Если вы предпочитаете Microsoft Office Libre Office, или Photoshop GIMP, Wine потенциально дает вам возможность выбора. Вы можете загрузить Wine прямо сейчас, используя менеджер пакетов вашего дистрибутива, и попробовать некоторые программы. Но есть и обратная сторона
Почему нативные приложения всегда лучше
‘Я могу перейти на Linux и сохранить все свои программы?’, – возможно, скажете вы.’Подпиши меня!’ Не так быстро. Хотя существует множество приложений для Windows, которые хорошо работают с помощью Wine, это не обязательно будет просто и стабильно. Установка может быть хлопотной, и даже если вы получите работающую программу, есть вероятность, что она будет регулярно падать.
Обновления Wine часто ломают ранее работавшие программы, и если вы не умеете устранять неполадки, вам будет трудно понять, что происходит В общем, Wine – это вариант, но он не всегда стабилен и, конечно, не очень удобен для начинающих пользователей Linux По этой и другим причинам почти всегда лучше найти родную программу, которая справится с поставленной задачей. Это особенно верно для игр, сложных программ, где многое может пойти не так. Найти родную игру для Linux в Steam всегда лучше Но это, пожалуй, еще более важно для программ, обеспечивающих производительность, где сбои могут стоить вам времени и денег. Прежде чем пытаться запускать программы с помощью Wine, ознакомьтесь с нашим списком лучших программ для Linux и посмотрите, есть ли альтернатива Подводя итог: Wine следует использовать в крайнем случае , или потому что вы хотите побаловаться с ним
Никакого вина, пока не закончите домашнюю работу
Допустим, вы хотите запустить Microsoft Word. Попытка установить последнюю версию этой программы почти наверняка не сработает, потому что она использует всевозможные новые функции Windows, которые Wine еще не реализовал. Но какая версия будет работать? Чтобы узнать это, зайдите в базу данных приложений Wine. Это составленный пользователем репозиторий приложений Windows, которые, как известно, работают с помощью Wine Найдите программу, которую вы хотели бы запустить, и вы увидите рейтинги для различных версий программы. От самой высокой до самой низкой:
- Platinum : Работает безупречно, без необходимости внесения изменений.
- Gold : Работает без проблем, но вам придется немного подправить Wine, чтобы все заработало.
- Серебро : Работает с настройками, но есть несколько незначительных проблем, которые, хотя и раздражают, не должны сильно повлиять на ваше использование.
- Мусор : Даже не пытайтесь.
Иногда последняя версия какого-либо программного обеспечения работает плохо, поэтому отслеживание более старой версии, вероятно, является хорошей идеей. Вернувшись к Wine App DB, перейдите к версии, которая работает, и вы найдете заметки и советы от других пользователей Linux. Обратитесь к нему, если у вас возникли проблемы с установкой программного обеспечения
Стоит отметить, что информация не обязательно будет относиться к самой последней версии Wine: иногда программы, которые раньше работали, перестают работать по разным причинам
Простой режим: PlayOnLinux автоматизирует установку
Если все это кажется вам непосильным, я рекомендую вам ознакомиться с PlayOnLinux. Это простое приложение, которое автоматизирует установку многих программ, в частности, нескольких игр
Приложение предлагает интерфейс типа App Store – просмотрите его и узнайте, предлагается ли приложение, которое вы хотите установить. Если это так, вам будет предложено пройти процесс установки вашего программного обеспечения. В некоторых случаях вам потребуется доступ к компакт-диску с программным обеспечением; в других случаях PlayOnLinux загрузит его за вас
Отчасти, что делает эту программу приятной, так это ее подход к обеспечению работы программ: в основном, если есть версия Wine, которая, как известно, хорошо работает с определенной программой, PlayOnLinux загрузит эту версию. Это означает, что вам не нужно беспокоиться о том, что ваши приложения сломаются