我使用 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
我不要想要完全禁用我的 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