需要帮助让 ping 在 Ubuntu 16.04 上的 wine 下运行

需要帮助让 ping 在 Ubuntu 16.04 上的 wine 下运行

我需要帮助让 ping 在 Ubuntu 16.04 上的 wine 下工作。我正在尝试运行 Battlefield Bad Company 2 服务器进行测试(我可能在某个时候对某个 mod 进行一些开发),但无法使其进入可玩状态。我可以运行 mase_bc2 和 Frost.Game.Main_Win32_Final.exe,甚至可以在游戏中连接到 LAN 服务器 - 但是,在加载地图时,它不会继续加载,而是游戏冻结。

这是我需要解决的错误,以使服务器可以播放:0049:err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.

当我这样做wine cmd时,ping我只是得到了这个: Z:\home\user> ping google.com 0075:fixme:ping:main this command currently just sleeps based on -n parameter

以下是我尝试过的:

sudo chmod 4755 /bin/ping允许 wine 访问 ping。这没有帮助。

然后我尝试了这个: sudo setcap cap_net_raw+epi "$(readlink -f "/usr/bin/wine")"

这会导致此错误: wine: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory

然后在单独运行sudo setcap -r "$(readlink -f "/usr/bin/wine")"删除共享库错误后,我还运行了这个: sudo setcap 'cap_net_bind_service=+ep' "$(readlink -f "/usr/bin/wine-preloader")"

两个setcap命令都导致相同的共享库错误。

我对 Linux 还算熟练,但似乎这超出了我的水平,我需要帮助。我在网上搜索了好几个帖子,但一无所获。如果有人能帮我解决这个问题,这可能是互联网上修复此问题(错误??)的唯一来源之一。

我发现这里有其他人遇到这个问题:https://forum.winehq.org/viewtopic.php?f=8&t=30704他使用后甚至遇到了和我一样的错误,setcap但是他并没有解决这个问题。

更新于 2018 年 9 月 7 日:创建符号链接可/usr/lib/libwine.so.1消除shared libraries错误,但我仍然无法通过 wine 进行 ping 操作。

更新于 2018 年 9 月 8 日:这似乎是一个已知的错误,已在 Wine Development 3.15 中修复:https://bugs.winehq.org/show_bug.cgi?id=43252

谢谢。

答案1

问题是 Wine 中有一个错误,该错误在 Wine 3.14 版及更高版本中已修复,如果 ReplySize 小于 56,则无法正常ping工作。但是 -在 Wine 3.14 版及更高版本中ping仍然需要设置特殊权限setcap。值得庆幸的是,在 Wine 3.14 版及更高版本中还有一个解决方法,ping如果未设置特殊权限, Wine 将自动使用本机 Linux setcap,这实际上意味着在 Wine 3.14 版及更高版本中,wine ping现在可以开箱即用。

来源:https://bugs.winehq.org/show_bug.cgi?id=43252

相关内容