标签: Linux wine RTX
介绍
因为公司的交流沟通主要依托 RTX ,但是在 Linux 中开启虚拟机运行 RTX 总是不太方便,正好搜索到一些配置 wine 运行 RTX 的文章,参考着完成了配置,记录分享一下过程。
整个过程中我遇到的最大问题就是 64 位系统安装 wine
默认是 wine64
,而很多最近一年左右的文章都说 RTX 需要设置 export WINEARCH=win32
来切换到 32 位环境的 wine
,但是如果没有安装 wine32
的话会各种报错。
我遇到的有:
-
winecfg
时提示找不到wine32
(可以通过修改/usr/bin/winecfg
将文件最后一行$wine
强制替换成wine64
,但是这样创建的.wine
环境目录就不是32 位的,会影响RTX
依赖安装) -
winetricks
无法安装组件msxml3
等一系列所需软件包,提示信息类似Note: command 'wine msiexec /i msxml3.msi' returned status 1. Aborting.
-
wine
运行之后提示it looks like multiarch needs to be enabled. as root, please execute "dpkg --add-architecture i386 && apt-get update && apt-get install wine32"
其实最后一条运行 wine
的提示已经给我们指了一条明路,那就是 dpkg --add-architecture i386
添加 i386
体系,重新安装 wine32:i386
。
但是这种解决方案实在太过难看,因为要安装一系列 i386
版本软件包,如下图:
只是看到就觉得目眩,但是我折腾一下午最后回到了这种解决方式,水平实在有限,如果有更好的方法欢迎一起探讨。文章最后我会给出完全移除这些软件包的方法,还系统一个清净,但是目前为了 RTX
就先忍了……
操作
废话了这么多,进入正题,先说明一下我操作的环境:
- 发行版
Debian 8.1
,桌面环境为cinnamon
, 使用testing
软件库 -
wine
版本为1.6.2
STEP BY STEP
- 安装系统默认的
wine
和winetricks
, 后者是为了安装RTX
需要的windows
组件sudo aptitude install wine winetricks
- 添加
i386
体系,安装wine32
sudo dpkg --add-architecture i386 sudo aptitude install update sudo aptitude install wine32
- 设置
wine32
环境变量,为了初始化 32 位wine
环境export WINEARCH=win32 export WINEPREFIX=$HOME/.wine4rtx #自定义wine环境文件夹名,可选
- 初始化
wine
,提示是否安装.Net
的开源实现Mono
,可以不安装,不影响RTX
使用, 因为字体问题,对话框显示不正常,左边为取消,右边为安装winecfg #其实这里可以只需要运行一下 wine 命令即可
- 安装
RTX
的windows
"依赖",msxml3
可能需要手动下载,放入~/.cache/winetricks/msxml3/
文件夹,下载页地址会在终端中给出,同时会用默认浏览器自动访问winetricks msxml3 riched20 riched30 ie8 vcrun6 vcrun2005sp1
- 安装
rtx
官方下载地址,推荐在这之前运行一下winecfg
在桌面整合
修改我的文档
映射,默认是映射到$HOME
安装过程中会有一个RTXShlMenu.dll
注册失败错误,忽略就好,应该是右键集成的功能wine rtxclient2015formal.exe
- 安装好之后在桌面会有快捷方式,可以直接运行,但是我这里无法显示中文,只有方框,所以需要设置字体 参考连接 Wine的中文显示与字体设置
- 创建文本文件,内容如下,另存文件名类似
fix_chn_font.reg
即可,这里的wqy-microhei.ttc
可以替换成任意系统中的汉字字体REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="wqy-microhei.ttc"
"Microsoft Sans Serif"="wqy-microhei.ttc"
"MS Sans Serif"="wqy-microhei.ttc"
"Tahoma"="wqy-microhei.ttc"
"Tahoma Bold"="wqy-microhei.ttc"
"SimSun"="wqy-microhei.ttc"
"Arial"="wqy-microhei.ttc"
"Arial Black"="wqy-microhei.ttc"
2. 在 `wine` 中注册字体,创建字体连接
wine regedit fix_chn_font.reg
ln -s /usr/share/fonts/truetype/wqy/wqy-microhei.ttc .wine4rtx/drive_c/windows/Fonts- 现在 `RTX` 应该可以正常运行了
TIPS & BUG
- 在安装相关软件包时可以使用
新立得包管理器
记录标记安装的软件包,方便之后清理。 - 公司
RTX
使用了几个插件,比如飞鸽传书
之类,会提示自动安装,但是安装之后会有问题,启动时报错,所以最好忽略这些插件安装。 -
wine
安装完成之后会自动在cinnamon
"快速启动菜单" 中创建一个文件夹,但是使用cinnamon-menu-editor
编辑相关项就会导致编辑器出错。~/.config/menus/
文件夹下生成一个cinnamon-applications.menu
的空文件,且关闭编辑器之后就无法再开,除非删除这个空文件。暂时没有发现解决方法,等之后补充。 -
RTX
登录后会自动切换到忙碌状态,禁用RTX
的自动状态切换就好。
清理
因为在 64 位系统使用了 i386
体系包,安装了一堆 32 位的软件包,万一出现问题或者不再需要使用 RTX
,可以按如下步骤完全清理
GUI 清理方法
- 进入管理器寻找
Architecture
或体系
分类,选中arch: i386
按状态排序,标记以便彻底删除
所有已安装的软件包。 - 执行
sudo dpkg --remove-architecture i386
CLI 清理方法
命令如下
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'` #彻底删除所有以 :i386 结尾的软件包 sudo dpkg --remove-architecture i386 #移除 i386 体系 sudo dpkg --print-foreign-architectures #查看是否成功移除