Ошибка Octave-Gnuplot-AquaTerm: установить расширенный аква-заголовок терминала «Рисунок 1»… неизвестный тип терминала »


136

Я установил Octave и gnuplot через Homebrew и скачал 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`

В Баш терминале set terminal, set Terminal, set term, (и то же самое, а затем «аква» тоже) и т.д. ничего не дает. Я снова пробовал строить из октавы с уже открытым «AquaTerm», но ничего. Я пробовал прокладывать графики напрямую из gnuplot, но та же проблема .. Как я могу сделать это "установить терминал аква"?

Стартовое сообщение Gnuplot говорит " Terminal type set to 'x11'", но не знаю, как это изменить, предыдущие команды тоже не сработали.

Поскольку AquaTerm не был установлен из Homebrew, возможно, октава / gnupot не может его найти ... но не знаю. Есть предположения? Спасибо!


Какое отношение это имеет к bash? Вам предлагается ввести set terminalgnuplot, а не bash.
нет. местоимения м.

1
@nm Я пробовал в bash, потому что ввод «set Terminal» rigt после сообщения (и, следовательно, внутри октавы) дал ошибку. Теперь я попытался открыть gnuplot и набрать «установить терминал», и это сработало, оно показывает список, в котором отсутствует aqua. Спасибо за ссылку! Поскольку я установил gnuplot из, brewя не скомпилировал его напрямую. если я скачаю и скомпилирую gnuplot вне brew, не знаю, будет ли конфликт или проблема с октавой ...
PGreen

1
Для пользователей Linux: попробуйте установить gnuplot-x11и добавить setenv("GNUTERM","X11")в свой ~/.octaverc.
Мартин Тома

setenv("GNUTERM","qt")работал на меня.
giapnh

Ответы:


110

Я должен был добавить setenv("GNUTERM","X11")к OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME обычно / USR / местные) , чтобы заставить его работать на постоянной основе .

Решение найдено и более подробная информация на: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html


Если вы когда-нибудь захотите вернуть его, исходное значение будет aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101

8
Если вы не хотите обновлять глобальный octaverc, просто создайте файл ~ / .octaverc и введите там команду setenv.
Радж

83
Я только что установил Octave 3.8.0 на OS X 10.9 (Mavericks), и пакет Octave, похоже, настроен на использование Qt для управления окнами (а не aqua или x11) с использованием gnuplot_qt. Создание файла ~ / .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. «х11» не сделал.
Тревис Томас

79

Я столкнулся с подобной проблемой с Octave-cli, версия 3.8.0, на OS X 10.9.1. Наблюдая за тем, как Octave-GUI все еще может строить графики, и читая ответ с помощью octaverc, я начал работать с Octave-cli, добавив строку с setenv("GNUTERM","qt")/usr/local/octave/3.8.0/share/octave/ сайт / м / запуск / octaverc

Мне не нужно было переустанавливать gnuplot или другие зависимости.


Это потрясающе! Спасибо!
Томас Ингаллс

6
Установка GNUTERM для qt работала для меня (не X11), но я поместил его в свой домашний каталог (~ / .octaverc), а не в каталог, упомянутый выше. Я не знаю, в чем разница, но домашний каталог кажется более инсталляционным.
сентября

3
Я также добавил setenv ("GNUTERM", "qt") в мою домашнюю директорию ~ / .octaverc, и заговор с октавой теперь работает как чудо. Спасибо
чеккал

Спасибо. Работает на 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: просто переустановите gnuplot после установки AquaTerm, по-видимому, решить эту проблему для людей.

brew install gnuplot

Перейдите к шагу проверки, чтобы увидеть, все ли работает, если нет, выполните метод 2

Метод 2: Этот метод более продвинутый, но гарантированно сработает, если вы терпеливы.

По сути, gnuplot не может найти файлы библиотеки AquaTerm, поэтому aqua не отображается как опция типа терминала после того, как мы установили gnuplot. Нам нужно изменить рецепт домашнего приготовления для gnuplot, чтобы включить поддержку aquaterm, откройте рецепт приготовления для gnuplot, набрав:

brew edit gnuplot

И добавьте эти строки, как показано в этом сообщении коммита github, это позволит опции brew для gnuplot включить 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 / symlinks переустановите gnuplot следующим образом:

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

Убедитесь, что gnuplot может видеть акватерм, используя приведенные ниже шаги, и счастливого заговора!


Проверьте: что gnuplot был правильно настроен с AquaTerm, запустив gnuplot в терминале

gnuplot

Введите это в терминале gnuplot

gnuplot> set term

Ищите линию

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

Если вы видите эту строку выше, значит, все готово, gnuplot настроен правильно, и все счастливы.


Способ 2 полностью!
Бен Миллер

2
К вашему сведению: мне не нужно было обновлять рецепт для gnuplot; простое добавление символических ссылок перед установкой gnuplot сделало свое дело. Похоже, что любые проблемы на стороне Homebrew это было исправлено. Ура!
Арон

3
brew reinstall gnuplot --aquatermработал как шарм ... Акватерм, должно быть, уже был установлен в тот момент.
Пиклер

6
с моей настройкой я должен был brew install gnuplot --with-aquaterm; очевидно, рецепт brew gnuplot для 4.6.6 теперь использует '--with-aquaterm': нет необходимости редактировать рецепт или создавать эти символические ссылки, но вам необходимо явно добавить --with-aquaterm при установке gnuplot.
Майк Соколов

Спасибо за большую помощь ... У меня это хорошо сработало, используя второй метод
minhas23

47

Я нашел способ генерировать графики с октавой, хотя не с использованием AquaTerm, а x11. Проблема заключалась в том, что Octave «заставляла» gnuplot использовать акватерм для построения. Вместо установки и интеграции Aquaterm в Gnuplot, в октаве напечатал: setenv GNUTERM x11. При этом графики создаются с помощью x11, который уже находится в списке терминалов gnuplot ( set terminal). Я знаю, что это патч, но, наконец, я не возражаю против Aquaterm или X11, я просто хочу генерировать графики


1
Спасибо, ваш ответ помог мне после того, как я попробовал по крайней мере полдюжины отдельных решений
Ким Стеки

2
Если вы используете Linux Mint 16, вам может потребоваться установить gnuplot-x11. sudo apt-get install gnuplot-x11 Затем, как сказал PGreen, я обнаружил, что мой файл conf находится в /etc/octave.conf. Надеюсь, это поможет.
user1153623

24

set terminalили set termэто команда gnuplot.

Вам просто нужно запустить gnuplotиз командной строки, чтобы получить доступ к оболочке gnuplot.

Однако, это не работал для меня, ни делали setenv("GNUTERM","x11")в /usr/local/share/octave/site/m/startup/octavercили ~/.octaverc(оба делают то же самое).

Поэтому я запустил set termв оболочке gnuplot, как не видел x11в списке. Я использовал homebrew для установки gnuplot, поэтому сначала удалил его brew uninstall gnuplot, а затем установил с x11использованием --with-xфлага для этого:

brew install gnuplot --with-x

Это решило проблему для меня. Используйте brew info gnuplotдля просмотра списка флагов для установки gnuplot.

PS И да, я скачал dmg X11 и установил его с помощью установщика пакетов, но в списке поддерживаемых терминалов gnuplot все еще не было x11.


2
Очень полезно. Обратите внимание, что графика кажется мне чище, используя терминалы QT или WxWindows, которые можно установить (вдоль стороны, если необходимо), используя опции установки --qtи --wxbrew соответственно.
Брайан П

1
Вместо того , чтобы не brew install gnuplot --with-x, использования brew reinstall gnuplot --with-x11(если Gnuplot уже установлена; --with-х , кажется , больше не поддерживается)
Tushar

10

Вы можете попробовать это:

>> brew reinstall gnuplot --with-aquaterm

или

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

Могли бы использовать еще несколько объяснений.
Дженс

3
Имейте в виду, что перед переустановкой gnuplot вам действительно нужно установить aquaterm. aquaterm.github.io
Ли Авиталь

не with-aquatermбольше не является допустимым вариантом для Gnuplot: github.com/Homebrew/homebrew-core/issues/46923
Ty Hitzeman

8

Создайте файл .octavercв вашем домашнем каталоге и установите GNUTERM на X11

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

Откройте октавный терминал и введите, sombreroчтобы проверить, работает ли черчение

octave:1> sombrero

6

Это сработало для меня:

  1. Юнисталл Гнуплот

    варить удалить gnuplot

  2. Установите AquaTerm. Вы можете скачать его здесь: http://sourceforge.net/projects/aquaterm/

  3. Переустановите gnuplot

    заварить установить гнуплот


Если вы все еще получаете «Ошибка сегментации: 11» и «не можете загрузить соответствующий шрифт», эти команды сработали для меня: brew uninstall fontconfig && brew install fontconfig --universal
Джулиан,

6

Антон прав. Теперь вы можете просто переустановить gnuplot с опцией --with-aquaterm. Я бы одобрил его ответ, если бы у меня было достаточно очков репутации, чтобы сделать это.

$ 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.


5

У меня есть ответ, который должен решить проблему, с которой вы столкнулись. По сути, для меня проблема заключалась в том, что сборка gnuplot не находила нужные библиотеки AquaTerm. Проверьте сообщение, которое я сделал:

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


1
Спасибо за ваше решение! :)
PGreen

4

В моем случае, на Mas OS Mojave, решение, которое работало для меня, было немного другим (это могло быть только вопросом синтаксиса). После обсуждения этой темы я пришел с решением, которое работало для меня - может быть важно отметить, что я мог строить графики из Octave-cli, а не из командной строки Octave непосредственно в терминале.

Поэтому я создал ˜/.octavercфайл и добавил к нему следующую команду:

setenv GNUTERM qt

Просто вышел из командной строки из октавы и снова вошел и смог построить.


4

У меня сработало следующее:

setenv("GNUTERM","qt")

Вы можете запустить его в октавном клие для локального запуска или установить в файле запуска октавы на постоянный характер.

/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. Чтобы проверить, работает ли черчение, введите plot (1) в оболочке. Он должен показать сюжет в окне.

Надеюсь, что это работает для вас.

Как и предлагалось в других постах, установка GNUTERM на X11 не решила эту проблему для меня. Также прямая установка AquaTerm для Mac OSX не решила эту проблему.


2

Ответ уже содержится в приведенном выше, но это проще, я думаю:

nano ~/.octaverc

Добавь это:

setenv("GNUTERM", "X11")

Вот и перезапусти октаву, все готово.


0

Вот решение, которое сработало для меня (на основе разных частей комментария mackuntu)

Gnuplot, вероятно, уже установлен для вас командой brew install octave, поэтому нам нужно сначала удалить его

brew uninstall gnuplot

Затем должен быть установлен aquaterm ( http://sourceforge.net/projects/aquaterm/ )

После завершения установки вам необходимо снова установить gnuplot. Это связано с тем, что brew обнаруживает присутствие aquaterm во время установки и не будет проверять его после.

brew install gnuplot --with-aquaterm

Если вы запустите gnuplot после установки, это должно показать, что aquaterm поддерживается. И вся графика в октаве будет работать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.