解决 wine 配置不当导致所有程序无法运行的问题

几个月前,出于对 Splashtop 对 Linux 平台的支持的不满,做了一次作死的尝试:用 wine 来安装 Splashtop Personal 的 Windows 客户端。心理预期很低,毕竟这种涉及底层太多的东东,没指望能成功。

但是安装的过程是成功了的。执行主程序则陆续报错,和期望值不相符的是,我原以为报错会出现在网络库的支持上,或者加解密库的方面,未曾想竟然首先着落在 UI 上:说的是 dwmapi.dlluxtheme.dll 出现了问题。前者是从 Windows Vista 开始引入的桌面绘制管理组件,后者是系统主题渲染组件。凭着老经验,尝试把 Windows 平台的原生 dll 下载/复制了来,然后用 winecfg 进行配置,使之 override 掉 wine 的默认配置。结果是令人猝不及防的:所有的 wine 程序均失守,包括 winecfg 自身。

查资料说,winecfg 的配置存储于注册表中,心头一阵凉意掠过,就此止步。在 Linux 下直接编辑 Windows 的注册表文件,事儿有点大。今天在终端下,误入 home 目录下的 .winels 看到了几个以 .reg 结尾的文件,联想到之前的折戟,心想可以看看这几个注册表文件是何方神圣。用 nano 打开 user.reg 一看,哑然失笑,竟然就是文本文件。遂搜索 uxtheme 字样,找到后把它和 dwmapi 两条配置注释掉保存。

这时,之前挂掉的程序们就跟游地府的李世民似的,纷纷还阳了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注