Octave-Gnuplot-AquaTerm-Fehler: Setzen Sie den erweiterten Titel für Terminal-Aqua auf "Abbildung 1" ... unbekannter Terminaltyp "

136

Ich habe Octave und Gnuplot über Homebrew installiert und AquaTerm.dmg heruntergeladen. Wenn ich versuche zu zeichnen, erhalte ich die folgende Meldung:

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`

In einem Bash - Terminal set terminal, set Terminal, set term, (und das gleiche, gefolgt von "Aqua" auch) usw. gibt nichts. Ich habe erneut versucht, aus der Oktave zu zeichnen, wobei der "AquaTerm" bereits geöffnet ist, aber nichts. Ich habe versucht, direkt von Gnuplot aus zu zeichnen, aber das gleiche Problem. Wie kann ich dieses "Set Terminal Aqua" durchführen?

Die Gnuplot-Startnachricht sagt " Terminal type set to 'x11'", aber keine Ahnung, wie sie geändert werden soll. Die vorherigen Befehle haben auch nicht funktioniert.

Da AquaTerm nicht von Homebrew installiert wurde, kann Octave / Gnupot es vielleicht nicht finden ... aber keine Ahnung. Irgendwelche Ideen? Vielen Dank!

PGreen
quelle
Was um alles in der Welt hat das mit Bash zu tun? Sie werden gebeten, set terminalgnuplot und nicht bash einzugeben.
n. 'Pronomen' m.
1
@nm Ich habe es in Bash versucht, weil die Eingabe von "set terminal" rigt nach der Nachricht (und daher innerhalb der Oktave) einen Fehler ergab. Jetzt habe ich versucht, gnuplot zu öffnen und "set terminal" einzugeben, und es hat funktioniert. Es zeigt eine Liste, in der aqua nicht vorhanden ist. Danke für den Link! Da ich gnuplot von installiert brewhabe, habe ich es nicht direkt kompiliert. Wenn ich Gnuplot außerhalb von
Brew
1
Für Linux-Benutzer: Versuchen gnuplot-x11Sie setenv("GNUTERM","X11"), Ihre zu installieren und zu Ihrer hinzuzufügen ~/.octaverc.
Martin Thoma
setenv("GNUTERM","qt")arbeitete für mich.
Giapnh

Antworten:

110

Ich musste hinzufügen setenv("GNUTERM","X11")zu OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME normalerweise / usr / local) , um es dauerhaft zu arbeiten.

Lösung gefunden und weitere Details unter: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html

Nightlyop
quelle
Wenn Sie es jemals zurücksetzen möchten, ist der ursprüngliche Wert aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101
8
Wenn Sie den globalen Octaverc nicht aktualisieren möchten, erstellen Sie einfach eine Datei ~ / .octaverc und geben Sie dort den Befehl setenv ein.
Raj
83
Ich habe gerade Octave 3.8.0 unter OS X 10.9 (Mavericks) installiert, und das Octave-Bundle scheint so eingerichtet zu sein, dass Qt für die Fensterung (anstelle von Aqua oder x11) mit gnuplot_qt verwendet wird. Das Erstellen einer ~ / .octaverc-Datei mit setenv("GNUTERM","qt")hat für mich funktioniert (danke @Raj und @nightlyop).
Tomelgin
Wenn Sie Homebrew verwendet haben, um Octave zu installieren, finden Sie die Octaverc-Datei im folgenden Pfad:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao
3
setenv ("GNUTERM", "qt") hat bei Sierra 10.12.6 für mich gearbeitet. "x11" nicht.
Trevis Thomas
79

Ich habe ein ähnliches Problem mit Octave-cli, Version 3.8.0, unter OS X 10.9.1 festgestellt. Wenn ich beobachte, wie Octave-gui noch Diagramme zeichnen kann, und die Antwort mit octaverc nachlese, habe ich geplant, von Octave-cli aus zu arbeiten, indem ich eine Zeile mit setenv("GNUTERM","qt")zu /usr/local/octave/3.8.0/share/octave/ hinzufüge. site / m / startup / octaverc

Ich musste Gnuplot oder andere Abhängigkeiten nicht neu installieren.

Rehumbus
quelle
Dies ist perfekt! Vielen Dank!
Thomas Ingalls
6
Das Setzen von GNUTERM auf qt hat bei mir funktioniert (nicht bei X11), aber ich habe es in mein Home-Verzeichnis (~ / .octaverc) gestellt, nicht in das oben erwähnte Verzeichnis. Ich weiß nicht, was der Unterschied ist, aber das Home-Verzeichnis scheint installationsneutraler zu sein.
Sepans
3
Ich habe auch setenv ("GNUTERM", "qt") zu meinem Home-Verzeichnis ~ / .octaverc hinzugefügt und das Plotten mit Oktave funktioniert jetzt wie ein Zauber. Danke
Chekkal
Vielen Dank. Funktioniert für El Capitan!
Rohan
70

Das Setzen des Terminaltyps auf x11 würde das Problem lösen. Wenn Sie jedoch möchten, dass AquaTerm mit gnuplot funktioniert, gehen Sie wie folgt vor:

Zuerst müssen wir die vorhandene Installation von gnuplot deinstallieren, ein Terminal öffnen und diesen Befehl ausführen.

brew uninstall gnuplot

Laden Sie AquaTerm hier herunter: http://sourceforge.net/projects/aquaterm/ und installieren Sie es wie jede andere OSX-Anwendung.

Ab hier gibt es zwei Möglichkeiten, um Gnuplot mit aquaterm zufrieden zu stellen. Methode 1 ist einfacher, hat aber bei mir nicht funktioniert, da meine AquaTerm-Installation nicht die richtigen Symlinks in / usr / local / lib erstellt hat. Methode 2 ist die eine, die für mich funktioniert hat, und ich teile die Schritte, die ich unternommen habe, um sie zum Laufen zu bringen.

Methode 1: Gnuplot nach der Installation von AquaTerm einfach neu installieren, scheint dieses Problem für Benutzer zu beheben.

brew install gnuplot

Gehen Sie zum Überprüfungsschritt, um festzustellen, ob alles funktioniert hat. Wenn nicht, folgen Sie Methode 2

Methode 2: Diese Methode ist fortgeschrittener, funktioniert aber garantiert, wenn Sie geduldig sind.

Im Wesentlichen kann gnuplot die AquaTerm-Bibliotheksdateien nicht finden. Aus diesem Grund wird aqua nach der Installation von gnuplot nicht als Terminaltypoption angezeigt. Wir müssen das Homebrew-Rezept für Gnuplot ändern, um die Unterstützung von Aquaterm zu ermöglichen. Öffnen Sie das Brührezept für Gnuplot, indem Sie Folgendes eingeben:

brew edit gnuplot

Fügen Sie diese Zeilen wie in dieser Github-Commit-Nachricht gezeigt hinzu. Dadurch wird die Brühoption für Gnuplot aktiviert, um aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477 einzuschließen

Überprüfen Sie anhand der folgenden Überprüfungen, ob die richtigen Symlinks für die AquaTerm-Bibliothek vorhanden sind:

ls /usr/local/lib/libaquaterm*
ls /usr/local/include/aquaterm/*

In der ersten Zeile oben sollten einige * .dylib-Dateien zurückgegeben werden, in der zweiten Zeile oben sollten einige * .h-Dateien zurückgegeben werden. Wenn sie nicht vorhanden sind, führen Sie diese Befehle vom Terminal aus:

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

Dies ist manchmal erforderlich, da das Installationsprogramm für AquaTerm die Symlinks aufgrund von Berechtigungsproblemen nicht an den richtigen Stellen erstellen kann. Sobald die / usr / local / symlinks erstellt wurden, installieren Sie gnuplot wie folgt neu:

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

Stellen Sie sicher, dass Gnuplot Aquaterm sehen kann, indem Sie die folgenden Schritte ausführen und glücklich planen!


Überprüfen: dass gnuplot mit Aquaterm korrekt durch die Einführung in gnuplot Terminal konfiguriert wurde

gnuplot

Geben Sie dies in das Gnuplot-Terminal ein

gnuplot> set term

Suchen Sie nach der Linie

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

Wenn Sie diese Zeile oben sehen, sind Sie fertig, Gnuplot ist korrekt konfiguriert und alle sind glücklich.

Mackuntu
quelle
Methode 2 den ganzen Weg!
Ben Miller
2
Zu Ihrer Information: Ich musste das Rezept für Gnuplot nicht aktualisieren. Das einfache Hinzufügen der Symlinks vor der Installation von gnuplot hat den Trick getan. Es sieht so aus, als ob Probleme auf der Homebrew-Seite behoben wurden. Prost!
Aron
3
brew reinstall gnuplot --aquatermfunktionierte wie ein Zauber ... Aquaterm muss zu diesem Zeitpunkt bereits installiert worden sein.
Pykler
6
mit meinem Setup musste ich brew install gnuplot --with-aquaterm; Anscheinend verwendet das Gnuplot-Rezept für 4.6.6 jetzt '--with-aquaterm': Sie müssen das Rezept nicht bearbeiten oder diese Symlinks erstellen, aber Sie müssen das --with-aquaterm explizit hinzufügen, wenn Sie gnuplot installieren.
Mike Sokolov
Vielen Dank für die große Hilfe ... Es hat gut funktioniert für mich mit der 2. Methode
minhas23
47

Ich habe einen Weg gefunden, die Plots mit Oktave zu erzeugen, obwohl ich nicht AquaTerm, sondern x11 verwende. Das Problem war, dass Octave Gnuplot "zwang", Aquaterm zum Plotten zu verwenden. Anstatt aquaterm in gnuplot zu installieren und zu integrieren, geben Sie in Oktaven Folgendes ein : setenv GNUTERM x11. Damit werden Plots mit x11 generiert, das sich bereits in der Terminalliste von gnuplot ( set terminal) befindet. Ich weiß, dass es ein Patch ist, aber schließlich macht mir Aquaterm oder x11 nichts aus, ich möchte nur, dass Diagramme erstellt werden

PGreen
quelle
1
Vielen Dank, Ihre Antwort hat mir geholfen, nachdem ich mindestens ein halbes Dutzend separate Lösungen ausprobiert hatte
Kim Stacks
2
Wenn Sie Linux Mint 16 ausführen, müssen Sie möglicherweise gnuplot-x11 installieren. sudo apt-get install gnuplot-x11 Dann mache ich, wie PGreen sagte, dass sich meine conf-Datei unter /etc/octave.conf befindet. Hoffentlich hilft das.
user1153623
24

set terminaloder set termist gnuplot Befehl.

Sie müssen nur über die gnuplotBefehlszeile ausgeführt werden, um Zugriff auf die Gnuplot-Shell zu erhalten.

Dies hat jedoch bei mir nicht funktioniert, auch nicht setenv("GNUTERM","x11")bei /usr/local/share/octave/site/m/startup/octavercoder ~/.octaverc(beide machen das Gleiche).

Also lief ich set termin der Gnuplot-Shell, als ich nein x11in der Liste sah. Ich habe Homebrew verwendet, um Gnuplot zu installieren, also habe ich es zuerst deinstalliert brew uninstall gnuplotund dann mit dem Flag x11using installiert --with-x:

brew install gnuplot --with-x

Dies löste das Problem für mich. Verwenden Sie brew info gnuplotdiese Option , um die Liste der Flags für die Gnuplot-Installation anzuzeigen.

PS Und ja, ich habe ein X11-DMG heruntergeladen und es mit dem Paketinstallationsprogramm installiert. Gnuplot hatte immer noch kein x11 in der Liste der unterstützten Terminals.

i4niac
quelle
2
Sehr hilfreich. Beachten Sie, dass die Grafik scheinen sauberer mir die QT oder WxWindows Terminals, die (an der Seite , falls gewünscht) installiert werden kann , die Verwendung --qtund --wxBrew bzw. Optionen installieren.
Bryan P
1
brew install gnuplot --with-xVerwenden Sie stattdessen brew reinstall gnuplot --with-x11(wenn gnuplot bereits installiert ist; --with-x scheint nicht mehr unterstützt zu werden)
Tushar
10

Sie können dies versuchen:

>> brew reinstall gnuplot --with-aquaterm

oder

>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm
antonpp
quelle
Könnte etwas mehr Erklärung gebrauchen.
Jens
3
Beachten Sie, dass Sie aquaterm tatsächlich installieren müssen, bevor Sie gnuplot neu installieren. aquaterm.github.io
Lee Avital
das with-aquatermist nicht mehr eine gültige Option für gnuplot: github.com/Homebrew/homebrew-core/issues/46923
Ty Hitzeman
8

Erstellen Sie eine Datei .octavercin Ihrem Home-Verzeichnis und setzen Sie GNUTERM auf X11

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

Öffnen Sie das Oktavterminal und geben Sie ein sombrero, um zu überprüfen, ob das Plotten funktioniert

octave:1> sombrero
behas
quelle
6

Das hat bei mir funktioniert:

  1. Unistall gnuplot

    brauen deinstallieren gnuplot

  2. Installieren Sie AquaTerm. Sie können es hier herunterladen: http://sourceforge.net/projects/aquaterm/

  3. Gnuplot neu installieren

    Brew installieren Gnuplot

avgn
quelle
Wenn Sie immer noch "Segmentierungsfehler: 11" und "Nicht in der Lage, die entsprechende Schriftart zu laden" erhalten, funktionierten diese Befehle für mich: brew uninstall fontconfig && brew install fontconfig --universal
Julian
6

Anton ist richtig. Sie können gnuplot jetzt einfach mit der Option --with-aquaterm neu installieren. Ich würde seine Antwort positiv bewerten, wenn ich genug Reputationspunkte hätte, um dies zu tun.

$ brew uninstall gnuplot
$ brew install gnuplot --with-aquaterm

Mackuntu erwähnte oben, dass dieses Problem auf Github diskutiert wurde.

https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Aber er riet, die Option --aquaterm zu verwenden. Wenn Sie sich den Github-Link genauer ansehen, werden Sie feststellen, dass die Option --with-aquaterm ist. Durch die heutige Neuinstallation von gnuplot mit dieser Option konnte ich alten Oktavcode ausführen, der gnuplot zum Zeichnen von Diagrammen unter OS X verwendet.

James Bridgewater
quelle
5

Ich habe eine Antwort, die das Problem beheben soll, auf das Sie stoßen. Im Wesentlichen bestand das Problem für mich darin, dass der Gnuplot-Build nicht die richtigen AquaTerm-Bibliotheken gefunden hat. Schauen Sie sich den Beitrag an, den ich gemacht habe:

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

Yeison
quelle
1
Vielen Dank für Ihre Lösung! :)
PGreen
4

In meinem Fall war unter Mas OS Mojave die Lösung, die für mich funktionierte, etwas anders (es könnte nur eine Frage der Syntax sein). Nach der Diskussion über diesen Thread kam ich mit der Lösung, die für mich funktionierte - es könnte wichtig sein zu beachten, dass es mir möglich war, über die Octave-CLI, aber nicht über die Octave-Befehlszeile direkt im Terminal zu zeichnen.

Also habe ich eine ˜/.octavercDatei erstellt und den folgenden Befehl hinzugefügt:

setenv GNUTERM qt

Verlassen Sie einfach die Befehlszeile von Oktave und geben Sie erneut ein und konnten zeichnen.

Daniel Ambrósio
quelle
4

Folgendes hat bei mir funktioniert:

setenv("GNUTERM","qt")

Sie können es entweder auf der Oktav-CLI für die lokale Ausführung ausführen oder in der Oktav-Startdatei für die permanente Ausführung festlegen.

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

Denken Sie daran, falls Sie eine Octaverc-Datei ändern, müssen Sie über Schreibberechtigungen verfügen.

Arjit Sharma
quelle
2

Was für mich funktioniert hat, ist die Installation von gnuplot-nox. Siehe auch https://bugs.mageia.org/show_bug.cgi?id=4866

Der beste Weg, um gnuplot-nox zu installieren, scheint die Installation von fink zu sein. http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

scheint einen guten Job zu machen. Die Installation schlug jedoch an einem Punkt fehl. Also habe ich gnuplot-minimal installiert und dann gnuplot-nox install erneut ausgeführt und alles hat einwandfrei funktioniert.

fink install gnuplot-minimal
fink install gnuplot-nox

Die Installation von gnuplot-nox schien aqua als Standardterminal für gnuplot festgelegt zu haben. Überprüfen Sie dies, indem Sie zur Gnuplot-Shell gehen. Um zu überprüfen, ob das Plotten funktioniert, geben Sie plot (1) in die Shell ein. Es sollte das Diagramm in einem Fenster anzeigen.

Hoffe das funktioniert bei dir.

Wie in anderen Beiträgen vorgeschlagen, hat das Setzen von GNUTERM auf X11 dieses Problem für mich nicht gelöst. Auch die direkte Installation von AquaTerm für Mac OSX hat dieses Problem nicht gelöst.

user3134249
quelle
2

Die Antwort ist bereits oben enthalten, aber das ist meiner Meinung nach einfacher:

nano ~/.octaverc

füge das hinzu:

setenv("GNUTERM", "X11")

Das heißt, es startet die Oktave neu, wenn Sie fertig sind.

boulder_ruby
quelle
0

Hier ist die Lösung, die für mich funktioniert hat (basierend auf verschiedenen Teilen des Mackuntu-Kommentars)

Gnuplot wird wahrscheinlich bereits mit dem Befehl Brew Install Octave für Sie installiert, daher müssen wir es zuerst entfernen

brew uninstall gnuplot

Dann muss aquaterm installiert werden ( http://sourceforge.net/projects/aquaterm/ )

Nach Abschluss der Installation müssen Sie gnuplot erneut installieren. Dies liegt daran, dass Brew das Vorhandensein von Aquaterm während der Installation erkennt und danach keine Überprüfungen mehr durchführt.

brew install gnuplot --with-aquaterm

Wenn Sie gnuplot nach der Installation starten, sollte dies zeigen, dass aquaterm unterstützt wird. Und alle Grafiken in Oktave funktionieren.

can3p
quelle