在 Wine 中禁用回收站

在 Wine 中禁用回收站

我使用 Wine 来运行一个程序。该程序有一个令人遗憾的倾向,即创建大量临时文件,并将它们全部删除到 Windows 回收站中。Wine 通过将文件删除到我的 Cinnamon 回收站来实现这一点,而 Cinnamon 回收站恰好位于不同的物理设备上。这很慢,浪费空间,并且让我在极少数情况下无法在 Cinnamon 回收站中找到任何内容。

我该如何配置 Wine 来禁用其回收站,或者如果失败,为该程序使用不同的回收站?我试过

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket]
"NukeOnDelete"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecycleFiles"=dword:00000001

按照建议https://superuser.com/questions/1616394/how-to-use-registry-to-disable-recycle-bin-for-all-users-on-all-drives-and-disp但没有明显的效果。

不要想要完全禁用我的 Cinnamon 垃圾;我只是想为 Wine 禁用它。

答案1

这是一个包装安装程序,用于禁用 Wine 中的回收站(参考资料1 2 3):

dst=~/.local/bin/wine
[ -f $dst ] && { echo 'Run only once'; exit 1; }
mkdir -p ~/.local/bin
real_wine="$(which wine)"
"$real_wine" --version | grep -q wine || { echo 'Broken wine'; exit 1; }
contents="$(
  echo '#!/bin/sh'
  echo WINEHOMEDIR=/disablewinetrash XDG_DATA_HOME=/disablewinetrash exec \"$real_wine\" \"\$@\"
)"
echo "$contents" > "$dst"
chmod +x "$dst"

然后,您就可以使用桌面快捷方式或运行wine path_to.exe。我们需要创建一个包装器,因为两种常用解决方案不起作用。如果在或XDG_DATA_HOME中设置,将破坏非 wine 应用程序。设置别名对桌面快捷方式不起作用。.profile.bashrc.bashrc

相关内容