八度-格努普洛特-水族术语错误:设置终端水绿色增强标题"图1"...未知端子类型"



我已经通过Homebrew安装了Octave和gnuplot,并下载了AquaTerm.dmg。 当我尝试绘制时,我收到以下消息:

octave:4> plot(x,y)

gnuplot> set terminal aqua enhanced title "Figure 1" font "*,6"

^
`line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list`

在 bash 终端中set terminalset Terminalset term、(同样,后面跟着"aqua")等什么也没给出。 我尝试从八度再次绘制,让"AquaTerm"已经打开,但什么都没有。我尝试直接从 gnuplot 绘制,但同样的问题..如何做这个"设置终端水"?

Gnuplot 开始消息说"Terminal type set to 'x11'",但不知道如何更改它,以前的命令也不起作用。

由于 AquaTerm 不是从 Homebrew 安装的,也许八度/gnupot 找不到它......但不知道。 有什么猜测吗?谢谢!

我不得不将setenv("GNUTERM","X11")添加到OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME通常是/usr/local)以使其永久工作。

找到解决方案并提供有关以下内容的更多详细信息:http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-don-work.html

我在OS X 3.8.0版本10.9.1上遇到了类似的问题。观察Octave-gui如何仍然绘制图表,并使用octaverc阅读答案,我已经通过在/usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc中添加一条带有setenv("GNUTERM","qt")的线来绘制从Octave-cli工作

我不必重新安装 gnuplot 或其他依赖项。

将终端类型设置为 x11 可以解决问题,但如果你想让 AquaTerm 使用 gnuplot 的方法如下:

首先我们需要卸载现有的 gnuplot 安装,打开一个终端并运行此命令。

brew uninstall gnuplot

从这里下载 AquaTerm:http://sourceforge.net/projects/aquaterm/并像安装任何 OSX 应用程序一样。

从这里开始,有两种方法可以让 gnuplot 对 aquaterm 感到满意,方法 1 更容易,但对我不起作用,因为我的 AquaTerm 安装没有在/usr/local/lib 中创建正确的符号链接,方法2是适合我的方法,我正在分享我为使其工作而采取的步骤。

方法1:安装AquaTerm后只需重新安装gnuplot似乎就可以为人们解决此问题。

brew install gnuplot

转到验证步骤以查看是否一切正常,如果没有,请按照方法 2 进行操作

方法2:此方法更高级,但如果您耐心等待,可以保证有效。

本质上 gnuplot 找不到 AquaTerm 库文件,这就是为什么在我们安装 gnuplot 后 aqua 没有显示为终端类型选项的原因。我们需要修改 gnuplot 的自制配方以启用水产术语支持,通过键入以下内容打开 gnuplot 的酿造配方:

brew edit gnuplot

并添加这些行,如此 github 提交消息所示,这将使 gnuplot 的酿造选项包含水术语 https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

通过执行以下检查来检查是否存在正确的 AquaTerm 库符号链接:

ls /usr/local/lib/libaquaterm*
ls /usr/local/include/aquaterm/*

上面第一行应该返回一些 *.dylib 文件,上面的第二行应该返回 某些 *.h 文件(如果不存在)从终端运行以下命令:

sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.1.0.0.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/Headers/* /usr/local/include/aquaterm/.

这有时是必要的,因为由于权限问题,AquaTerm 的安装程序无法在正确的位置创建符号链接。创建/usr/local/符号链接后,重新安装 gnuplot,如下所示:

brew install gnuplot --with-aquaterm # (formerly --aquaterm in old versions)

使用以下步骤验证 gnuplot 是否可以看到水产术语并快乐绘图!


验证:通过在终端中启动 gnuplot 来正确配置了 AquaTerm

gnuplot

在 gnuplot 终端中输入这个

gnuplot> set term

寻找线

Available terminal types:
aqua  Interface to graphics terminal server for Mac OS X
...

如果你看到上面的那一行,那么你就完成了,gnuplot 配置正确,每个人都很高兴。

我找到了一种生成八度图的方法,尽管不是使用 AquaTerm 而是使用 x11。问题在于Octave正在"强迫"gnuplot使用aquaterm来绘图。而不是安装水术语并将其集成到 gnuplot 中,以八度键入:setenv GNUTERM x11.有了这个,绘图是用 x11 生成的,它已经在 gnuplot (set terminal的终端列表中。我知道这是一个补丁,但最后我不介意水族或x11,我只想生成情节

set terminalset term是gnuplot命令。

您只需要从命令行运行gnuplot即可访问 gnuplot shell。

但是,这对我不起作用,/usr/local/share/octave/site/m/startup/octaverc~/.octavercsetenv("GNUTERM","x11")也不起作用(两者都做同样的事情)。

所以我在 gnuplot shell 中运行了set term,因为列表中没有看到x11。 我使用自制软件来安装 gnuplot,所以我首先卸载了它brew uninstall gnuplot,然后使用--with-x标志安装了x11

brew install gnuplot --with-x

这为我解决了问题。 使用brew info gnuplot查看 gnuplot 安装的标志列表。

附言是的,我确实下载了一个 X11 dmg 并使用软件包安装程序安装了它,但 gnuplot 在支持的终端列表中仍然没有 x11。

你可以试试这个:

>> brew reinstall gnuplot --with-aquaterm

>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm

在你的主目录中创建一个文件.octaverc,并将 GNUTERM 设置为 X11

echo "setenv('GNUTERM','X11')" > ~/.octaverc

打开倍频程端子并键入sombrero以检查绘图是否有效

octave:1> sombrero

这对我有用:

  1. Unistall gnuplot

    brew uninstall gnuplot

  2. 安装水术语。您可以从这里下载它: http://sourceforge.net/projects/aquaterm/

  3. 重新安装 gnuplot

    酿造安装 gnuplot

Anton 是正确的。 您现在可以使用 --with-aquaterm 选项重新安装 gnuplot。 如果我有足够的声誉点来做,我会投票给他的答案。

$ brew uninstall gnuplot
$ brew install gnuplot --with-aquaterm

Mackuntu上面提到,这个问题已经在github上讨论过了。

https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

但他建议使用选项--aquaterm。 如果你仔细看看github链接,你会发现这个选项是--with-aquaterm。 今天使用此选项重新安装 gnuplot 允许我运行一些旧的八度代码,该代码使用 gnuplot 在 OS X 上绘制图形。

就我而言,在 Mas OS Mojave 上,适用于我的解决方案略有不同(可能只是语法问题)。 在此线程的讨论之后,我提出了对我有用的解决方案 - 可能需要注意的是,我可以直接从终端中的 Octave-cli 而不是从 Octave 命令行绘制。

所以我创建了一个˜/.octaverc文件并向其添加了以下命令:

setenv GNUTERM qt

只是从八度退出命令行并再次进入并能够绘图。

以下事情对我有用:

setenv("GNUTERM","qt")

您可以在八度 cli 上运行它以进行本地运行,也可以在八度启动文件中设置为永久运行。

/usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc

请记住,如果您更改octaverc文件,则必须对其具有写入权限。

我有一个答案可以解决您遇到的问题。 从本质上讲,对我来说,问题是 gnuplot 构建没有找到正确的 AquaTerm 库。 看看我发的帖子:

http://deveneezer.blogspot.com/2013/06/octave-gnuplot-and-aquaterm.html

对我有用的是安装 gnuplot-nox。另请参阅 https://bugs.mageia.org/show_bug.cgi?id=4866

似乎安装 gnuplot-nox 的最好方法是安装 fink。 http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

似乎做得很好。但是,安装一度失败。 所以我安装了 gnuplot-minimal 然后再次运行 gnuplot-nox 安装,一切正常。

fink install gnuplot-minimal
fink install gnuplot-nox

GNuploLot-NOX安装似乎已经将Aqua设置为GNuplot的默认终端。通过转到 gnuplot 外壳来验证这一点。要验证打印是否有效,请在外壳中键入 plot(1)。它应该在窗口中显示绘图。

希望这对你有用。

就像其他帖子中建议的那样,将 GNUTERM 设置为 X11 并没有为我解决这个问题。直接安装Mac OSX的AquaTerm也没有解决这个问题。

答案已经包含在上面,但我认为这更简单:

nano ~/.octaverc

添加这个:

setenv("GNUTERM", "X11")

这就是它重新启动八度,你完成了。

这是对我有用的解决方案(基于 mackuntu 评论的不同部分)

Gnuplot 可能已经通过 brew install octave 命令为您安装,因此我们需要先将其删除

brew uninstall gnuplot

然后必须安装水术语(http://sourceforge.net/projects/aquaterm/)

安装完成后,您需要再次安装 gnuplot。这是因为brew在安装过程中检测到水术语的存在,并且在安装后不会对其进行任何检查。

brew install gnuplot --with-aquaterm

如果您在安装后启动 gnuplot,它应该显示支持水术语。八度的所有图形都可以工作。

最新更新