Octave-Gnuplot-AquaTerm 错误:设置终端 aqua 增强标题“图 1”...未知终端类型”

Posted

技术标签:

【中文标题】Octave-Gnuplot-AquaTerm 错误:设置终端 aqua 增强标题“图 1”...未知终端类型”【英文标题】:Octave-Gnuplot-AquaTerm error: set terminal aqua enhanced title "Figure 1"...unknown terminal type" 【发布时间】:2012-11-27 00:40:53 【问题描述】:

我已经通过 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 绘图,但同样的问题.. 我该怎么做这个“设置终端 aqua”?

Gnuplot 启动消息显示“Terminal type set to 'x11'”但不知道如何更改它,之前的命令也不起作用。

由于没有从 Homebrew 安装 AquaTerm,因此可能 octave/gnupot 找不到它……但不知道。 有什么猜测吗?谢谢!

【问题讨论】:

这到底和 bash 有什么关系?你被要求在 gnuplot 中输入set terminal,而不是在 bash 中。 @n.m 我在 bash 中尝试过,因为在消息之后(因此在八度音程内)输入“set terminal”rigt 会出错。现在我尝试打开 gnuplot 并键入“设置终端”,它工作了,它显示了一个列表,其中没有 aqua。感谢您的链接!由于我从brew 安装了gnuplot,我没有直接编译它。如果我在 brew 之外下载并编译 gnuplot 不知道八度是否会有任何冲突或问题... 对于 Linux 用户:尝试安装 gnuplot-x11 并将 setenv("GNUTERM","X11") 添加到您的 ~/.octaverc setenv("GNUTERM","qt") 为我工作。 【参考方案1】:

我必须将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-dont-work.html

【讨论】:

如果你想恢复它,原始值是aquaoctave:1> getenv GNUTERM ans = aqua 如果你不想更新全局octaverc,只需创建一个文件~/.octaverc并在其中输入setenv命令。 我刚刚在 OS X 10.9 (Mavericks) 上安装了 Octave 3.8.0,并且 Octave 包似乎设置为使用 gnuplot_qt 进行窗口化(而不是 aqua 或 x11)。创建一个包含setenv("GNUTERM","qt") 的~/.octaverc 文件对我有用(感谢@Raj 和@nightlyop)。 如果你使用 Homebrew 安装 Octave,你会在以下路径找到 octaverc 文件:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc setenv("GNUTERM","qt") 在 Sierra 10.12.6 上为我工作。 “x11”没有。【参考方案2】:

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

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

【讨论】:

这太完美了!谢谢! 将 GNUTERM 设置为 qt 对我有用(不是 X11),但我把它放在我的主目录(~/.octaverc)而不是上面提到的目录中。我不知道有什么区别,但主目录似乎更适合安装。 我还将 setenv("GNUTERM","qt") 添加到我的主目录 ~/.octaverc 中,现在使用 octave 进行绘图就像一个魅力。谢谢 谢谢。为 El Capitan 工作!【参考方案3】:

将终端类型设置为 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

方法二:这种方法比较先进,但如果你有耐心,保证会奏效。

基本上 gnuplot 无法找到 AquaTerm 库文件,这就是为什么在我们安装 gnuplot 后 aqua 没有显示为终端类型选项的原因。我们需要修改 gnuplot 的自制配方以启用 aquaterm 支持,通过键入以下命令打开 gnuplot 的 brew 配方:

brew edit gnuplot

并按照此 github 提交消息中所示添加这些行,这将启用 gnuplot 的 brew 选项以包含 aquaterm 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 是否可以看到 aquaterm 并进行愉快的绘图!


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

gnuplot

在 gnuplot 终端中输入这个

gnuplot> set term

找线

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

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

【讨论】:

方法2一路走好! 仅供参考:我不需要更新 gnuplot 的配方;只需在安装 gnuplot 之前添加符号链接就可以了。看起来 Homebrew 方面的任何问题都已修复。干杯! brew reinstall gnuplot --aquaterm 就像一个魅力... aquaterm 一定已经安装了。 使用我的设置,我必须 brew install gnuplot --with-aquaterm ;显然 4.6.6 的 brew gnuplot 配方现在使用“--with-aquaterm”:无需编辑配方或创建这些符号链接,但您需要在安装 gnuplot 时显式添加--with-aquaterm。 感谢您的大力帮助...使用第二种方法对我来说效果很好【参考方案4】:

我找到了一种用八度音阶生成图的方法,虽然不是使用 AquaTerm 而是 x11。问题是 Octave “强迫” gnuplot 使用 aquaterm 进行绘图。不是安装 aquaterm 并将其集成到 gnuplot 中,而是使用八度音程键入:setenv GNUTERM x11。有了这个,绘图是用 x11 生成的,它已经在 gnuplot (set terminal) 的终端列表中。我知道这是一个补丁,但最后我不介意 aquaterm 或 x11,我只想生成绘图

【讨论】:

谢谢,在我尝试了至少六种不同的解决方案后,您的回答对我有所帮助 如果运行 linux Mint 16,您可能需要安装 gnuplot-x11。 sudo apt-get install gnuplot-x11 然后按照PGreen说的做,我发现我的conf文件在/etc/octave.conf。希望对您有所帮助。【参考方案5】:

set terminalset term 是 gnuplot 命令。

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

但是,这对我不起作用,/usr/local/share/octave/site/m/startup/octaverc~/.octaverc 中的 setenv("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。

【讨论】:

非常有帮助。请注意,使用 QT 或 WxWindows 终端,图形对我来说似乎更干净,可以分别使用 --qt--wx brew 安装选项安装(如果需要,可以在旁边安装)。 brew reinstall gnuplot --with-x11代替brew install gnuplot --with-x(如果已经安装了gnuplot;似乎不再支持--with-x)【参考方案6】:

你可以试试这个:

>> brew reinstall gnuplot --with-aquaterm

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

【讨论】:

可以再解释一下。 请注意,在重新安装 gnuplot 之前,您实际上需要安装 aquaterm。 aquaterm.github.io with-aquaterm 不再是 gnuplot 的有效选项:github.com/Homebrew/homebrew-core/issues/46923【参考方案7】:

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

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

打开 octave 终端并输入 sombrero 以检查绘图是否有效

octave:1> sombrero

【讨论】:

【参考方案8】:

这对我有用:

    卸载 gnuplot

    brew 卸载 gnuplot

    安装 AquaTerm。你可以从这里下载:http://sourceforge.net/projects/aquaterm/

    重新安装 gnuplot

    brew 安装 gnuplot

【讨论】:

如果您仍然收到“分段错误:11”和“无法加载适当的字体”,这些命令对我有用:brew uninstall fontconfig&&brew install fontconfig --universal【参考方案9】:

安东是正确的。您现在可以使用 --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 让我可以运行一些旧的 octave 代码,这些代码使用 gnuplot 在 OS X 上绘制图形。

【讨论】:

【参考方案10】:

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

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

setenv GNUTERM qt

只需从八度退出命令行并再次输入即可绘图。

【讨论】:

【参考方案11】:

以下事情对我有用:

setenv("GNUTERM","qt")

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

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

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

【讨论】:

【参考方案12】:

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

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

【讨论】:

感谢您的解决方案! :)【参考方案13】:

对我有用的是安装 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 install 一切正常。

fink install gnuplot-minimal
fink install gnuplot-nox

gnuplot-nox install 似乎已将 aqua 设置为 gnuplot 的默认终端。通过转到 gnuplot shell 来验证这一点。要验证绘图是否有效,请在 shell 中键入 plot(1)。它应该在窗口中显示绘图。

希望对你有用。

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

【讨论】:

【参考方案14】:

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

nano ~/.octaverc

添加这个:

setenv("GNUTERM", "X11")

这就是它重新开始八度你完成了。

【讨论】:

【参考方案15】:

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

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

brew uninstall gnuplot

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

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

brew install gnuplot --with-aquaterm

如果您在安装后启动 gnuplot,它应该显示支持 aquaterm。并且所有 octave 中的图形都可以工作。

【讨论】:

以上是关于Octave-Gnuplot-AquaTerm 错误:设置终端 aqua 增强标题“图 1”...未知终端类型”的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 如何正确的分析报错信息

嘿嘿!报错不断呀!快哉快哉,检测nginx配置文件时报错,整它!

mycat这个报错信息怎么解决

JVM-Sandbox常见报错

oralce报错注入(转自某个奇安信大佬)

SQL注入之报错注入(floorextractvalueupdatexml)