如何在CentOS上安装和使用Wine

article/2025/9/23 16:35:25

转载:http://ghoulich.xninja.org/2016/08/09/install-and-use-wine-on-centos/

最近想要把工作环境从Windows切换到Linux系统,但公司的IM软件(豆芽)只有Windows和MAC的版本,很多常用工具也只有Windows的版本,贸然切换环境的话会给工作带来很多不便,于是便想到使用Wine安装Windows应用软件。

Wine是“Wine Is Not an Emulator”的缩写,这表明Wine不是任何一种类型的模拟器。Wine不会模拟任何硬件环境,因此它的性能要比虚拟机和容器要好得多。实际上,Wine是一个系统调用的翻译层,负责将应用程序的Windows系统调用转换为Linux系统调用。这种方式会有一定的性能损失,但实际上较新版本的Windows要兼容较老的应用程序,也会在系统中引入类似的系统调用翻译层,所以性能损失几乎可以忽略不计。

 

虽然目前最流行的桌面版Linux系统是Ubuntu,但是本人平时使用CentOS较多,因此本文只会描述如何在虚拟环境下的CentOS系统中安装和使用Wine,过几天会再写一篇如何在Ubuntu系统中安装和使用Wine的文章。

一、环境描述

1. 虚拟机配置

  • CPU:单核 2.4GHz
  • 内存:DDR3 1333 2GB
  • 硬盘:120GB
  • IP地址:10.24.16.149
  • 操作系统:CentOS 6.6 x86_64 Desktop

2. 编译环境

  • GCC:4.4.7 20120313
  • YUM源:官方Base源 + EPEL源 + RepoForge源

3. Wine

  • 版本:wine-1.9.15.tar.bz2
  • 安装方式:编译安装(本文内容)

二、添加YUM源

  1. 添加EPEL源

在Shell中运行以下命令,添加EPEL源:

 
  1. rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
  1. 添加RepoForge源

在Shell中运行以下命令,添加RepoForge源:

 
  1. rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

三、安装编译环境

在Shell中运行以下命令,安装GCC编译环境:

 
  1. yum update -y
  2. yum groupinstall -y "Development Tools"

四、安装依赖包

本文会同时编译和安装32位和64位的Wine,因此必须安装32位和64位的依赖包。

在Shell中运行以下命令,安装64位的依赖包:

 
  1. yum install -y libX11-devel freetype-devel zlib-devel libxcb-devel libXcursor-devel libXi-devel libXext-devel libXxf86vm-devel libXrandr-devel libXinerama-devel libXcomposite-devel libGLU-devel mesa-libOSMesa-devel libpcap-devel hal-devel libv4l-devel pulseaudio-libs-devel gsm-devel lcms2-devel alsa-lib-devel audiofile-devel cups-devel dbus-devel fontconfig-devel giflib-devel lcms-devel libICE-devel libjpeg-turbo-devel libpng-devel libSM-devel libusb-devel libXau-devel libxml2-devel libXrender-devel libxslt-devel libXt-devel libXv-devel mesa-libGL-devel mesa-libGLU-devel ncurses-devel openldap-devel openssl-devel pkgconfig sane-backends-devel xorg-x11-proto-devel prelink fontforge flex bison openal-soft-devel samba-winbind

在Shell中运行以下命令,安装32位的依赖包:

 
  1. yum install -y audiofile-devel.i686 dbus-devel.i686 fontconfig-devel.i686 freetype.i686 freetype-devel.i686 giflib-devel.i686 lcms-devel.i686 libICE-devel.i686 libjpeg-turbo-devel.i686 libpng-devel.i686 libSM-devel.i686 libusb-devel.i686 libX11-devel.i686 libXau-devel.i686 libXcomposite-devel.i686 libXcursor-devel.i686 libXext-devel.i686 libXi-devel.i686 libXinerama-devel.i686 libxml2-devel.i686 libXrandr-devel.i686 libXrender-devel.i686 libxslt-devel.i686 libXt-devel.i686 libXv-devel.i686 libXxf86vm-devel.i686 mesa-libGL-devel.i686 mesa-libGLU-devel.i686 ncurses-devel.i686 openldap-devel.i686 openssl-devel.i686 zlib-devel.i686 sane-backends-devel.i686 glibc-devel.i686 libstdc++-devel.i686 pulseaudio-libs-devel.i686 gnutls-devel.i686 libgphoto2-devel.i686 openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 gettext-devel.i686 libmpg123-devel.i686 lcms2-devel.i686 mesa-libOSMesa-devel.i686 libpcap-devel.i686 hal-devel.i686

五、下载Wine源码包

在Shell中运行以下命令,下载Wine的源码包:

 
  1. cd /root/Downloads/
  2. wget http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.15.tar.bz2

六、编译安装Wine

1. 解压缩源码包

在Shell中运行以下命令,解压缩源码包:

 
  1. tar jxvf wine-1.9.15.tar.bz2
  2. cd wine-1.9.15

2. 编译安装

在Shell中运行以下命令,编译安装Wine(注意,编译耗时较长,两次编译分别需要1小时左右):

 
  1. mkdir build
  2. cd build
  3. mkdir wine64
  4. cd wine64
  5. ../../configure --prefix=/usr/local/Wine --enable-win64
  6. make -j4
  7. cd ..
  8. mkdir wine32
  9. cd wine32
  10. ../../configure --prefix=/usr/local/Wine --with-wine64=../wine64
  11. make -j4
  12. make install
  13. cd ../wine64
  14. make install

注意,在执行configure脚本进行编译前配置时,会找不到以下依赖关系(如果哪位读者能够补全这些依赖关系,请回复告知,谢谢!),如下图所示:

  • 缺少的32位依赖关系 
    缺少的32位依赖关系

  • 缺少的64位依赖关系 
    缺少的64位依赖关系

3. 添加环境变量

在Shell中运行以下命令,配置全局环境变量:

 
  1. vi /etc/profile

在上述文件的最后添加一行,内容为:

 
  1. export PATH=$PATH:/usr/local/Wine/bin

使得全局环境变量生效:

 
  1. source /etc/profile

4. 安装cabextract

若需要通过Wine安装以cab格式打包的软件,则还需要安装cabextract包:

 
  1. yum install -y cabextract

5. 安装Mono

Mono是一种开源的、跨平台的.NET框架的实现。Wine可以通过在Windows平台上编译的Mono来运行.NET应用程序。

在Shell中运行以下命令,下载和安装Mono:

 
  1. cd /root/Downloads
  2. wget http://dl.winehq.org/wine/wine-mono/4.6.3/wine-mono-4.6.3.msi
  3. mkdir -p /usr/local/Wine/share/wine/mono
  4. mv wine-mono-4.6.3.msi /usr/local/Wine/share/wine/mono/

6. 安装Gecko

Wine实现了自己版本的IE浏览器,而这种实现基于Mozilla的Gecko布局引擎。Gecko具有32位和64位两种版本。

在Shell中运行以下命令,下载和安装Gecko:

 
  1. cd /root/Downloads
  2. wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
  3. wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
  4. mkdir -p /usr/local/Wine/share/wine/gecko
  5. mv wine_gecko-2.47-x86.msi /usr/local/Wine/share/wine/gecko/
  6. mv wine_gecko-2.47-x86_64.msi /usr/local/Wine/share/wine/gecko/

7. 配置Wine

在Shell中运行以下命令,分别配置32位和64位的Wine:

 
  1. WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
  2. WINEARCH=win64 WINEPREFIX=~/.wine64 winecfg

执行上述两个命令时,会分别创建Wine的32位和64位的工作目录,并且会自动安装上文下载的Wine和Gecko组件,最后会打开Wine的配置窗口。在配置窗口中,最好将两个版本的Wine都配置为Windows 7的兼容性,如下图所示:

Wine的系统兼容性配置

8. 安装Winetricks

Winetricks是一个很方便的工具脚本,当需要通过Wine运行某些程序时,这个脚本便可用于下载和安装各种必需的可再发行的运行时库。这些运行时库可能会使用一些闭源的库文件替换Wine的某些组件。注意,这个脚本下载和安装的软件全部都是32位平台的,即使是在Wine64的环境下,其安装的软件也都是32位的(一般安装在~/.wine64/drive_c/Program Files (x86)/目录中)。在Shell中运行以下命令,下载和安装Winetricks:

 
  1. cd /root/Downloads
  2. wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
  3. chmod 755 winetricks
  4. mv winetricks /usr/local/Wine/bin

9. 验证测试

在Shell中运行以下命令,运行winetricks脚本,验证Wine32是否安装成功:

 
  1. WINEPREFIX=~/.wine32 winetricks

winetricks脚本运行时会打开一个窗口,如下图所示:

Winetricks窗口

在上图中,选择Select the default wineprefix,然后点击OK按钮,进入Wine32的配置窗口,如下图所示:

Wine32的配置窗口

在上图中,选择Run uninstaller,然后点击OK按钮,进入Wine32的添加/删除程序窗口,如下图所示:

删除和添加程序窗口

由上图可知,Mono和Gecko已经在Wine32环境中成功安装了。

验证Wine64是否安装成功的步骤和Wine32几乎完全相同,需要在Shell中运行以下命令:

 
  1. WINEPREFIX=~/.wine64 winetricks

七、安装软件

现在,以豆芽(32位)和灵格斯字典(64位)为例,使用Wine安装这两个软件,并且分别设置它们的快捷键。这样便能分别验证Wine32和Wine64是否能够正常工作。

1. 设置字体

由于Wine默认不支持中文字体,因此需要将宿主机(Windows 7)的微软雅黑和宋体字体文件拷贝至Wine的相关目录中,否则运行中文软件将会出现乱码,如下所示:

  • 传输软件:Xftp 5
  • 微软雅黑源路径:C:\Windows\Fonts\msyh.ttc
  • 宋体源路径:C:\Windows\Fonts\simsun.ttc
  • Wine32目标路径:~/.wine32/drive_c/windows/Fonts/
  • Wine64目标路径:~/.wine64/drive_c/windows/Fonts/

2. 安装软件

在Shell中执行以下命令,下载豆芽和灵格斯字典的安装程序:

 
  1. cd /root/Downloads
  2. wget http://im.suning.com/updates/PC/3.5.0.2/SuningIM_PC.exe
  3. wget http://www.lingoes.cn/download/lingoes_2.9.2_x64_cn.exe

在Shell中分别执行以下两个命令,安装豆芽和灵格斯字典:

 
  1. # 安装豆芽(Wine32)
  2. LANG=zh_CN.UTF-8 WINEPREFIX=~/.wine32 wine ./SuningIM_PC.exe
  3. # 安装灵格斯字典(Wine64)
  4. LANG=zh_CN.UTF-8 WINEPREFIX=~/.wine64 wine ./lingoes_2.9.2_x64_cn.exe

注意,上述命令中的LANG=zh_CN.UTF-8环境变量表示需要使用UTF-8编码的中文,否则运行中文程序时便会出现代码。

豆芽的安装窗口如下图所示(安装过程不再赘述),可以看出使用了微软雅黑字体:

豆芽的安装窗口

灵格斯字典的安装窗口如下图所示(安装过程不再赘述),可以看出使用了宋体字体:

灵格斯字典的安装窗口

3. 设置快捷键

Windows的应用程序通常具有很多快捷键,可以大大提高操作效率,但是在Wine环境中安装的应用程序,默认却不能使用快捷键。此时,需要安装xdotool和xbindkeys,前者负责将按键转发给指定的应用程序窗口,后者负责将按键绑定至指定的Shell命令。在Shell中安装xdotool和xbindkeys:

 
  1. yum install -y xdotool xbindkeys

豆芽的常用快捷键是ctrl+alt+z,这个快捷键可以最小化豆芽窗口,或者将豆芽窗口呼出至前台。灵格斯的常用快捷键是ctrl+q,这个快捷键可以最小化灵格斯窗口,或者将灵格斯窗口呼出至前台。在Shell中运行以下命令,设置豆芽的快捷键:

 
  1. xbindkeys --defaults > /root/.xbindkeysrc
  2. vi ~/.xbindkeysrc

在这个文件的最后添加如下的内容:

 
  1. "xdotool key --window $(xdotool search --name '豆芽2016' | head -n1) ctrl+alt+z"
  2.  Control+Alt + z
  3.  
  4. "xdotool key --window $(xdotool search --name 'Lingoes 灵格斯' | head -n1) ctrl+q"
  5.  Control + q

上述的两项配置都会将快捷键绑定至xdotool命令,xdotool会根据名称找到相应的应用程序窗口,然后将快捷键转发给这个窗口。保存这个配置文件之后,在Shell中运行以下命令,使得XBindKeys重新载入配置文件:

 
  1. pkill xbindkeys && xbindkeys &

4. 验证测试

在Shell中运行以下命令,确保XBindKeys正在运行:

 
  1. ps aux | grep xbindkeys

在CentOS的桌面上双击运行豆芽和灵格斯的快捷方式,豆芽还需要输入工号和密码登录,运行后的图形界面如下图所示:

在Wine中运行Windows程序

然后,按下ctrl+alt+zctrl+q这两个快捷键,便可以分别最小化和呼出豆芽和灵格斯的应用程序窗口了。

八、注意事项

  • Wine64现在对于32位的应用程序的兼容性不是很好,所以尽量将32位的软件安装在Wine32中,将64位的软件安装在Wine64中。

  • 尽管本文使用root权限执行所有的安装和配置操作,但建议尽量不要使用root账户,否则Windows应用程序获得的权限过大,很有可能对系统造成安全隐患。

  • 目前Wine兼容的Windows软件非常多,Wine的官网有一个APPDB数据库,包含了所有兼容软件的信息,APPDB的URL为:

 
  1. http://appdb.winehq.org/

http://chatgpt.dhexx.cn/article/a24qd8Iw.shtml

相关文章

wine 安装与使用(ubuntu中安装windows下软件)

转载自:https://blog.csdn.net/qq_34638161/article/details/81271977 https://m.linuxidc.com/Linux/2007-11/8759.htm https://blog.csdn.net/Gerald_Jones/article/details/80781378 一、安装 wine :能够在多种 POSIX-compliant 操作系统&#xff08…

WinEdt使用技巧

最近在使用WinEdt编辑论文,遇到了不少问题,接下来会慢慢更新,帮助大家避坑。 目录 1安装包 2公式 2.1行内公式 2.2显示公式或列表公式 2.3分数 1安装包 如果在编译时遇到错误:!LaTeX Error: File xxx.sty not found. 说明还…

Linux浅析之四——Wine

一、Wine的缘起 Wine——Wine Is Not an Emulator,这是和GNU一样的递归命名方式,Wine的目的就是让Windows软件可以不加修改的运行在Linux系统中,换句话说实现Linux对Windows的“兼容性”。在Red Hat(包括Fedora和CentOS&#xff…

wine学习笔记

目前 wine 版本为较为稳定的 8.0 版本,本文也是重点围绕 wine 8.0 安装、使用以及 wine 工具介绍等方面进行了学习和整理。 一、安装 wine 1. 如果你使用的是 64 位系统,需要先开启 32 bit 架构支持: $ sudo dpkg --add-architecture i386…

【如何在Ubuntu 20.04系统上安装和使用Wine教程】

文章目录 在Ubuntu上安装Wine 5.0在Ubuntu上安装Wine 6.0配置Wine在Ubuntu上安装Notepad ubuntu 下安装caj Wine是一个开源兼容层,允许您在诸如Linux,FreeBSD和MacOS等UNIX的操作系统上运行Windows应用程序。 Wine是“Wine Is Not an Emulator”的首字母…

wine使用技巧

wine使用技巧 一:常用软件使用技巧1.1:给安装的软件添加快捷方式到桌面方便下次打开 一:常用软件使用技巧 在网上看到有人问wine安装软件后下次不知道怎么打开,打开不方便,于是就写了这个帖子 1.1:给安装…

wine安装及使用

首先说明下系统环境,我系统使用的是deepin15.11,其他基于debain的发行版,安装及使用方法应该也是差不多的。 一、Wine安装 这里引用deepin论坛上的一个帖子:https://bbs.deepin.org/forum.php?modviewthread&tid176555 Ste…

[Linux] 使用 Wine

Wine 是一个在 x86、x86-64 上允许类 Unix 操作系统在 X Windows System 下运行 Microsoft WIndows 程序的软件。Wine 通过提供一个兼容层来将 Windows 的系统调用转换成对 POSIX 标准的调用。 Wine 最早是“Windows Emulator”,即 Windows 模拟器的所写&#xff0c…

Windows 之dos命令

1.应用场景 知道并且熟练掌握常用[有用]的dos命令, 提高工作和生活效率. 2.学习/操作 1.介绍 百度百科: https://baike.baidu.com/item/DOS命令/5143255?fraladdin 简单讲: DOS命令,计算机术语,是指DOS操作系统的命令&#xff…

如何运用dos命令进入C盘?Dos常用命令大全

如何运用dos命令进入C盘?Dos常用命令大全 在开始界面找到运行,快捷键Win+R,输入命令cmd,点击确定 现在我们已经进入以下界面 在Administrator>后面输入c: dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前录

dos常用基础命令

目录 dir 查看指定目录 通配符匹配 运行可执行文件 运行其他目录的可执行文件 cd 进入当前盘符的根目录 进入其他盘符根目录 md 和 rd deltree move copy xcopy del diskcopy ren type memory netstat dir 查看当前目录中的文件 /p 分屏显示 /w 简略同行模…

基本DOS命令用法

一.常用的DOS命令: 1.查看目录内容 dir 2.创建目录文件 md 3.打开指定目录命令 cd 4.删除当前指定的子目录 rd 5.改变当前盘符 盘符冒号 6.文件复制拷贝 copy 7.显示文本文件内容命令 type 8.更改文件名 ren 9.删除文件命令 del 10.清楚屏幕命令 cls 11.…

1、常用DOS命令大全

一、DOS(DiskOperatingSystem),磁盘操作系统 特点:单任务、单用户系统使用命令行方式 控制计算机二、DOS命令行的组成 1、DOS命令行中的基本概念 当前驱动器、当前盘、当前目录、相对路径、绝对路径2、DOS命令的格式 命令/参数 文件或文件夹三、常用D…

常用的dos网络命令

常用的dos网络命令 ping:测试网络连接状况以及信息包发送和接收状况,TCP/IP 协议中最常用的命令。(网络中TTL通常表示包在被丢弃前最多能经过的路由器个数。也可以判断电脑系统:TTL值在100至130之间,主机系统为WINDOWSTTL,值在240至255之间&…

DOS常用命令

启动方式1:进入DOS页面:win+R;键入:cmd 启动方式2:“开始”→“运行”→输入“cmd”回车,此时将出现一个显示命令提示符的窗口,如下图。 1,help命令:help ——》查看所有命令帮助;help 某某某——》 查看具体某个 命令的帮助

常用DOS命令大全

ping 目标 向目标发送一个数据包 4 ping -n 10 目标 ping 目标 -n 10 net user 查看用户 增加用户: net user 用户名 用户密码 /add 最高的用户组:*Administrators 默认的用户组:*Users 查看指定用户所在的用户组&…

DOS常用指令

DOS常用指令 一、DOS常识二、命令行打开方式:三、DOS内部命令1. dir----显示指定路径下所有文件和目录的信息2. cd----进入指定目录3. md----创建指定目录4. cd>----创建指定文件5. rd----删除指定空目录6. del----删除指定文件7. copy----复制文件8. ren----改名…

常用DOS命令

目录标题 在文中,需要注意添加“空格”的语句DOS命令不区分大小写.一、常用DOS命令1. 打开命令提示符(最后附上“运行”窗口命令大全(还没有进行测试))方式1:打开“运行”窗口(Win r&#xff0…

在固态硬盘上安装linux系统怎么安装,教程|教你一键重装怎么将系统安装在固态硬盘上...

固态硬盘相比机械硬盘有更快的读写速度,将系统安装在固态硬盘上能极大提高系统的运行速度,今天就说说怎么将系统安装在固态。 方法一: 1、首先制作一个U盘启动盘,制作方法点击文章:《U盘PE启动盘制作方法》 2、进入U盘…

Kali Linux安装

1 Kali Linux安装 和普通的应用软件不同,操作系统的安装一直都是一件比较麻烦的事。而且和只能安装在计算机上的Windows操作系统不同,Kali Linux可以说是一个几乎能安装到任何智能设备上的操作系统。计算机、平板、手机、虚拟机、U盘播放设备、光盘…