如何仅通过终端操作winecfg?或修改配置文件设置偏好?
无需图形界面:终端控制Wine配置的两种方法
当然可以完全脱离winecfg的图形窗口,用终端搞定所有偏好设置——不管是切换模拟的Windows版本,还是配置Staging特性,都有两种靠谱的方式:
一、用wine reg命令直接修改注册表(推荐)
Wine的所有配置本质上都存在注册表中,wine reg命令可以让你在终端直接编辑这些设置,完全不用碰图形界面:
1. 设置模拟的Windows操作系统版本
不同Windows版本对应的注册表值如下:
- Windows XP:
5.1 - Windows Vista:
6.0 - Windows 7:
6.1 - Windows 8:
6.2 - Windows 10:
10.0
比如要切换到Windows 7,执行这条命令:
wine reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion /t REG_SZ /d "6.1" /f
解释一下参数:
/v指定要修改的注册表项名称/t定义值的类型(这里是字符串类型)/d设置具体的数值/f强制覆盖已有值,避免确认提示
2. 配置Wine Staging专属选项
Staging的特性大多存在HKCU\Software\Wine\Staging路径下,比如启用CSMT(Concurrent State Management Thread,提升性能的特性):
wine reg add "HKCU\Software\Wine\Staging" /v CSMT /t REG_DWORD /d 1 /f
这里1表示启用,改成0就是禁用。其他Staging选项也可以用类似的方式修改:你可以先打开一次winecfg图形界面设置好目标选项,再用wine reg query "HKCU\Software\Wine\Staging"查看已有的键值对,照着用命令批量修改即可。
二、直接编辑Wine的注册表文件
如果习惯手动编辑文件,也可以直接修改Wine的注册表备份文件:
- 先备份重要文件(防止改错无法恢复):
cp ~/.wine/system.reg ~/.wine/system.reg.bak cp ~/.wine/user.reg ~/.wine/user.reg.bak
- 修改Windows版本:
用终端编辑器(比如nano或vim)打开~/.wine/system.reg,搜索[Software\\Microsoft\\Windows NT\\CurrentVersion]段落,找到CurrentVersion这一行,修改后面的字符串值:
"CurrentVersion"="6.1" # 改成你需要的版本号,比如"10.0"对应Win10
- 配置Staging选项:
打开~/.wine/user.reg,搜索[Software\\Wine\\Staging](如果没有就自己添加这个段落),然后添加或修改对应的键值:
[Software\\Wine\\Staging] "CSMT"=dword:00000001 # 1启用,0禁用
修改完保存文件后,下次启动Wine程序时,新的配置就会生效了。
内容的提问来源于stack exchange,提问作者C Chorche
相关产品推荐
相关产品推荐

