设置Alpine Linux的wine

在Alpine Linux上安装wine非常简便:

在Alpine Linux上安装Wine
apk add wine

然后执行初始化设置:

运行 winecfg 进行初始化设置
winecfg

wine会自动检测到系统缺乏 mono 支持并自动下载安装,等下载完成后就能够正常运行设置,默认设置为 Windows 10 模拟

中文字体

我用wine来模拟运行 夸克网盘 程序,会发现默认中文界面全是方框。以前都是从Windows系统复制字体来运行,不过也能使用Linux已经安装的字体,所以我采用如下方法设置:

设置字体
bash -c 'cd ~/.wine/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i" ; done'

然后需要调整wine使用Linux平台的中文字体,也就是通过注册表设置: 创建 chs.reg 如下

注册表配置文件 chs.reg 设置使用Linux中文字体
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS Shell Dlg"="Noto Sans CJK SC"
"MS Shell Dlg 2"="Noto Sans CJK SC"
"SimSun"="Noto Sans CJK SC"
"Microsoft YaHei"="Noto Sans CJK SC"

执行以下命令导入:

导入注册表
wine regedit ./chs.reg

现在运行中文界面软件就能够看到正确的中文显示

中文输入

警告

我的 Alpine Linux 环境使用了 sway - i3兼容Wayland compositor 平台上运行 小企鹅输入法fcitx ,已经完美实现了 设置Alpine Linux的sway桌面 中文输入。在这个基础上,我尝试wine输入中文 没有成功

Google AI提供了设置建议看起来是基于X window的Ubuntu,采用的是如下方法( 但是我在sway Wayland环境下实践没有成功 ,所以这里仅做记录,后续确实有需求再折腾)

  • 安装fcitx软件:

在Ubuntu中安装fcitx
sudo apt-get install fcitx fcitx-pinyin fcitx-configtool language-selector-gnome
  • 使用 im-config 工具配置 fcitx 作为默认输入,并在 Fcitx Configuration 中添加输入法(选择Google Pinyin或其他中文输入法),取保 Ctrl+Space 作为输入法激活快捷键

  • 安装中文字体: 可以使用 winetricks 工具来安装必要的中文字体(上文中我已经配置了中文字体)

  • 确保生成了中文locales,例如 zh_CN.UTF-8

  • 设置环境变量:

设置中文输入环境变量
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
  • 运行:

运行
LANG=zh_CN.UTF-8 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx wine /path/to/your/app.exe

参考