![在 wine3.11 (staging) 下无法使用 ICMP](https://linux22.com/image/901983/%E5%9C%A8%20wine3.11%20(staging)%20%E4%B8%8B%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20ICMP.png)
我尝试通过 wine3.11 在我的 ubuntu 16.04 上安装 ffxiv。在游戏中,选择数据中心后,系统尝试连接到它,但返回错误:
IcmpCreateFile 无法使用 ICMP(网络 ping),这需要特殊权限。004c:fixme:winediag:IcmpCreateFile 作为一种解决方法,回退到系统“ping”命令。004c:err:ole:CoGetClassObject 类 {94297043-bd82-4dfd-b0de-8177739c6d20} 未注册 004c:err:ole:CoGetClassObject 类 {94297043-bd82-4dfd-b0de-8177739c6d20} 未注册 004c:err:ole:CoGetClassObject 无法为上下文 0x3 创建类对象 {94297043-bd82-4dfd-b0de-8177739c6d20}
我尝试通过以下方式解决该问题:
sudo setcap cap_net_raw+epi /usr/bin/wine64-preloader
但它返回其他错误:
无法设置文件 `/usr/bin/wine64-preloader' 的功能(无效参数)文件的功能参数值不允许。或者该文件不是常规(非符号链接)文件
之后我尝试使用这个方法来解决ping问题:
sudo chmod 4755 /bin/ping
并通过以下字符串启动游戏:
env WINEARCH=win32 WINEPREFIX=~/ffxiv2 wine ffxivboot.exe
但这并没有改变任何事情。
答案1
运行时出现类似的错误wine ping.exe www.google.ca
,对我有用的是:
- 设置上限必须在文件上,而不是符号链接上:
sudo setcap cap_net_raw+epi /opt/wine-stable/bin/wine-preloader
sudo ln -s /opt/wine-stable/lib/libwine.so.1 /usr/lib/libwine.so.1
这可以wine ping.exe www.google.ca
工作了,但我安装的 Among Us 却不行 :-(