wine是linux下一款比较出色的运行Windows应用的工具。不过如果我们直接用apt install安装,那么只能安装很旧的版本。在此我想分享一下我编译安装wine的过程。 说在前面的是,wine分为32位和64位,一般我们用的是wine32位,因为大多数Windows程序还是32位的,32位wine只能运行32位应用,64位wine只能运行64位应用。与此同时还可以编译具有WoW64特性的wine,也就是既能运行32位应用也可以运行64位应用的,这个在下面会分别讲述。个人推荐使用Debian 10 64位系统进行编译。 下面开始吧! 1,下载wine源码并解压 去wine官网下载源码并解压。官方所有版本源码下载 备用地址 2, 安装编译wine必须的依赖库 编译wine源码必须要安装一些依赖库来执行编译和一些功能软件包来完善wine的功能,否则无法编译。这是官方给出的需要的库的列表以及各个发行版上的包名: Library name(库名称) Debian Fedora Arch Function(作用) Notes(说明) Generally necessary(平常基本需要的库) MinGW cross-compiler gcc-mingw-w64 mingw32-gcc, mingw64-gcc mingw-w64-gcc PE format DLLs ALSA libasound2-dev alsa-devel alsa-lib Sound backend At least one is necessary for sound. PulseAudio libpulse-dev libpulse-devel libpulse libdbus libdbus-1-dev dbus-libs dbus Dynamic device detection (specifically, mass storage) Removable drives may be incorrectly detected otherwise. libfontconfig libfontconfig-dev fontconfig-devel fontconfig Host font enumeration Install if you want host fonts to be detected. libfreetype libfreetype-dev freetype-devel freetype2 FreeType font reading libgnutls libgnutls28-dev gnutls-devel gnutls Cryptography libinotify N/A N/A N/A File change notification Only necessary for some platforms (Linux does not need this.) libjpeg libjpeg62-turbo-dev libjpeg-turbo-devel libjpeg-turbo Image format decoding libpng libpng-dev libpng-devel libpng libtiff libtiff-dev libtiff-devel libtiff OpenGL libgl-dev mesa-libGL-devel mesa Hardware-accelerated/3D graphics libunwind libunwind-dev libunwind-devel libunwind Exception unwinding Necessary for x86_64 and arm64, but not used on other platforms. libX* Window management libxml, libxslt libxml2-dev, libxslt1-dev libxml2-devel, libxslt-devel libxml2, libxslt XML parsing Needed for many applications(大多数程序运行需要的) libfaudio libfaudio-dev libFAudio-devel faudio XAudio implementation Needed for audio in some newer applications, especially games. (XAudio was initially released in 2008.) libgstreamer libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev gstreamer1-devel, gstreamer1-plugins-base-devel gstreamer, gst-plugins-base-libs Multimedia playback Generally necessary for games or applications that play back audio or video files. libmpg123 libmpg123-dev mpg123-devel mpg123 mp3 decoding Generally necessary for games or applications that play back audio files. OSMesa libosmesa6-dev libOSMesa-devel mesa OpenGL bitmap support libSDL2 libsdl2-dev SDL2-devel sdl2 HID joystick support Generally necessary for joystick or other HID support. Only one library is necessary, but they may exhibit different behaviour. libudev libudev-dev ? systemd libvkd3d libvkd3d-dev libvkd3d-devel vkd3d Direct3D 12 Needed for some games. (Direct3D 12 was released in 2016.) Vulkan libvulkan-dev vulkan-headers, libvulkan-loader vulkan-icd-loader, vulkan-headers Hardware-accelerated/3D graphics Necessary for some games; only supported by some video cards. Rare or domain-specific(很少需要用到的) libcapi20 libcapi20-dev (none) (none) ISDN/telephony Install only if you're using ISDN software. liblcms liblcms2-dev lcms2-devel lcms2 Color management Rarely needed. libcups libcups2-dev cups-devel libcups Printing Install only if you need printer support. libgphoto2 libgphoto2-dev libgphoto2-devel libgphoto2 Scanner/still image Install only if you're using scanner/still image software. libsane libsane-dev sane-backends-devel sane libgsm libgsm1-dev gsm-devel gsm GSM audio codec Very rarely needed, and generally only in older software. Kerberos libkrb5-dev krb5-devel krb5 Kerberos authentication Install only if you're connecting via Kerberos. LDAP libldap2-dev openldap-devel libldap LDAP remote directory protocol Install only if you're using remote directories. libnetapi samba-dev samba-devel smbclient Networking Rarely needed. OpenCL ocl-icd-opencl-dev ocl-icd-devel ocl-icd Parallel computing / GPGPU Install if you're using parallel computing or GPGPU software. libpcap libpcap-dev libpcap-devel libpcap Packet capture Install if you are using applications that require packet capture. (This replaces native wpcap.dll shipped by applications.) libusb libusb-1.0-0-dev libusbx-devel libusb USB device support Install only if you're using an application that accesses a USB device directly. libv4l2 libv4l-dev libv4l-devel v4l-utils Video capture Install only if you're capturing video. Never necessary(几乎不需要的) libhal (none) (none) (none) Dynamic device detection Obsolete; use libdbus instead. OpenAL libopenal-dev openal-soft-devel openal Audio engine Should never be needed. (This replaces native openal32 shipped by applications.) 可见其实并不是所有的库都需要,不过能安装的我们可以都安装了,以备不时之需。 为了方便起见,这里提供一键安装所有依赖的命令如下,打开终端输入下列命令安装所有必须的依赖包(这里给出Debian10的一键安装依赖命令,其它系统大同小异): Debian 10 32位: sudo apt install flex bison gcc make gcc-mingw-w64 libasound2-dev libpulse-dev libdbus-1-dev libfontconfig1-dev libfreetype6-dev libgnutls28-dev libjpeg62-turbo-dev libpng-dev libtiff-dev libunwind-dev libx11-dev libxml2-dev libxslt1-dev libfaudio-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libmpg123-dev libosmesa6-dev libsdl2-dev libudev-dev libvkd3d-dev libvulkan-dev libcapi20-dev liblcms2-dev libcups2-dev libgphoto2-dev libsane-dev libgsm1-dev libkrb5-dev libldap2-dev ocl-icd-opencl-dev libpcap-dev libusb-1.0-0-dev libv4l-dev libopenal-dev libjxr-dev Debian 10 64位: sudo dpkg --add-architecture i386 sudo apt update sudo apt install flex bison gcc make gcc-mingw-w64 libasound2-dev libpulse-dev libdbus-1-dev libfontconfig1-dev libfreetype6-dev libgnutls28-dev libjpeg62-turbo-dev libpng-dev libtiff-dev libunwind-dev libx11-dev libxml2-dev libxslt1-dev libfaudio-dev libgstreamer1.0-dev libmpg123-dev libosmesa6-dev libudev-dev libvkd3d-dev libvulkan-dev libcapi20-dev liblcms2-dev libcups2-dev libgphoto2-dev libsane-dev libgsm1-dev libkrb5-dev libldap2-dev ocl-icd-opencl-dev libpcap-dev libusb-1.0-0-dev libv4l-dev libopenal-dev libjxr-dev libasound2-dev:i386 libpulse-dev:i386 libdbus-1-dev:i386 libfontconfig1-dev:i386 libfreetype6-dev:i386 libgnutls28-dev:i386 libjpeg62-turbo-dev:i386 libpng-dev:i386 libtiff-dev:i386 libunwind-dev:i386 libx11-dev:i386 libxml2-dev:i386 libxslt1-dev:i386 libfaudio-dev:i386 libgstreamer1.0-dev:i386 libgstreamer-plugins-base1.0-dev:i386 libmpg123-dev:i386 libosmesa6-dev:i386 libsdl2-dev:i386 libudev-dev:i386 libvkd3d-dev:i386 libvulkan-dev:i386 libcapi20-dev:i386 liblcms2-dev:i386 libcups2-dev:i386 libgphoto2-dev:i386 libsane-dev:i386 libgsm1-dev:i386 libkrb5-dev:i386 libldap2-dev:i386 ocl-icd-opencl-dev:i386 libpcap-dev:i386 libusb-1.0-0-dev:i386 libv4l-dev:i386 libopenal-dev:i386 libjxr-dev:i386 一些系统安装时可能出现依赖版本问题,例如下列情况: 这是因为要安装的编译库自己所依赖的软件包的版本不对,可能是即将要被自动安装的依赖包版本太新或者本地计算机上面已经安装的相应的依赖库版本太新。(上图中的libfontconfig1-dev依赖libfontconfig1的2.11.0-6.7+b1版本,libfreetype6-dev依赖libfreetype6的2.6.3-3.2版本 )解决方法也很简单,把上面不对的软件包降级即可。 降级方法: sudo apt install 包名=指定的包的版本号 那么就上图的情况而言,我就要通过下面的命令把libfontconfig1和libfreetype6分别降级至2.11.0-6.7+b1版本和2.6.3-3.2版本: sudo apt install libfontconfig1=2.11.0-6.7+b1 sudo apt install libfreetype6=2.6.3-3.2 这样解决了编译库的依赖问题,再执行上述安装编译依赖库的命令即可正常安装所有依赖库了! 然后linux自带的oss(open sound system)版本较老,而wine的编译和运行也会用到新版本的oss(至少v4)(oss也是非必须的,不安装新版本不影响wine的编译和日常运行,但是推荐安装以丰富其功能),我们需要去oss官网下载linux的安装包,对应系统架构(32位还是64位):官方下载地址 备用下载地址 然后使用dpkg -i 命令安装即可。 3,开始编译源码 需要说在前面的是,wine即可以编译出单独的32位版本或者64位版本,也可以编译出32和64位兼具的版本(带有WoW64特性的)。单独的32位版本只能运行32位程序,单独的64位版本只能运行64位程序,且单独的32位版本和64位版本的wine不可以合并共存,没有特殊需求只编译32位版本可以满足大多数需求(毕竟平常大多数程序都是32位的)。 当然编译32位和64位兼具的版本更加强大,因为编译完成的程序已经同时包含了wine和wine64,可以运行32位或者64位程序。 下面我将分别介绍这两种情况的编译方法,大家根据需求选择其中的一种即可。 (1)编译单独的32/64位版本 解压了wine源码之后。用cd命令进入解压后的源码所在文件夹,依次执行: ./configure make 这时默认编译的是32位的wine。 如果你要编译64位的wine,就执行: sudo apt install libgstreamer-plugins-base1.0-dev libsdl2-dev sudo apt autoremove ./configure --enable-win64 make 可以看到,编译64位wine时又要补齐上2个软件包。其实这些软件包在上述安装依赖时已经安装了其对应的32位(i386)版本了,但是这2个软件包的32位和64位版本不可共存,因此上述安装依赖时未安装其64位版本。因此此处先安装,安装时会自动卸载其32位版本。若以后又要编译32位版本,再安装回其32位版本即可(apt install命令中软件包后面加上:i386即可),但是64位版本会被自动移除。 然后就开始编译了。编译可能需要一个多小时才能完成,这个时候可以把它挂着,然后品一杯咖啡再回来。 当然如果说机器性能足够好,想要快速构建可以使用多线程编译,在make命令时加上参数-j,j后面的数字代表你指定的线程数,例如: make -j4 即为4线程编译。下面的make命令都可以加上这个-j参数多线程编译。 编译完成后,执行下列命令来安装: sudo make install 或者可以通过下列命令把wine安装至指定位置: make DESTDIR=要安装到的文件夹(绝对路径) install (2)[推荐]编译32位和64位兼具的wine(包含WoW64特性) 首先我们建立两个文件夹,并把源码都解压到两个文件夹里,这两个文件夹分别编译32位和64位wine源码,两个架构我们都需要编译。我这里在同一个目录下创建了wine32,wine64两个文件夹,并把源码都解压进去了。 先编译64位wine,我这里命令行如下: cd wine64 sudo apt install libgstreamer-plugins-base1.0-dev libsdl2-dev sudo apt autoremove ./configure --enable-win64 make 等待64位的编译完成,再去编译32位的wine: cd ../wine32 sudo apt install libgstreamer-plugins-base1.0-dev:i386 libsdl2-dev:i386 sudo apt autoremove ./configure --with-wine64=../wine64 make 可见编译32位wine时通过--with-wine64参数指定了已编译完成的wine64位的目录,这样编译32位wine时,程序会注入64位版本处理32位程序所需的库。 等待全部编译完成之后,分别进入两个文件夹执行安装命令即可(指定了DESTDIR参数指定安装目录的话,两次指定的安装目录必须相同): #默认安装 sudo make install cd ../wine64 sudo make install #指定安装目录(两次指定的安装目录必须相同) make DESTDIR=安装目录 install cd ../wine64 make DESTDIR=安装目录 install 需要注意的是,两个文件夹都make完成后,就不能修改两个文件夹的名称以及它们的相对位置了,否则在make install 32位的wine时会导致找不到64位wine的文件夹导致make install命令失败。 这样就完成了整个过程了!输入wine命令即可使用wine。 若使用wine的过程中出现了中文乱码,可参考这个教程:链接 也可以下载宋体字体文件(simsun.ttc)并放到/usr/local/share/wine/fonts目录下。 如果你把wine安装到了别的路径(make install时使用了DESTDIR参数指定了安装目录),则你需要把宋体字体文件放到安装目录/usr/local/share/wine/fonts目录下。 例如我把wine安装到了/home/swsk33/app/wine目录下,则我要把字体放到/home/swsk33/app/wine/usr/local/share/wine/fonts目录下。 4,安装wine mono组件 wine mono是一款能够在Linux运行.NET程序的插件,在安装wine后,运行wine时会提示你安装。但是wine的自动安装很慢,所以建议去官网下载wine mono程序文件并手动安装。 先去官网下载地址下载对应版本的wine mono,下载对应版本的msi文件。 wine mono组件备用下载地址 下载msi文件: 需要注意的是,wine版本和wine mono版本必须对应,否则无法使用,对应列表如下: mono的版本最好是和上表wine版本对应。但是经过我的测试发现,对于某个版本的mono,安装至比它的对应的wine版本要高的wine里面也是可以使用的(wine向下兼容低版本mono)。例如5.1.1的mono对应的是5.19版本的wine,但是5.1.1版本的mono安装到6.0版本的wine里面也可以使用。所以大家可以根据表来选择版本。 根据上表,得知我们wine5.11版本必须用wine mono的5.1.0版本才行。 这里以下载5.1.0版本wine mono为例,下载后是一个名为wine-mono-5.1.0-x86.msi的文件。 如果你在使用make install安装wine时未指定安装路径(默认安装),则你需要先在/usr/local/share/wine目录下新建一个名为mono的文件夹,然后把下载下来的wine-mono-5.1.0-x86.msi放到mono文件夹里面即可(/usr/local/share/wine/mono下)。 如果安装时使用DESTDIR参数指定了安装路径,则需要在安装路径/usr/local/share/wine目录下新建一个名为mono的文件夹,然后把下载下来的wine-mono-5.1.0-x86.msi放到mono文件夹里面即可(安装路径/usr/local/share/wine/mono下)。 例如我把wine安装到了/home/swsk33/app/wine32目录下,则我需要在/home/swsk33/app/wine32/usr/local/share/wine目录下新建一个名为mono的文件夹,然后把下载下来的wine-mono-5.1.0-x86.msi放到/home/swsk33/app/wine32/usr/local/share/wine/mono下。 这样,wine mono组件就安装完成了! 5,安装wine gecko组件 wine gecko是用于HTML渲染的组件,也是一些应用运行所需要的。这个组件和wine mono安装方式基本相似。我们还是通过下载压缩包离线安装的形式安装。 还是先去官网下载地址下载msi文件,选择相应的版本。 wine gecko组件备用下载地址 下载msi文件(如果你是wine32位,那么只需要下载x86的文件,如果是wine64位,则需要下载x86_64和x86的两个文件): 和wine mono一样,也需要对应wine版本下载: 以我下载的wine-gecko-2.47.1-x86.msi为例,(如果是64位wine或者具有WoW64特性的wine,你需要下载wine-gecko-2.47.1-x86.msi和wine-gecko-2.47.1-x86_64.msi两个文件)。 如果你在使用make install安装wine时未指定安装路径(默认安装),则你需要先在/usr/local/share/wine目录下新建一个名为gecko的文件夹,然后把下载下来的wine-gecko-2.47.1-x86.msi(64位或者具有WoW特性的wine的话就是wine-gecko-2.47.1-x86.msi和wine-gecko-2.47.1-x86_x64.msi)放到gecko文件夹里面即可(/usr/local/share/wine/gecko下)。 如果安装时使用DESTDIR参数指定了安装路径,则需要在安装路径/usr/local/share/wine目录下新建一个名为gecko的文件夹,然后把下载下来的wine-gecko-2.47.1-x86.msi(64位或者具有WoW特性的wine的话就是wine-gecko-2.47.1-x86.msi和wine-gecko-2.47.1-x86_x64.msi)放到gecko文件夹里面即可(安装路径/usr/local/share/wine/gecko下)。 例如我把wine安装到了/home/swsk33/app/wine32目录下,则我需要在/home/swsk33/app/wine32/usr/local/share/wine目录下新建一个名为gecko的文件夹,然后把下载下来的wine-gecko-2.47.1-x86.msi放到/home/swsk33/app/wine32/usr/local/share/wine/gecko下。 例如我安装的是64位wine,且安装到了/home/swsk33/app/wine64目录下,则我需要在/home/swsk33/app/wine64/usr/local/share/wine目录下新建一个名为gecko的文件夹,然后把下载下来的wine-gecko-2.47.1-x86.msi和wine-gecko-2.47.1-x86_x64.msi放到/home/swsk33/app/wine64/usr/local/share/wine/gecko下。 这样,wine gecko组件就安装完成了! 安装完wine gecko和wine mono之后,再使用wine就不会提示让你安装这两个组件了! 6,深度系统安装qq,微信注意事项 现在wine的高版本已经可以完美运行qq2020最新版了。不过最近几天研究发现:深度Linux的桌面环境和wine3.x及其以上版本存在兼容性问题,wine3.x版本运行的应用的托盘图标在深度上面点击无响应,以及稍微大型一点的程序常常假死除非打开虚拟桌面。 总结了这几天踩得坑,我个人认为,深度的用户要想正常使用qq,微信,我给出两点建议: 1,不使用官方的wine,而是使用deepin-wine deepin-wine是深度团队基于wine 2.18版本改造的,更适合于国内软件,深度系统都集成了deepin-wine,无需另外安装。使用方法和wine基本相似。 使用deepin-wine安装qq 先初始化创建并配置wine容器: deepin-wine winecfg 如果需要自定义wine容器位置执行: WINEPREFIX=指定wine容器位置(绝对路径) deepin-wine winecfg 在出现的配置页面中,把系统设置成WindowsXP(否则qq会频繁崩溃): 再点击上面的函数库标签页, 再加入riched32和msvcp60函数库,应用: 最后再使用deepin-wine执行qq安装包即可。 打开qq之后建议先不要急着去点,等它头像等数据加载完成再操作,否则可能造成崩溃! 使用deepin-wine安装微信 现在Deepin20可以安装deepin-wine5,通过apt install安装即可。建议新版deepin使用deepin-wine5可以更好地适配微信。 和安装QQ一样,也是先创建并配置容器,命令同上。 然后百度搜索下载riched20.dll复制到你的容器里面的drive_c/windows/system32文件夹下替换原文件。 riched20备用下载地址 默认容器文件夹是用户文件夹里的.wine,那么就复制到.wine/drive_c/windows/system32文件夹下。 如果使用了WINEPREFIX参数定义了容器位置,那么就进入你定义的容器文件夹里面相应的地方,和上面类似。 然后再次运行配置((自定义容器位置的话记得前面加上WINEPREFIX=...) deepin-wine winecfg),向上面配置QQ的容器一样,设置系统为XP,添加riched32和msvcp60函数库。 再安装即可。 2,使用官方的wine,更换桌面为KDE 毕竟官方最新版wine还是可以运行更多的东西,如果想用官方的wine,建议深度用户换一个桌面环境,我建议换KDE,经测试KDE上面不会出现上述bug。 安装KDE教程 然后安装QQ,微信时和上面deepin-wine的操作基本相同,也是要改容器系统为XP,然后函数库加入msvcp60,riched20和riched32这三个库,安装微信的话必须先下载riched20.dll并替换,操作和上面基本类似,只是命令变成了wine。 新建容器并执行配置: wine winecfg 如果需要自定义wine容器位置执行: WINEPREFIX=自定义wine容器的绝对路径 wine winecfg 这样就可以正常使用qq,微信了! 7,wine编译完成后无法运行的问题 一般来说,前面安装了那些依赖库之后,可以完美运行wine了。但是当你把编译好的wine拷贝到别的机器运行时可能会出现wine因为依赖问题不能运行的情况。 在64位的linux下,使用下列几个命令添加i386架构并安装依赖库即可。 sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32z1 libc6 libasound2 libpulse0 libdbus-1-3 libfontconfig1 libfreetype6 libgnutls30 libjpeg62-turbo libpng16-16 libtiff5 libunwind8 libx11-6 libxml2 libxslt1.1 libfaudio0 libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 libmpg123-0 libosmesa6 libsdl2-2.0-0 libudev1 libvkd3d1 libvulkan1 libcapi20-3 liblcms2-2 libcups2 libgphoto2-6 libsane libgsm1 libkrb5-3 libldap-2.4-2 ocl-icd-libopencl1 libpcap0.8 libusb-1.0-0 libv4l-0 libopenal1 libjxr0 libc6:i386 libasound2:i386 libpulse0:i386 libdbus-1-3:i386 libfontconfig1:i386 libfreetype6:i386 libgnutls30:i386 libjpeg62-turbo:i386 libpng16-16:i386 libtiff5:i386 libunwind8:i386 libx11-6:i386 libxml2:i386 libxslt1.1:i386 libfaudio0:i386 libgstreamer1.0-0:i386 libgstreamer-plugins-base1.0-0:i386 libmpg123-0:i386 libosmesa6:i386 libsdl2-2.0-0:i386 libudev1:i386 libvkd3d1:i386 libvulkan1:i386 libcapi20-3:i386 liblcms2-2:i386 libcups2:i386 libgphoto2-6:i386 libsane:i386 libgsm1:i386 libkrb5-3:i386 libldap-2.4-2:i386 ocl-icd-libopencl1:i386 libpcap0.8:i386 libusb-1.0-0:i386 libv4l-0:i386 libopenal1:i386 libjxr0:i386 在32位linux下,直接使用下面的命令安装相应的运行库即可。 sudo apt install libc6 libasound2 libpulse0 libdbus-1-3 libfontconfig1 libfreetype6 libgnutls30 libjpeg62-turbo libpng16-16 libtiff5 libunwind8 libx11-6 libxml2 libxslt1.1 libfaudio0 libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 libmpg123-0 libosmesa6 libsdl2-2.0-0 libudev1 libvkd3d1 libvulkan1 libcapi20-3 liblcms2-2 libcups2 libgphoto2-6 libsane libgsm1 libkrb5-3 libldap-2.4-2 ocl-icd-libopencl1 libpcap0.8 libusb-1.0-0 libv4l-0 libopenal1 libjxr0 这样就可以正常地使用wine了! 8,[补充]wine命令的常见变量参数 刚刚安装完wine后在终端输入: winecfg 即可初始化一个wine容器,wine容器可以理解为一个极小的windows系统环境。默认容器被创建于用户文件夹的.wine文件夹下。 后续使用winecfg可以打开默认位置容器的设置面板。 wine的所有命令前面都可以加上变量,例如我们想指定wine容器的位置,使用WINEPREFIX变量即可: WINEPREFIX=/home/swsk33/wineapp winecfg 注意WINEPREFIX变量必须是绝对路径。前面指定这个变量,执行wine,winecfg等等命令时都会以你指定的文件夹为容器,windows应用也会被安装进去,容器文件夹不存在会自动创建,因此我们常常通过上述命令指定一个位置初始化一个wine容器并设定。 容器也分为32位和64位的,wine6.10默认会创建64位容器,而低版本默认创建32位容器。如果你的应用是32位的那么还是建议创建32位容器。使用WINEARCH变量指定容器的架构: # 创建32位容器 WINEARCH=win32 winecfg # 创建64位容器 WINEARCH=win64 winecfg 如果说容器已经存在且你指定的WINEARCH和它本身架构不匹配,那么就会出错,所以建议仅仅是第一次创建初始化容器时使用WINEARCH变量指定架构。 与此同时,我们在终端使用wine运行程序时会发现它在不停输出调试信息,但是平时我们并不需要, 为了减少资源浪费我们可以使用WINEDEBUG变量设定其调试级别为最低: WINEDEBUG=-all wine app.exe 可见指定其为-all即可。 这是几个常见的变量,他们其实可以组合同时使用,例如: # 指定容器路径为/home/swsk33/wineapp文件夹,指定其架构为32位,并设定为最小调试信息 WINEPREFIX=/home/swsk33/wineapp WINEARCH=win32 WINEDEBUG=-all winecfg 9,[补充]官方文档 其实我觉得wine的官方文档真的写的非常好,很详细易懂。这里给出我参考的所有官方文档列表,大家也可以作为参考: Building Wine(编译构建wine):链接 Mono(wine mono的使用):链接 Gecko(wine gecko的使用):链接 Winetricks(winetricks脚本使用):链接 ———————————————— 版权声明:本文为CSDN博主「「已注销」」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/yanhanhui1/article/details/106954393 |
|
来自: 昵称QAb6ICvc > 《电脑知识》