我正在使用 ubuntu 15.04。
我已经在超级用户帐户中安装了 wine,这样我就可以使用 MS office 2010。但是当我登录其他普通用户帐户时,我无法使用它。
是否可以将应用程序设置为适用于所有用户,这样我就不需要在其他帐户中再次安装它们?
答案1
我假设您通过 apt-get 从典型存储库安装了 wine,或者您添加了 wine 的 ppa 并从那里安装了它,或者通常只是安装了 wine,以便任何用户都可以运行它。如果您有其他设置,请添加评论,我会更新我的帖子。
因此,需要做的事情如下:
- 您需要将文件放在所有运行 wine 的用户都可以读取/写入的地方。
- 您需要设置目录和文件的权限,以便所有运行 wine 的用户都可以使用它们。
- 您需要更新所有指向旧位置的路径
对于 1 —— 您只需将文件复制到一个公共位置,例如/opt/windows
。要执行此操作:sudo cp -r /root/.wine /opt/windows
对于 2——如果您有多个用户将使用各种 Windows 应用程序,则您需要确保他们都是同一个组的一部分,或者如果您只有一个用户,您可以将所有者设置为该用户。
选项 a:如果您有一个用户,只需递归更改目录的所有者。这比较简单,所以我将首先描述这一点:
sudo chown -R $USER:$USER /opt/windows
选项 b:如果您有多个用户,则需要创建一个新组,将目录的所有权更改为新组,设置文件权限,然后注销并重新登录,以使新的组设置生效。 如果你之前使用的方法只有一个用户,那么不要这样做。
sudo groupadd wine
sudo usermod -a -G wine $USER
sudo chgrp -R /opt/windows
sudo chmod -R g+rw /opt/windows
sudo find /opt/windows -type d | while read DIR ; do sudo chmod g+rwx "${DIR}" ; done
#this is where you would log out and back in.
此外,每当您向系统添加新用户并且该用户将使用 wine 时,请将其添加到组中:sudo usermod -a -G wine NEW_USER
对于 3 —— 当您运行 wine 时,它会将文件放入 中~/.wine/
。其中一些文件包含绝对路径。由于您已移至/root/.wine
,/opt/windows
因此需要更新这些路径。您可以使用 winecfg 手动更新这些路径,并更新“桌面集成”选项卡下所有文件夹的“链接到”条目。如果您为用户创建了一个新组,则需要在执行此操作之前注销并重新登录。为此,请设置 wine 的前缀并运行 winecfg:
WINEPREFIX=/opt/windows winecfg
一旦路径更新完毕,单击“确定”,您就可以以普通用户身份运行任何应用程序了。
在运行任何应用程序之前,您需要将其设置WINEPREFIX
为/opt/windows
。如果您安装的应用程序有任何“.desktop”文件,则需要修改它们以包含 WINEPREFIX。您也可以输入export WINEPREFIX=/opt/windows
或.bash_profile
,.bashrc
这样您就不必在命令行中手动指定它。
如果您可以更新您的问题并描述如何启动任何已安装的应用程序,我可以进一步提供答案。
另外,顺便说一句,当我通过 wine 安装新应用程序时,我倾向于WINEPREFIX
为每个应用程序使用不同的版本。这样,如果它们具有奇怪的设置或不兼容的依赖项,我不会在安装新应用程序时无意中破坏旧应用程序。然后,对于依赖项,我使用 winetricks 来获取和安装。
答案2
不幸的是,wine 似乎会检查前缀目录的所有者。不确定它是否检查每个文件,但它似乎在最近的版本中对 $WINEPREFIX(默认 ~/.wine)进行了检查。我在创建一个组并将用户添加到该组后遇到了这个问题。Winedebug 只是抱怨其他用户不是所有者。我猜最好的选择是将 .wine 留在原处(~/.wine)并尝试设置一个 drive_d,其中包含共享所有权()。不确定它是否会起作用,但我确信 .wine / WINEPREFIX 的共享所有权将导致这里未提到的问题。如果您能创建一个普通用户,除了读取/写入 wine 文件之外没有任何权限,并且不需要密码,那就太好了。还没有看到任何关于如何为 wine 设置这一切的建议。