Ошибка Octave-Gnuplot-AquaTerm: установить терминал aqua улучшенный заголовок "Рисунок 1"... неизвестный тип терминала "
Я установил 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`
В терминале bash set terminal
, set terminal
, set term
(и то же самое, за которым следует "aqua" ) и т.д. ничего не дает.
Я пробовал снова рисовать из октавы, когда "AquaTerm" уже открыт, но ничего. Я пробовал строить график непосредственно из gnuplot, но с той же проблемой.. Как я могу сделать это "установить терминальную аква"?
Начальное сообщение Gnuplot говорит "Terminal type set to 'x11'
", но не знаю, как его изменить, предыдущие команды тоже не работали.
Так как AquaTerm не был установлен из Homebrew, возможно, октава /gnupot не может его найти... но не знаю.
Любая догадка? Спасибо!
Ответы
Ответ 1
Я нашел способ генерировать графики с октавой, хотя не использует AquaTerm, но x11. Проблема заключалась в том, что Октав "заставлял" gnuplot использовать акватерм для заговора. Вместо того, чтобы устанавливать и интегрировать aquaterm в gnuplot, в октаве напечатано: setenv GNUTERM x11
. При этом графики генерируются с помощью x11, который уже находится в списке терминалов gnuplot (set terminal
). Я знаю, что это патч, но, наконец, я не против aquaterm или x11, я просто хочу, чтобы графики были сгенерированы
Ответ 2
Мне пришлось добавить 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
Ответ 3
У меня возникла аналогичная проблема с Octave-cli, версия 3.8.0, на OS X 10.9.1. Наблюдая за тем, как Octave-gui все еще может строить диаграммы, и, читая ответ с помощью октавера, у меня есть график для работы из Octave-cli, добавив строку с setenv("GNUTERM","qt")
в/usr/local/octave/3.8.0/share/октава/сайт/м/запуск/octaverc
Мне не нужно было переустанавливать gnuplot или другие зависимости.
Ответ 4
Настройка типа терминала на 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, поэтому аква не отображается как опция типа терминала после того, как мы установили gnuplot. Нам нужно изменить рецепт homebrew для gnuplot, чтобы включить поддержку aquaterm, откройте рецепт brew для gnuplot, набрав:
brew edit gnuplot
И добавьте эти строки, как показано в этом сообщении github commit, это позволит опции 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 настроен правильно, и все счастливы.
Ответ 5
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.
P.S.
И да, я загрузил X11 dmg и установил его с помощью установщика пакетов, но gnuplot не содержал x11 в списке поддерживаемых терминалов.
Ответ 6
Вы можете попробовать следующее:
>> brew reinstall gnuplot --with-aquaterm
или
>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm
Ответ 7
Создайте файл .octaverc
в своем домашнем каталоге и установите GNUTERM на X11
echo "setenv('GNUTERM','X11')" > ~/.octaverc
Откройте октавный терминал и введите sombrero
, чтобы проверить, работает ли печать.
octave:1> sombrero
Ответ 8
Это сработало для меня:
Ответ 9
Антон прав. Теперь вы можете просто переустановить 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.
Ответ 10
У меня есть ответ, который должен решить проблему, с которой вы столкнулись. По сути, для меня проблема заключалась в том, что при сборке gnuplot не были найдены надлежащие библиотеки AquaTerm. Проверьте сообщение, которое я сделал:
http://deveneezer.blogspot.com/2013/06/octave-gnuplot-and-aquaterm.html
Ответ 11
В моем случае, на Mas OS Mojave решение, которое работало для меня, было немного другим (это мог быть только вопрос синтаксиса). После обсуждения этой темы я пришел с решением, которое работало для меня - может быть важно отметить, что я мог строить графики из Octave-cli, а не из командной строки Octave непосредственно в терминале.
Поэтому я создал файл ˜/.octaverc
и добавил к нему следующую команду:
setenv GNUTERM qt
Просто вышел из командной строки из октавы и снова вошел и смог построить.
Ответ 12
Для меня работает установка 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-minimum, а затем снова запустил gnuplot-nox и все работало нормально.
fink install gnuplot-minimal
fink install gnuplot-nox
Установка gnuplot-nox, похоже, установила aqua в качестве терминала по умолчанию для gnuplot. Убедитесь, что перейдем к оболочке gnuplot. Чтобы проверить, работает ли печать, напечатайте график (1) в оболочке. Он должен отображать график в окне.
Надеюсь, что это сработает для вас.
Как и в других сообщениях, установка GNUTERM на X11 не решила эту проблему для меня. Также прямая установка AquaTerm для Mac OSX не решила эту проблему.
Ответ 13
Ответ уже содержится в приведенном выше, но это проще, я думаю:
nano ~/.octaverc
добавить это:
setenv("GNUTERM", "X11")
Это перезапустить октаву, которую вы сделали.
Ответ 14
Вот решение, которое сработало для меня (на основе разных частей комментария mackuntu)
Gnuplot, вероятно, уже установлен для вас командой brew install октавы, поэтому нам нужно сначала ее удалить
brew uninstall gnuplot
Затем необходимо установить aquaterm (http://sourceforge.net/projects/aquaterm/)
После завершения установки вам нужно снова установить gnuplot. Это связано с тем, что brew обнаруживает присутствие aquaterm во время установки и не будет проверять его после.
brew install gnuplot --with-aquaterm
Если вы запускаете gnuplot после установки, он должен показать, что поддерживается aquaterm. И вся графика в октаве будет работать.
Ответ 15
У меня сработало следующее:
setenv("GNUTERM","qt")
Вы можете либо запустить его в октавном кли, для локального запуска, либо установить в файле запуска октавы постоянный режим.
/usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc
Просто помните, что в случае изменения файла octaverc у вас должны быть права на запись в него.
Ответ 16
setenv("GNUTERM","qt")
работал на меня