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


136

我已经通过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进行绘图,但是存在相同的问题。我该如何设置“ set terminal aqua”?

Gnuplot起始消息显示为“ Terminal type set to 'x11'”,但不知道如何进行更改,以前的命令也不起作用。

由于不是从Homebrew安装AquaTerm的,因此八度/手槽可能找不到它...但是不知道。有猜到吗?谢谢!


这与bash有什么关系?要求您键入set terminalgnuplot而不是bash。
n。代词

1
@nm我尝试了bash,因为在消息后(因此在八度内)键入“ set terminal” rigt给出了错误。现在,我尝试打开gnuplot并键入“ set terminal”,它起作用了,它显示了一个列表,其中没有aqua。感谢您的链接!由于我是从gnuplot安装的,brew因此没有直接编译它。如果我在brew外部下载并编译gnuplot,不知道八度音阶是否会发生任何冲突或问题...
PGreen

1
对于Linux用户:尝试安装gnuplot-x11并添加setenv("GNUTERM","X11")到您的中~/.octaverc
Martin Thoma 2014年

setenv("GNUTERM","qt")为我工作。
giapnh

Answers:


110

我必须添加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
DeepSpace101 2013年

8
如果您不想更新全局octaverc,只需创建〜/ .octaverc文件,然后在其中输入setenv命令。
2014年

83
我刚刚在OS X 10.9(Mavericks)上安装了Octave 3.8.0,并且Octave捆绑包似乎已设置为使用gnuplot_qt将Qt用于开窗(而不是aqua或x11)。创建一个〜/ .octaverc文件,其中包含setenv("GNUTERM","qt")对我有用的(感谢@Raj和@nightlyop)。
tomelgin

如果您使用Homebrew来安装Octave,则会在以下路径中找到octaverc文件:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao

3
setenv(“ GNUTERM”,“ qt”)在Sierra 10.12.6上为我工作。“ x11”没有。
特雷维斯·托马斯

79

我在OS X 10.9.1上遇到了与Octave-cli版本3.8.0类似的问题。观察Octave-gui仍如何绘制图表,并使用octaverc读取答案,我通过setenv("GNUTERM","qt")在/usr/local/octave/3.8.0/share/octave/中添加一行来从Octave-cli进行绘图站点/ m /启动/ octaverc

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


太棒了!谢谢!
Thomas Ingalls 2014年

6
将GNUTERM设置为qt对我有用(不是X11),但是我将其放在我的主目录(〜/ .octaverc)中,而不是上面提到的目录。我不知道有什么区别,但是主目录似乎与安装无关。
sepan 2014年

3
我还向我的主目录〜/ .octaverc中添加了setenv(“ GNUTERM”,“ qt”),使用八度进行绘图现在就像一种魅力。谢谢
chekkal 2014年

谢谢。为El Capitan工作!
罗汉

70

将终端类型设置为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的自制食谱以启用aquaterm支持,通过键入以下内容来打开gnuplot的酿造食谱:

brew edit gnuplot

并添加这些行,如此github commit消息中所示,这将使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一直!
本·米勒

2
仅供参考:我不需要为gnuplot更新配方;只需在安装gnuplot之前添加符号链接就可以了。看来此“自制程序”方面的所有问题均已修复。干杯!
阿隆(Aron)2013年

3
brew reinstall gnuplot --aquaterm就像魅力一样...届时必须已经安装了aquaterm。
皮克勒2014年

6
用我的设置,我不得不brew install gnuplot --with-aquaterm; 显然,4.6.6的brew gnuplot配方现在使用'--with-aquaterm':无需编辑配方或创建那些符号链接,但是在安装gnuplot时确实需要显式添加--with-aquaterm。
Mike Sokolov 2015年

感谢您的大力帮助...使用
第二种

47

我找到了一种使用倍频程生成图的方法,尽管它不是使用AquaTerm而是x11。问题在于Octave正在“强制” gnuplot使用aquaterm进行绘图。而不是将Aquaterm安装并集成到gnuplot中,而是使用octave类型:setenv GNUTERM x11。这样,将使用gnuplot(set terminal)终端列表中的x11生成图。我知道这是一个补丁,但是最后我不介意aquaterm或x11,我只想生成图


1
谢谢您,在我尝试了至少六个单独的解决方案之后,您的回答对我有所帮助
Kim Stacks 2013年

2
如果运行linux Mint 16,则可能需要安装gnuplot-x11。sudo apt-get install gnuplot-x11然后像PGreen所说的那样,我发现我的conf文件位于/etc/octave.conf。希望有帮助。
user1153623 2014年

24

set terminal还是set termgnuplot命令。

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

但是,这对我不起作用,setenv("GNUTERM","x11")in /usr/local/share/octave/site/m/startup/octaverc~/.octaverc(都做相同的事情)也没有。

所以我set term在gnuplot shell中运行,x11列表中没有。我使用自制软件安装了gnuplot,因此我先将其卸载brew uninstall gnuplot,然后使用x11using --with-x标志进行安装:

brew install gnuplot --with-x

这为我解决了这个问题。使用brew info gnuplot看标志为gnuplot的安装目录。

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


2
很有帮助。请注意,使用QT或WxWindows终端对我来说,图形看起来更干净,可以分别使用--qt--wxbrew安装选项进行安装(如果需要,还可以一起安装)。
Bryan P

1
代替brew install gnuplot --with-x,而是使用brew reinstall gnuplot --with-x11(如果已经安装了gnuplot; --with-x似乎不再受支持)
Tushar


8

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

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

打开八度音阶并输入sombrero以检查绘图是否正常

octave:1> sombrero

6

这对我有用:

  1. Unistall gnuplot

    brew卸载gnuplot

  2. 安装AquaTerm。您可以从此处下载:http : //sourceforge.net/projects/aquaterm/

  3. 重新安装gnuplot

    酿造安装gnuplot


如果您仍然收到“细分错误:11”和“无法加载适当的字体”的信息,这些命令对我brew uninstall fontconfig && brew install fontconfig --universal
朱利安

6

安东是正确的。现在,您可以使用--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上绘制图形。



4

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

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

setenv GNUTERM qt

只需从八度退出命令行,然后再次输入即可绘制。


4

以下内容对我有用:

setenv("GNUTERM","qt")

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

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

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


2

对我有用的是安装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

gnuplot-nox安装似乎已将aqua设置为gnuplot的默认终端。通过转到gnuplot shell进行验证。要验证绘图是否有效,请在外壳程序中键入plot(1)。它应该在一个窗口中显示该图。

希望对您有用。

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


2

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

nano ~/.octaverc

添加以下内容:

setenv("GNUTERM", "X11")

就是这样,重启八度就完成了。


0

这是为我工作的解决方案(基于mackuntu注释的不同部分)

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

brew uninstall gnuplot

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

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

brew install gnuplot --with-aquaterm

如果在安装后启动gnuplot,则应显示支持aquaterm。并且所有倍频程中的图形都可以使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.