如何分享 wineprefix?

如何分享 wineprefix?

我想在我的计算机上的两个用户之间共享一个 wineprefix,以便他们都可以运行安装在其中的 Windows 程序。为此,我将 wineprefix 移至 /usr/share,为这两个用户创建一个共同组,并将 wineprefix 及其所有文件的组设置为该组。

然而,当我尝试以其他用户身份从该 wineprefix 运行程序时,我得到的只是来自 wine 的“您不是所有者”错误消息。

据我所知,这是“设计使然”,目的是为了防止以 root 身份运行 wine 程序。

有什么方法可以实现我的目标吗?请注意,我想共享 wineprefix,而不是制作它的多个副本。

答案1

此主题已在以下论坛主题中讨论过,

http://ubuntuforums.org/showthread.php?t=917422

这也许可以帮助您设置您的要求。

答案2

我知道这是一个古老的问题,但我有一个我认为更简单更好的解决方案。

Wine 只检查您是否拥有 wine 前缀的顶级目录。因此,您只需创建一个新目录,并将要共享的 wineprefix 的所有内容的符号链接放在该目录中即可。

以下是我的建议:

  1. 创建一个用户,我们将其命名为 wineuser

    sudo adduser wineuser

  2. 以 wineuser 身份登录

  3. 创建 Wine 前缀只需运行

winecfg

对于 64 位前缀或

WINEARCH=win32 winecfg

为 32 位前缀。

  1. 修改wine前缀的权限为wineuser组内所有人都可读可写

    chmod -R 770 /home/wineuser/.wine

  2. 对于每个用户,您需要将他们添加到 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 中运行程序

相关内容