我已经在 Ubuntu 上安装了 gnuplot sudo apt install gnuplot-x11
,然后vcxsrv
在 Windows 上安装并运行它:服务端
然后我希望从 bash 运行 gnuplot 并输入plot sin(x)
会生成一个图表,但是我收到此错误:格努普特
我应该补充一下,我已经将这些选项添加到 zshrc 中:
export QT_DEBUG_PLUGINS=1
export QT_PLUGIN_PATH=/usr/lib/qt/plugins
export DISPLAY=localhost:0.0
export LIBGL_ALWAYS_INDIRECT=Yes
我尝试了很多选项和解决方案,但都没有成功。非常乐意提供帮助
答案1
作为记录,如果其他人正在考虑使用 wsl2 运行 gnuplot,它在 Win11 中运行良好,Win11 可以运行 gnuplot,而不需要 X windows(即 vcxsrv 或类似程序)。
答案2
对于 Windows 10,问题几乎肯定是:
export DISPLAY=localhost:0.0
WSL2 在自己的虚拟网络中运行,localhost
WSL2 实例本身也是如此。Windows IP 地址不同,并且那是 VcXsrv 运行的地方。
export DISPLAY=${HOSTNAME}.local:0.0
...通常会获得正确的IP地址。这利用了mDNS这个 Stack Overflow 上的答案。
还有其他技术当 mDNS 不工作时你可以恢复到这个模式。