【Arch Linux】使用 Wine 运行 Galgame

Source: 【Arch Linux】使用 Wine 运行 Galgame - LittleYe233's Blog


看来本站的脚注改进成旁注了.

另外匆匆行文的时候头脑比较混乱, 部分段落仍需要修改.


本文主要介绍在 Arch Linux 上通过 Wine 运行 Galgame 的主要步骤. 理论上对其他 Linux 发行版也可作类似操作.

需要注意的是, 以下教程很可能只对日文原版的 Galgame 有效. 考虑到中国大陆大量汉化 Galgame 存在"壳", 标准的 Wine 配置可能无法应对, 需要据情况自行分析.

Wine

简介

对 Wine 的简要介绍可参见维基百科Arch Linux Wiki 同名词条, 并非本文重点, 故不作赘述.

安装

Wine 的开发和 Staging (包含一些修复和补丁等) 分支位于官方包仓库的 Multilib 仓库, Stable 分支位于 AUR. 以 Staging 分支为例:

sudo pacman -S wine-staging

同时可能需要安装 32 位的图形和音频驱动, 分别参见 Arch Linux Wiki 的 Wine#Graphics driversWine#Sound 章节.

配置

使用 winecfg 进行 Wine 相关的配置. 一般情况下不需要做改动.

对于启动系统 UI 缩放的设备, 可以在 Graphics 选项卡下的 Screen resolution 设置项下等比例设置 DPI, 例如默认值为 96 时, 150% 缩放等级对应的 DPI 为 144.

测试

wine notepad

字体和 locale

对于 Wine 来说如上的设置已经可以启动很多应用程序了, 但对于日本生产的 Galgame 来说, 默认简体中文或英文的系统环境极有可能造成"乱码". 因此我们还需要作一些额外的设置.

日文字体

一些教程[1]给出的解决方案是从系统语言为日本语的 Windows 系统中复制 C:\Windows\Fonts 文件夹中的字体, 不过 AUR 已经有人整理过日本语字体包:

yay -S ttf-ms-win11-auto-japanese

若出现字体安装失败的情况, 请参照此章节.

Shift-JIS locale

许多 Galgame 的开发 locale 使用的都是 Shift-JIS, 但其并不在大部分现代 Linux 发行版中内置. 需要另外安装.

参考此教程, 下载作者提供的 mega.nzGoogle Drive 内的文件并按照要求解压后:

sudo localedef -i ja_JP -f SHIFT_JIS ja_JP.sjis --no-warnings=ascii
sudo sed -i '/ja_JP.UTF-8 UTF-8/a ja_JP.SJIS SHIFT_JIS ' /etc/locale.gen
# sudo locale-gen # 可能会失败, 但此时 locale 应已配置成功. 此时需要将上一行命令中新生成的一行数据删除或注释.

此时再在终端中切换目录到 Galgame 目录下, 执行:

LC_ALL=ja_JP.sjis wine <游戏可执行文件>.exe

同时可以尝试 ja_JP.utf8. 在 /etc/locale.gen 中找到 #ja_JP.UTF-8 UTF-8 一行, 删除前面的注释符后执行 sudo locale-gen, 再:

LC_ALL=ja_JP.utf8 wine <游戏可执行文件>.exe

参考


  1. Shift-JIS Linux - Broken Dragon Translation ↩︎

1 Like

有点好奇 Linux 环境中会有 win 中 转区 的问题吗?

使用 Wine 启动的 Galgame 同样会检测系统默认语言环境,但LC_ALL 环境变量[1]可以覆盖 LANG 和所有形如 LC_* 的环境变量,Galgame 就只能“感知”到新的语言环境。

但这个环境变量不会直接修改时区。对于会同时检测语言环境和时区的 Galgame 还需要另外用 timedatectl 修改时区。


  1. Locale - ArchWiki ↩︎

1 Like