Chocolatey-for-wine
Chocolatey packagemanager автоматический установщик в wine, удобен для быстрой установки программ в wine (и, следовательно, для поиска багов в wine ;) ) Для некоторых багов добавлены обходные решения, например для Visual Studio Community 2022 и nodejs, подробнее далее.
Когда я скучал во время локдауна, я написал собственный winetricks(.ps1) с командами, которые считаю полезными. Просто выполните 'winetricks', чтобы увидеть их. Для некоторых команд требуется полный перезапуск wine (из-за недавних изменений в wine). Вы увидите сообщение и сессия завершится. Просто снова запустите powershell и повторите команду. Если это сделано один раз, повторять для других команд не потребуется.
Пример:
'winetricks vs22_interactiveinstaller' ( --> сессия будет завершена)
выполните 'wine powershell'
выполните 'winetricks vs22_interactiveinstaller'
(Кстати, через 'winetricks vs22_interactive_installer' вы можете выбрать, что установить через установщик Visual Studio 2022; 'winetricks vs22_interactive_installer' сейчас за десять минут довел меня до основного приложения (выбрал Desktop development with C++)).
Установка:
- Скачайте и распакуйте zip-файл релиза и выполните 'wine ChoCinstaller_0.5c.751.exe' (завершение занимает около минуты)
- Запустите установщик так: 'wine ChoCinstaller_0.5a.751.exe /s' , тогда установочные файлы (например, Powershell*.msi и dotnet48) сохраняются в
- Запустите установщик так: 'wine ChoCinstaller_0.5a.751.exe /q', чтобы предотвратить автоматический запуск окна powershell (то есть только установка).
- Проверьте, всё ли прошло хорошо: "choco install chromium" и "start chrome.exe (--no-sandbox больше не нужен с wine-8.4)"
О PowerShell:Совет: Chocolatey обычно устанавливает последнюю версию программы, которая может выявить новые баги wine. Возможно, вам повезёт больше со старой версией ПО. Пример:
choco search --exact microsoft-edge --all (--> показать все версии)
choco install microsoft-edge --version --version='135.0.3179.98'
Общая информация:
- 'wine powershell.exe' запускает консоль PowerShell-Core.
Консоль ConEmu страдает от нескольких ошибок wine:
- Ctrl^C для завершения программы, которая не возвращается в консоль, не работает. Вместо этого используйте Shift^Ctrl^C.
- Выделение текста в окне ConEmu (для копирования/вставки) не подсвечивает выделение. Включён очень грустный костыль для последних версий wine, который обходит эту проблему, так что теперь выделение должно работать.
- Если вы не вызываете его ('winetricks' в powershell-консоли), ничего не скачивается, так что никакой нагрузки нет.
- Многие действия (например powershell 5.1) требуют некоторых важных файлов для извлечения из msu-пакетов. Установка этих файлов требует сначала больших загрузок и занимает много времени при первом использовании. Но после кэширования всё происходит быстро. Например, если вы попробуете 'winetricks ps51' сначала, это займет примерно 15 минут. Некоторые другие действия займут 5 минут при первом запуске. После первого вызова действия эта проблема исчезает.
- Файлы кэшируются в каталоге MyDocuments. Если вызвать все действия, там займёт примерно 800 МБ.
- Надежда на лучший 64-битный режим для различных действий.
- Возможность извлечь файл и (попробовать) установить из msu-файла. Выполните 'winetricks install_dll_from_msu', чтобы узнать как.
- Примитивный Powershell 5.1.
- Экспериментальная установка dotnet481 и dotnet35 (может понадобиться приложениям, которым не подходит текущая установка dotnet48).
- Автоматическое завершение табуляцией. Примечание: при использовании нескольких действий с командной строки их теперь нужно разделять запятой
- Некоторые программы не устанавливаются/не запускаются через Chocolatey из-за ошибок wine. Я добавил несколько обходов в winetricks для них, см. ниже.
- Специальные действия (winetricks vs19, vs22 и vs22_interactive_installer) для установки рабочей Visual Studio Community 2019 и 2022 (см. скриншот, >10 мин на установку и требует примерно 10 ГБ!, после установки запустите devenv.exe из каталога c:\Program\ Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE/)
- Специальное действие для доступа к различным unix-командам, таким как grep, sed, file, less, curl и т.д. (winetricks git.portable, Отказ от ответственности: некоторые команды ещё не работают из-за ошибок wine)
- Также включены несколько powershell-скриптов, адаптированных из фрагментов кода, найденных в интернете:
- Как внедрить exe в powershell-скрипт через Invoke-ReflectivePEInjection (exe не будет отображаться в tasklist).
- Как делать красивые messagebox'ы
- Преобразовать powershell-скрипт (ps1) в exe.
- И ещё несколько других
Добавлена функция замены простых системных программ, например setx.exe, функцией в c:\\Program Files\Powershell\7\profile.ps1. Или добавить отсутствующие системные программы, такие как getmac.exe. Если программы не работают из-за недостаточно зрелых или отсутствующих системных программ, можно написать функцию, возвращающую то, что программа ожидает. В profile.ps1 я добавил (в числе прочего) wmic.exe с поддержкой большего числа опций, и базовый setx.exe. Или можно просто изменить аргументы, передаваемые системной программе. См. profile.ps1 и choc_install.ps1. Нет гарантии, что это работает для более сложных программ... Примечания:
- НЕ используйте на существующем wineprefix, только на свежесозданном! Установщик просто глупо устанавливает dotnet48 самостоятельно и изменяет ключи реестра.
- WINEARCH=win32 _не_ поддерживается!
- Обновление с предыдущей версии пока не поддерживается, возможно, позже
- Если вы хотите скомпилировать самостоятельно, а не скачивать бинарники: смотрите инструкции по компиляции в mainv1.c и installer.c
- Затем скопируйте choc_install.ps1 в ту же директорию
- Затем выполните 'wine ChoCinstaller_0.5a.735.exe'