如何重置 Wine 的设置,避免卸载其中的所有应用程序?

2 sound wine volume-control foobar2000

Foobar2000 音量滑块在 Wine 中停止工作

声音很好,但无法再从播放器的滑块更改音量。

Wine 中是否有可能导致这种情况的设置?

我已经测试过[Vineyard][1])然后放弃了它,在这种情况下,Wine 中的某些设置可能已被更改,但无法看到哪些设置。

编辑:这会影响用 Wine 制作的主安装 (v.1.1.15),以及相同版本的便携式安装(以及我测试过的 v.1.1.14 和 1.1.17b 的便携式安装),但不影响旧版本,如 1.0.3

测试了更多版本,似乎没有这个问题的最新版本是1.1。(也就是说,在将经典的黑白 Foobar2000 图标更改为新的白色图标的版本之前。)

小智 5

正如我们在评论中讨论的各种事情都没有成功,可能有效的是创建一个新的wineprefix,然后始终从该前缀安装和运行 foobar。这可能允许您在不重新安装 wine 的情况下继续使用 foobar,因为原始.wine文件夹中可能存在损坏的设置。

使用以下命令创建您的葡萄酒前缀:

WINEPREFIX=$HOME/.foobar winecfg
Run Code Online (Sandbox Code Playgroud)

然后你可以临时将位置导出到环境中:

export WINEPREFIX=$HOME/.foobar
Run Code Online (Sandbox Code Playgroud)

(请参阅下面我的注释重新使用exportenv

然后 cd 到您新下载的 Foobar2000 版本并运行安装:

wine foobar2000_v1.1.17.exe
Run Code Online (Sandbox Code Playgroud)

我必须在启动程序之前注销并登录,否则我遇到了一些奇怪的错误和大量的磁盘活动。然而,那可能是我的系统。

现在,如果您已注销,请打开终端并再次运行导出命令,然后输入

wine "c:\\Program files\\foobar2000\\foobar2000.exe" 
Run Code Online (Sandbox Code Playgroud)

要更改此新前缀中的任何设置,您只需运行

winecfg
Run Code Online (Sandbox Code Playgroud)

只要将前缀导出到上述环境中即可。


注意:我已经指定导出上面的 WINEPREFIX 环境变量;一个同样有效的方法是使用env,并且经常使用env非常有用,因为它不依赖于已经用 设置的变量export。指定的 WINEPREFIXenv仅用于该命令行,而 usingexport意味着该变量成为默认环境变量,因此如果需要使用不同的 WINEPREFIX,则必须取消设置。

的一些示例用法env

env WINEPREFIX=$HOME/.special <wine commands>
Run Code Online (Sandbox Code Playgroud)

您还必须修改我最近在我的其他答案中讨论的脚本中的 foobar 位置,方法是在脚本顶部的 shebang 下添加为您的系统修改的以下内容:

export WINEPREFIX=$HOME/.foobar
cd /home/mike/.foobar/drive_c/Program\ Files/foobar2000/
Run Code Online (Sandbox Code Playgroud)

这绝对是一种无需重新安装wine和删除.wine文件夹即可获得新设置的方法,它应该使 foobar 再次正常工作,并且可以对许多不同的wine程序重复:请参阅Wine FAQ