当 Wine 包没有卸载时,我怎样才能摆脱 Wine 菜单条目?

当 Wine 包没有卸载时,我怎样才能摆脱 Wine 菜单条目?

我更喜欢使用 PlayOnLinux 来配置 wine 和管理前缀。

PlayOnLinux 需要安装 wine 包,但我不会使用默认/home/$USER/.wine前缀。因此我删除了默认前缀,但无法删除默认菜单项。如果我手动删除它们,它们会被重新创建,偶尔单击它们会重新创建默认的.wine

有没有正确的方法来隐藏所有默认的葡萄酒条目?

答案1

介绍

每当您创建新的 WINEPREFIX 菜单条目时,上下文菜单条目都会自动重新创建;.wine如您所知,如果winecfg运行时前缀不存在,您的默认前缀甚至也会被重新创建。

即使您可能使用的是不同版本,wine而不仅仅是wine中的系统playonlinux,删除系统wine可能也会随之删除playonlinux,因此有一些更好的替代方案可以停止wine一直重新生成菜单项。

可能的解决方案

我发现解决这个问题实际上有两种不同的方法:

A)请参阅葡萄酒常见问题解答并永久禁用该应用程序,尽管如果您使用默认安装程序而不是将来安装程序,winemenubuilder这将生成大量错误消息。常见问题解答中详细介绍了处理的其他方法,例如在安装特定的新应用程序时禁用它,或者通过在 中放置覆盖来为所有要安装的程序禁用它。wineplayonlinuxwinemenubuilderwinecfg

或者

b)只需将下面的命令放入脚本并定期运行即可继续删除创建的菜单项。它们来自葡萄酒常见问题解答,你应该小心如果您使用它们,请确保您没有输入任何拼写错误。以下命令将从菜单中删除wine应用程序(但不是单个应用程序)。playonlinux

以下是来自葡萄酒常见问题解答;请谨慎使用并避免拼写错误:

rm -f ~/.config/menus/applications-merged/wine*  
rm -rf ~/.local/share/applications/wine  
rm -f ~/.local/share/desktop-directories/wine*  

如果如果你想查看哪些内容将被删除,你可以使用printf上面的命令一和命令三来列出项目(如果你愿意,你可以手动检查命令二中提到的目录)。例如,

printf '%s\n' ~/.config/menus/applications-merged/wine* 

将很好地格式化项目列表,以使其易于阅读:

/home/mike/.config/menus/applications-merged/wine-Programs-ViewNX 2-ViewNX 2 Help.menu
/home/mike/.config/menus/applications-merged/wine-Programs-ViewNX 2-ViewNX 2.menu
/home/mike/.config/menus/applications-merged/wine-Programs-ViewNX 2-ViewNX 2 Readme.menu

结论

简而言之,选择使用哪种选项来解决您的问题取决于您,但我个人认为最简单的方法是将 wine FAQ 中的命令放在脚本中并定期运行它。

此外,有关如何删除wine上下文菜单条目的一般讨论(您可能也对此感兴趣),请参阅我的回答:

它不仅适用于ThunarXfce,也适用于所有遵守 XDG 标准的桌面环境。

相关内容