运行 windows 具有 wine 和 root 权限的程序

Run windows program with wine and root privileges

我知道不推荐这样做,但我有一个 windows 程序需要 root 权限才能成为 运行。 (使用 wpacp 读取以太网接口)。

如果我 运行 wine myprogram.exe 我的程序告诉我我没有读取接口的权限)

但是如果我 运行 wine 作为 sudo,wine 告诉我 .wine 不属于你。

有什么解决办法吗?

要使用 sudo 运行 wine,您必须拥有 root 用户拥有的 wineprefix。

运行:

sudo chown root ~/.wine

会解决这个特殊问题,但我建议不要那样做,因为那样你将无法像普通用户一样使用 wine。

一个更好的选择是让 root 用户拥有第二个 wineprefix:

sudo WINEPREFIX=~/.wine_root winecfg

(使用默认位置,或提供替代位置)

然后你可以运行程序

sudo WINEPREFIX=~/.wine_root wine /path/to/your/program.exe

虽然这可以做到,但是 运行用 sudo 搭配葡萄酒是非常危险的,因此您可能希望尽可能避免它。