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 terminal
、set Terminal
、set 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
【讨论】:
如果你想恢复它,原始值是aqua
。 octave: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 terminal
或 set 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.iowith-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”...未知终端类型”的主要内容,如果未能解决你的问题,请参考以下文章