3

我想在 ubuntu 系统上从 octave 创建 pdf 或 png 图,我只有一个命令行,没有 X11,没有 Windows。我想做这样的事情:

plot(x, y);
print -dpng myplot.png

但是情节给了我这个警告:

warning: X11 DISPLAY environment variable not set 

这两个命令都只是在控制台上给我一个字符图形再现。我需要将 GNUTERM 设置为什么吗?

4

1 回答 1

3

这是一个非常古老的问题,但对我来说这是最好的结果。与当今的云服务相关,以下是解决问题的方法:

figure ("visible", "off")
plot (1:10)
print output.png

如果您不想只处理文件,可以转发 X11 以进行远程查看。远程运行 Octave 并通过 x11在本地显示假设 X11 库已安装并准备就绪......所以只需将 -X 添加到 ssh:

ssh -X remoteserver

首先要获得 X11,这些文章:

建议:

  • 编辑 /etc/ssh/sshd_config 并设置
    • X11转发是
    • CentOS 可能需要这些:
      • ForwardX11 是
      • ForwardX11可信的是
  • $ sudo yum groupinstall "X 窗口系统"
    • 或安装您想要的单个软件包
  • $ 出口显示=本地主机:10.0
    • 仅当未安装 xauth 时才缺少此变量
  • $ sudo yum 安装 xauth
    • 默认不安装

并且以防万一您确实遇到了 GNUTERM 错误: Octave Plotting Error建议使用 X11 支持编译 gnuplot 并在绘制任何内容之前设置环境:

$ (whatever installs) gnuplot --with-x11

Then in Octave:
#setenv("GNUTERM", "qt")
setenv("GNUTERM","X11")
plot(x,y)
于 2015-03-13T20:32:21.750 回答