【问题标题】:Octave-Gnuplot-AquaTerm error: set terminal aqua enhanced title "Figure 1"...unknown terminal type"Octave-Gnuplot-AquaTerm 错误:设置终端 aqua 增强标题“图 1”...未知终端类型”
【发布时间】: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") 为我工作。

标签: terminal gnuplot x11 octave homebrew


【解决方案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

【讨论】:

【解决方案7】:

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

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

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

octave:1> sombrero

【讨论】:

    【解决方案8】:

    这对我有用:

    1. 卸载 gnuplot

      brew 卸载 gnuplot

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

    3. 重新安装 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 中的图形都可以工作。

              【讨论】:

                猜你喜欢
                • 2015-07-05
                • 2012-07-22
                • 2020-08-03
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多