Wine 会自动添加某些 mimetypes 和文件关联(例如,.ini 文件的 notepad.exe)。已经有一个答案解释了如何删除这些关联。
但是如何防止 Wine 一次又一次地添加它们呢?
小智 58
完全禁用 winemenubuilder.exe 将阻止 wine 劫持您的文件关联,但它也会阻止它为新安装的软件创建菜单条目,这可能是一种不受欢迎的行为。更好的解决方案是这样的:
删除现有的葡萄酒劫持(来自葡萄酒常见问题解答):
rm -f ~/.local/share/mime/packages/x-wine*
rm -f ~/.local/share/applications/wine-extension*
rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
rm -f ~/.local/share/mime/application/x-wine-extension*
Run Code Online (Sandbox Code Playgroud)编辑/usr/share/wine/wine.inf(以 root 身份),找到该[Services]部分:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
...
Run Code Online (Sandbox Code Playgroud)
并编辑它,使其显示:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -r"
...
Run Code Online (Sandbox Code Playgroud)
(即,winemenubuilder.exe无需-a开关即可启动)。这将阻止更新新用户帐户(或新WINEPREFIXes)上的文件关联。
$WINEPREFIX/system.reg以类似的方式编辑您的文件(如果存在)。它说的地方
[Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
Run Code Online (Sandbox Code Playgroud)
取下-a开关。(默认情况下,WINEPREFIX=$HOME/.wine。)
这将防止 wine 窃取您喜欢的 mimeapps,但 winemenubuilder 仍将运行并为您的 Windoze 软件创建方便的桌面条目。
csc*_*ney 17
不希望 Windows 应用程序的安装程序更改文件类型关联、添加菜单项或创建桌面链接的用户可以禁用winemenubuilder.exe. 做这件事有很多种方法:
在 winecfg 中:在运行安装程序之前,运行winecfg. 转到“库”选项卡并winemenubuilder.exe在“新覆盖”框中键入(它不在下拉列表中)。单击添加,然后从“现有覆盖”框中选择它。单击“编辑”并从列表中选择“禁用”,然后单击“应用”。
注册表文件:如果您需要多次应用该设置(例如每次重新创建 Wine 前缀时),这种方法可能更方便。创建一个扩展名为 .reg(例如disable-winemenubuilder.reg)的文本文件,其中包含以下内容:
[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
"winemenubuilder.exe"=""
Run Code Online (Sandbox Code Playgroud)
要应用设置,请运行 regedit disable-winemenubuilder.reg
环境变量:在运行安装程序时设置 WINEDLLOVERRIDES 环境变量,例如,
WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
Run Code Online (Sandbox Code Playgroud)禁用winemenubuilder.exe会导致wine 程序打印出它们找不到的错误(尽管这些错误似乎不会干扰程序运行)。
避免错误的另一种方法是用什么都不做的程序替换它。在 wine 下使用 MinGW 的 gcc 编译以下内容并将可执行文件放在C:\Windows\System32\winemenubuilder.exe:
int main() { /* Do nothing */ return 0; }
Run Code Online (Sandbox Code Playgroud)
然后按照与上面相同的步骤进行操作,但设置winemenubuilder.exe为“native”而不是“disable”。
小智 12
因为这是在谷歌上的第一次命中。Wine FAQ 现在列出了新版本 Wine 的替代方法。
“从 wine-3.14 开始,winecfg 在桌面集成选项卡上有一个“管理文件关联”复选框。选中它使 winemenbuilder 能够创建文件关联,取消选中它会禁用该行为。”
| 归档时间: |
|
| 查看次数: |
19719 次 |
| 最近记录: |