如何配置Wine禁用回收站或为特定程序设置独立回收站
如何配置Wine禁用回收站或为特定程序设置独立回收站
看起来你遇到的问题确实挺头疼——Wine把程序生成的大量临时文件扔到Cinnamon系统回收站(还在不同物理盘上),既拖慢速度、浪费空间,还把正常回收站搞得乱糟糟的。之前你修改的注册表项没生效,大概率是因为Wine对全局注册表(HKEY_LOCAL_MACHINE)的处理优先级低于用户级注册表,或者没找对正确的配置姿势。下面给你两种针对性的解决方案:
一、直接禁用Wine的回收站(让文件被直接删除)
如果希望程序删除临时文件时直接彻底删除,不进任何回收站,可以按以下步骤操作:
- 打开Wine的注册表编辑器:在终端运行
wine regedit - 定位到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer,如果没有BitBucket这个项,右键新建一个「项」并命名为BitBucket - 选中
BitBucket,右键新建「DWORD(32位)值」,命名为NukeOnDelete,双击它设置数值数据为1(基数选十进制) - 再定位到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,同样新建DWORD值NoRecycleFiles,设置数值为1 - 修改完成后,关闭注册表编辑器,完全退出所有Wine相关程序,再重新启动你的目标程序试试。这次改的是用户级注册表,优先级更高,应该能生效。
二、为特定程序设置独立回收站(不影响系统回收站)
如果不想完全禁用回收站,只是想把这个程序的垃圾和系统回收站隔离开,推荐用Wine的「前缀(Prefix)」功能——每个前缀可以拥有独立的配置、注册表和回收站:
- 先创建一个专属前缀的目录:在终端运行
mkdir ~/.wine-myprogram - 初始化这个前缀:
WINEPREFIX=~/.wine-myprogram winecfg,打开配置窗口后可以按需设置Windows版本等参数,设置完成后关闭窗口即可 - 给这个前缀配置独立回收站(或禁用):
- 运行
WINEPREFIX=~/.wine-myprogram wine regedit,打开该前缀专属的注册表编辑器 - 如果你想禁用这个前缀的回收站,按照上面「禁用回收站」的步骤修改
HKEY_CURRENT_USER下的对应项;如果想保留独立回收站,就在BitBucket下新建字符串值RecycleBinPath,设置为你指定目录的Wine路径(比如Z:\\home\\你的用户名\\wine-trash\\my-program,注意Wine里路径要用双反斜杠,Z盘对应你的系统/home目录)
- 运行
- 以后启动这个程序时,用命令
WINEPREFIX=~/.wine-myprogram wine /path/to/你的程序.exe启动,它的回收站就完全独立于Cinnamon系统回收站了,清理起来也更方便。
另外还有个快速小技巧:如果不想折腾前缀,可以试试在启动程序时添加环境变量,命令如下:
WINE_USE_SYSTEM_TRASH=0 wine /path/to/你的程序.exe
这样Wine会把文件扔到当前Wine前缀的本地回收站里,而不是系统回收站,也能解决跨物理盘慢的问题。
备注:内容来源于stack exchange,提问作者user364393
相关产品推荐
相关产品推荐

