HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Полное руководство по Wine: от установки до примеров использования
Оглавление
Для чего Wine
Эта инструкция расскажет об использовании Wine. Данные советы по использованию применимы как к Kali Linux, так и к любому другому дистрибутиву Linux.
С помощью Wine можно запускать программы Windows прямо на Linux без использования виртуальных компьютеров. Если говорить о Kali Linux, то одним из интересных примеров является программа Router Scan by Stas'M, которая прекрасно работает через Wine (находит и взламывает роутеры, но не работают функции, связанные с использованием Wi-Fi адаптера).
Итак, Wine — это набор программ и библиотек, которые позволяют запускать Windows приложения в Linux без использования виртуализации. Конечно, Windows программы можно запустить в Linux с использованием VirtualBox, но такой вариант потребует запуска полноценной операционной системы с соответствующими затратами ресурсов, особенно оперативной памяти — для работы Windows необходимо несколько гигабайт памяти, а также место на диске для установки — несколько десятков гигабайт. При этом важным требованием для работы VirtualBox и аналогичных виртуальных компьютеров является то, чтобы ваш центральный процессор поддерживал виртуализацию.
Wine позволяет обойти все эти ограничения — для запуска программ Windows не нужно устанавливать эту операционную систему и приложениям для работы требуется всего несколько десятков мегабайт оперативной памяти.
Но у Wine есть и недостатки — не все приложения работают хорошо или вообще работают. Тем не менее огромное количество Windows программ прекрасно запускаются и работают в Linux благодаря Wine.
Помните, что многие бесплатные программы являются кроссплатформенными и вы можете их установить из стандартных репозиториев вашего дистрибутива. Для таких программ не нужен Wine. Примеры популярных кроссплатформенных программ: LibreOffice, Google Chrome, Firefox, Double Commander, VirtualBox, Etcher, VLC, DeadBeef, GIMP, OBS Studio, Viber, Wireshark, Apache, PHP, MySQL, Calibre, Netbeans, Burp Suite, Visual Studio Code, KeePass, KeePassXC, OpenShot Dropbox, Python, Ruby, Perl, PowerShell, SSH, Vuse BitTorrent Client, FileZilla, Tor Browser, JDownloader и очень многие другие. Всем этим программам не нужен Wine, поскольку они имеют «родные» установочные пакеты для Linux.
Прежде чем пытаться установить и запустить программу через Wine, поищите её с помощью менеджера пакетов, например:
Возможности и ограничения Wine
Программа способна запускать 64-битные, 32-битные, 16-битные программы и библиотеки Windows 9x/NT/2000/XP/Vista/7/8/10/11 и Windows 3.x
Поддержка Win32 API:
- Поддержка игр и приложений на основе DirectX (поддержка Direct3D до DirectX 12)
- Поддержка игр и приложений на основе OpenGL и Vulkan
- Поддержка DirectShow с использованием GStreamer для кодеков
- Direct2D, поддержка DirectWrite
- Поддерживаются MMDevice API, XAudio, WinMM, DirectSound audio API.
- Печать через драйвер PostScript в главную систему печати (обычно CUPS)
- Драйвер расширенного метафайла (EMF) и метафайла Windows (WMF)
- Desktop-in-a-box или смешанные окна
Позволяет программе Windows взаимодействовать с:
- Графикой на основе X11, которая позволяет удалённо отображать на любом X-терминале
- Графикой на базе macOS и Android
- Шрифты X11, TrueType (.ttf/.ttc) и Windows Bitmap (.fon)
- Звуковыми устройствами через ALSA, OSS, PulseAudio, Core Audio и т. д.
- Многоязычной клавиатурой и поддержка метода ввода CJK через XIM
- Модемами, последовательными устройствами
- Сетями (TCP/IP и IPX)
- Сканерами ASPI
- Планшетами Windows через XInput (например, Wacom)
- Устройствами видеозахвата через v4l2
- Устройствами HID через IOHid (MacOS), evdev (Linux), hidraw (Linux), SDL2
Как вы можете увидеть, список впечатляющий и позволяет, к примеру, запускать игры для которых требуется DirectX и при этом выводить звук. Приложения из Wine могут работать с сетью и даже имеют доступ к некоторым аппаратным возможностям (принтеры, сканеры).
Если для работы приложения необходимы дополнительные библиотеки, например, Visual C++ Redistributable for Visual Studio, то их возможно установить в Wine и запускать приложение в среде с установленной этой библиотекой.
При этом нужно помнить о таком ограничении, как невозможность работать с устройствами напрямую, например, если для устройства требуется драйвер, то бессмысленно устанавливать Windows драйвер в Wine — вам нужно найти версию драйвер для Linux и установить её.
64-битный или 32-битный Wine?
В этой инструкции для установки Wine мы включим поддержку репозиториев для 32-битных платформ (i386) для того, чтобы скачать необходимые библиотеки. Может возникнуть вопрос, существует ли 64-битный Wine и если да, зачем нам подключать репозитории для i386 и скачивать 32-битную версию?
Да. 64-битный Wine доступен в Linux начиная с версии 1.2. Бинарные пакеты WineHQ доступны для 64-битных версий, и большинство основных дистрибутивов упаковывают их для пользователей. Обычно установка должна быть такой же простой, как установка пакета Wine для вашего дистрибутива через менеджер пакетов.
Но имеется несколько очень важных замечаний:
- 32-битный Wine работает как в 32-битных, так и в 64-битных версиях Linux/Unix. На нём будут работать 16-битные и 32-битные приложения Windows.
- 64-битный Wine работает только на 64-битных установках и пока что был тщательно протестирован только в Linux. Для запуска 32-битных приложений Windows требуется установка 32-битных библиотек. И 32-битные, и 64-битные приложения Windows (должны) работать с ним; однако есть ещё много ошибок.
- Текущий Wine включает поддержку 64-битного Wine в Mac OS X; однако это не было тщательно проверено, и некоторые приложения могут никогда не работать из-за несовместимости ABI между Win64 и OS X.
Главное, что из этого следует — даже при установке 64-битного Wine необходимо активировать 32-битные репозитории, поскольку многие приложения Windows по-прежнему являются 32-битными и в любом случае необходимо установить 32-битные библиотеки, иначе многие программы просто не будут работать.
При установке можно явно выбрать пакет wine64, но даже если вы установите wine, то им будет 64-битная версия, если у вас 64-битный Linux.
Как установить Wine
Установка Wine в Debian, Kali Linux, Linux Mint, Ubuntu и их производные
Выполните следующие команды:
После установки запустите Wine — возможно, он предложит скачать необходимые шрифты и другие компоненты:
Чтобы проверить версию Wine выполните команду:
Установка Wine в Arch Linux
Откройте текстовый файл /etc/pacman.conf:
В нём найдите и раскомментируйте строки (убедитесь, что раскомментировали обе строки, иначе изменения не вступят в силу):
Обновите информацию о пакетах:
Как запустить программу в Wine
Запуск двойным кликом по исполнимому файлу
Для запуска Windows приложений в Linux обычно достаточно дважды кликнуть по ним. Но может быть так, что .exe файл будет открываться менеджером архивов или другим приложением (обычно менеджером архивов).
В этом случае кликните по файлу правой кнопкой мыши, выберите пункт «Открыть с помощью» и выберите Wine.
Если у вас в контекстном меню не появился Wine, то сделайте так:
- нажмите правой кнопкой на приложение, которое хотите запустить
- выберите «Открыть с помощью», а затем «Другое»
- поставьте галочку «Пользовательская команда» и там, где строка для ввода, введите wine. Поставьте галочку «Сохранить ассоциацию» и «Установить как приложение по умолчанию», нажмите ОК. Теперь все .exe файлы будут открываться двойным кликом.
В Ubuntu ( GNOME 3) в контекстном меню отсутствует Wine и невозможно добавить пользовательскую команду. Для исправления выполните следующее:
Если столкнётесь с ошибкой, что файл wine.desktop отсутствует, то найдите его с помощью следующей команды и отредактируйте приведённую выше команду:
Кликните правой кнопкой мыши по .exe файлу и выберите пункт, который называется «Открыть в другом приложении».
Затем выберите «Посмотреть все приложения».
Нажмите на «Wine — загрузчик Windows программ» и затем нажмите кнопку «Выбрать».
Обратите внимание, насколько экономно используется оперативная память — для работы Router Scan by Stas'M в Kali Linux нужен всего 1 мегабайт оперативной памяти. Если бы для запуска этой программы мы устанавливали Windows в виртуальную машину, то потребовалось бы несколько гигабайт для работы ОС. К тому же, при использовании Wine необязательно, чтобы процессор поддерживал виртуализацию — в отличие от VirtualBox и других аналогичных способов запуска виртуальных компьютеров.
Запуск в командной строке
Поскольку программы Windows часто ищут файлы относительного того места, откуда они были запущены, при использовании командной строки вы должны запускать их очень специфическим способом: «сменить каталог» на папку, в которой расположена программа, и запустить файл .exe, используя только его имя файла. Например:
Использование wine start
В некоторых случаях может потребоваться указать полный путь к исполняемому файлу. Например, если вам нужно установить программу с нескольких компакт-дисков, ввод каталога в терминале не позволит вам извлечь компакт-диск.
Вам нужно использовать wine start, если вы укажете полный путь к .exe, потому что это позволяет Wine установить рабочий каталог для программы, если он ей нужен.
Вы можете указать Wine путь в стиле DOS или Windows в одинарных кавычках, например:
Вы также можете использовать двойные кавычки, но вам нужны две обратные косые черты вместо одной:
Если вы предпочитаете использовать путь в стиле Unix, используйте параметр /unix для запуска, например:
Передача аргументов командной строки Windows
Если вы используете программу с аргументами в Windows, например:
То вы можете сделать то же самое в Wine, запустив:
То есть командная строка идентична, за исключением wine перед ней. Обратите внимание, однако, что вам может потребоваться экранировать некоторые специальные символы обратной косой чертой из-за того, как они обрабатываются в оболочке Linux. Например:
Запуск файлов .msi
Файлы MSI нельзя запускать напрямую; вам нужно использовать либо программу Wine msiexec, либо запуск Wine с терминала:
Графическая среда Wine в стиле Explorer (Wine File Manager)
Если вы предпочитаете использовать графический интерфейс для управления файлами, возможно, вам стоит рассмотреть возможность использования winefile. Это приложение Winelib поставляется с Wine и может быть найдено с другими программами Wine. Это полезный способ просмотреть конфигурацию вашего диска и найти файлы, а также вы можете запускать программы прямо из Winefile. Обратите внимание, что многие функции ещё не реализованы.
Чтобы его открыть выполните:
Как в Wine File Manager настроить Избранное (Favorites) и добавить папки
Wine File Manager это аналог проводника Windows. Его можно открыть командой
Там вы можете увидеть несколько ярлыков и диски.
Среди ярлыков вы найдёте:
- My Computer
- Documents
- Trash
- / (корень файловой системы Linux)
В My Computer собраны все диски, подключённые к Linux. Диск «C:» это то, что размещено в папке
/.wine/drive_c/. Диск «Z:» – это корневой диск файловой системы Linux. Другие буквы — это подключённые к Linux флешки и диски.
Корневым элементов ярлыков является Desktop, то есть рабочий стол. Имеется ввиду рабочий стол Linux, а не Windows.
То есть если вы хотите, чтобы в Wine File Manager была видна новая папка, то создайте её на рабочем столе вашего Linux, например:
В эту папку вы можете скопировать любые файлы для быстрого доступа.
Также вы можете создавать ярлыки в этой папке на файлы и программы как в файловой системе Wine, так и за её пределами.
Команда для создания ярлыка:
Например, следующая команда создаст в папке
/Desktop/Favorites/ ссылку на файл
Чтобы добавить папки «Загрузки», «Видео», «Музыка» рядом с папкой «Документы» в дерево папок проводника Explorer вы можете создать соответствующие ссылки:
Если вы хотите изменить буквы дисков, то запустите Wine configuration:
И перейдите на вкладку Drives для настройки отображения дисков в Wine File Manager:
Как в Wine запустить файл .bat
Вы можете запустить файл .bat разными способами:
1. Выполните команду
Найдите файл .bat и запустите его двойным кликом.
2. Выполните команду
И найдите в окне Проводника нужный вам файл.
чтобы сразу попасть в нужную папку.
Когда найдёте файл .bat, то дважды кликните на него.
3. Вы можете запустить файл .bat в командной строке, используя конструкцию вида:
Если вы используете путь до файла в файловой системе Linux, то обязательно нужно указать опцию /unix.
Как установить программу в Wine и создать ярлык
Если программа является портативной, то вы можете поместить её в любое место на диске — необязательно в папку Wine. Кстати, по умолчанию диском C: в Wine является папка
Как уже сказано, вам необязательно помещать файлы с программой именно туда. Вы можете запускать портативные программы показанными выше способами.
Если программа распространяется в виде установщика (инсталлятора), то просто запустите этот установщик с помощью Wine. В большинстве случаев всё пройдёт как в Windows, будет выполнена обычная установка и на рабочем столе вашей Linux и в меню появится ярлык для запуска программы.
Для портативной программой вы также можете сделать ярлык. Для этого кликните правой кнопкой мыши по рабочему столу и выберите пункт «Создать кнопку запуска здесь» (в Cinnamon), «Создать значок запуска» (в XFCE) или аналогичный пункт.
Обычно есть возможность установить иконку, в том числе присутствуют иконки программ, когда-либо запускаемых в Wine.
Даже если «мастер значка запуска» позволяет указать рабочий каталог, то лучше не полагаться на него. В качестве команды запуска укажите команду вида:
То есть команда для выполнения включает в себя две подкоманды — переход в нужный каталог и запуска исполнимого файла.
К примеру, исполнимый файл находится в папке /home/mial/.wine/drive_c/Program Files (x86)/foobar2000/ и называется foobar2000.exe, тогда команда запуска следующая:
Обратите внимание, что:
- указан абсолютный, а не относительный путь до папки
- если в пути содержатся пробелы или другие специальные для оболочки символы (например, скобки), то они должны быть обязательно экранированы или путь должен быть помещён в кавычки.
Другой пример, когда файл находится не на диске Wine: нужно создать ярлык для запуска файла /mnt/disk_d/Share/Conses/ConsFed/cons.exe, тогда команда запуска следующая:
Если для работы программы необходима специальная версия Wine или дополнительные компоненты, то можно найти скрипты, которые упрощают их установку, о них будет позже в разделах, посвящённых PlayOnLinux и winetricks.
Встроенные в Wine программы
В Wine имеется несколько встроенных «стандартных программ Windows».
Как удалить программу в Wine?
Если вы пользуетесь Linux, то вы наверняка знаете про такую программу, как Wine. Если не знаете, то поясню, так как программа эта очень полезная. Программа Wine служит для запуска Windows приложений в Linux. Зачем это нужно? Да все очень просто. Как вы знаете, в Windows есть программы, которым нет аналогов в Linux. И вот для запуска таких программ и нужен Wine.
Примечательно, что в Wine запускаются многие бесплатные программы для Windows и лично я использую некоторые полезные приложения. И что самое интересно, работают они практически, как родные.
Если у вас Wine не установлен, то это легко можно исправить. Лучше добавить её репозиторий, чтобы у вас всегда была самая свежая версия:
Затем устанавливаем программу:
Но суть статьи не в этом. Установить программу в Wine не проблема, но как удалить её, если она вам потом не нужна? Если у программы есть нормальный деинсталлятор, то его можно увидеть в меню Wine. А если его нет, то как удалить программу?
В самом Wine есть так же свой деинсталлятор, и выглядит он вот так:
Вроде все хорошо, но эта утилита работает ужасно. Попробовал я удалить Ask Toolbar, к примеру, но не тут то было, удалятся ничего не хотело. И я не удивляюсь, так как и в самой виндовс удалить программу ПОЛНОСТЬЮ не так то просто. Именно поэтому существует много программ для удаления программ в Windows. (масло масляное)
А почему бы не задействовать эти программы для удаления софта в Wine? Я постоянно пользуюсь одной такой замечательной программой — Revo Uninstaller.

Эта программа не просто удаляет приложение, но и потом ищет все оставшиеся ключи в реестры и остатки файлов там, где они могут быть. Программа бесплатна и интуитивно понятна. Попробую установить её в Wine и по-удалять ненужный софт.
Как видите, все отлично работает и тот же Ask Toolbar я с лёгкостью удалил, подчистив за ним все следы. Так же обратите внимание на статью «Как включить сглаживание шрифтов в Wine» — тоже полезная вещь:)
Да, важный момент! После каждого удаления нужно закрыть программу, и запустить заново, иначе глючит.
Но даже если у вас нет Linux и Wine, и вы пользуетесь Windows, то эта программа тем более будет вам полезна. Пользуйтесь на здоровье!
Uninstall a program installed with Wine
I am using Ubuntu 11.10. By using wine software i installed some software like nimbuzz and ibibo messenger. Both the programs are not working and showing the bug as We’re sorry, but an unknown error has caused ibibo Messenger to close.
So I wanna uninstall those.
How to uninstall those type of programs which I installed through Wine?
4 Answers 4
Type in a terminal or press Alt + F2 and type wine uninstaller will give you access to the built in Add/Remove tool from wine . From there you can uninstall a program you have installed in a bottle.
To completely remove the bottle for your user (and thus remove everything from a wine bottle and start again) you can open a terminal and type rm -rf
/.wine or as an alternative open Nautilus and in your home folder press Ctrl + H , locate the .wine folder and delete it. wine will create a new folder next time you try to use it.
Search for wine in Dash. Select Uninstall Wine software there. There you can find all the softwares and will have option to uninstall.

If you are using Gnome Fallback just go to Applications => Wine => Uninstall Wine software
/.wine/drive_c/windows/ wine syswow64/uninstaller.exe
Type «unistall wine software» in your dash and open the application.

You will see the list of applications installed, click on the one you want to unistall and click on «Remove».

I have found the answer! On the Wine menu, I clicked on "Uninstall Wine Software".
This opens an add/remove window. I just select the app and then click the "Modify/Remove" button.

However, for some reasons that I can’t understand, I have to do the same operation twice. After clicking OK three times, I still see the program on the list! When I select it and then click again on the "Modify/Remove" button I get this:

I click the "Yes" button and, finally, the app disappears from the list. But after that, I have to clean the shortcuts and folder manually. I wish I could find an easier and cleaner solution, but this one works fine anyway.
Удалите программу, установленную с помощью Wine
9 дней назад кто-то сообщил о получении этой ошибки после обновления Virtual Box с версии 5.1 до 5.2. Их решение ниже:
Я получил эту ошибку после обновления с Virtualbox 5.1 до 5.2, как установлено на Ubuntu из Virtualbox PPA. Я решил это, очистив конфигурационные файлы для 5.1, а также удалив virtualbox-dkms 5.1:
Когда вы используете Kernel 4.10.0-xx, вас может заинтересовать это если вы обновите какой-то день: эта ошибка
6 ответов
Введите терминал или нажмите Alt + F2 и введите wine uninstaller, чтобы получить доступ к встроенному инструменту добавления / удаления из wine. Оттуда вы можете удалить программу, установленную в бутылке.
Чтобы полностью удалить бутылку для вашего пользователя (и, таким образом, удалить все из бутылки вина и начать снова), вы можете открыть терминал и ввести [ f3] или в качестве альтернативного открытого Nautilus и в вашей домашней папке нажмите Alt + H, найдите папку .wine и удалите ее. wine создаст новую папку при следующем попытке ее использования.
Найдите wine в тире. Выберите Uninstall Wine software.
Если вы используете Gnome Fallback, просто перейдите в Applications => Wine => Uninstall Wine software
Введите «unistall wine software» в свою панель и откройте приложение.
Вы увидите список установленных приложений, нажмите тот, который вы хотите unistall, и нажмите «Удалить».

Я нашел ответ! В меню Wine я нажал «Unistall Wine Software».
Откроется окно добавления / удаления. Я просто выберите приложение, а затем нажмите кнопку «Изменить / переустановить».
Однако по некоторым причинам, которые я не могу понять, я должен выполнить ту же операцию дважды. После нажатия кнопки «ОК» три раза, я все еще вижу программу в списке! Когда я его выберу, а затем снова нажмите кнопку «Изменить / Удалить», я получаю следующее:

Я нажимаю кнопку «Да» и, наконец, , приложение исчезает из списка. Но после этого я должен вручную очистить ярлыки и папку. Хотелось бы мне найти более легкое и более чистое решение, но в любом случае это отлично работает.