我想在我的计算机上的两个用户之间共享一个 wineprefix,以便他们都可以运行安装在其中的 Windows 程序。为此,我将 wineprefix 移至 /usr/share,为这两个用户创建一个共同组,并将 wineprefix 及其所有文件的组设置为该组。
然而,当我尝试以其他用户身份从该 wineprefix 运行程序时,我得到的只是来自 wine 的“您不是所有者”错误消息。
据我所知,这是“设计使然”,目的是为了防止以 root 身份运行 wine 程序。
有什么方法可以实现我的目标吗?请注意,我想共享 wineprefix,而不是制作它的多个副本。
答案1
答案2
我知道这是一个古老的问题,但我有一个我认为更简单更好的解决方案。
Wine 只检查您是否拥有 wine 前缀的顶级目录。因此,您只需创建一个新目录,并将要共享的 wineprefix 的所有内容的符号链接放在该目录中即可。
以下是我的建议:
创建一个用户,我们将其命名为 wineuser
sudo adduser wineuser
以 wineuser 身份登录
- 创建 Wine 前缀只需运行
winecfg
对于 64 位前缀或
WINEARCH=win32 winecfg
为 32 位前缀。
修改wine前缀的权限为wineuser组内所有人都可读可写
chmod -R 770 /home/wineuser/.wine
对于每个用户,您需要将他们添加到 wineuser 组,并创建一个链接目录,作为他们对 wine 前缀的访问点。对于用户 emily,我们将运行:
mkdir /home/emily/.wineshared sudo adduser emily wineuser cd /home/wineuser/.wine for object in `ls /home/wineuser/.wine`; do ln -s -T /home/wineuser/.wine/$object /home/emily/.wineshared/$object; done
就是这样!emily 现在可以使用 WINEPREFIX=~/.wineshared 在共享的 wineprefix 中运行程序