Errore Octave-Gnuplot-AquaTerm: imposta il terminale aqua migliorato titolo "Figura 1" ... tipo di terminale sconosciuto "


136

Ho installato Octave e gnuplot tramite Homebrew e scaricato AquaTerm.dmg. Quando provo a tracciare, ricevo il seguente messaggio:

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 un terminale bash set terminal, set Terminal, set term, (e lo stesso, seguita da "aqua" troppo) ecc dà nulla. Ho provato di nuovo a stampare dall'ottava con "AquaTerm" già aperto, ma niente. Ho provato a stampare direttamente da gnuplot ma lo stesso problema .. Come posso fare questo "set terminal aqua"?

Il messaggio iniziale di Gnuplot dice " Terminal type set to 'x11'" ma non ho idea di come cambiarlo, i comandi precedenti non hanno funzionato.

Dato che AquaTerm non è stato installato da Homebrew, forse octave / gnupot non riesce a trovarlo ... ma non ne ho idea. Qualche ipotesi? Grazie!


Cosa diamine ha a che fare con bash? Ti viene chiesto di digitare set terminalgnuplot, non in bash.
n. 'pronomi' m.

1
@nm Ho provato in bash perché digitando "set terminal" rigt dopo il messaggio (e quindi all'interno dell'ottava) si è verificato un errore. Ora ho provato ad aprire gnuplot e digitare "set terminal" e ha funzionato, mostra un elenco in cui aqua non c'è. Grazie per il link! Da quando ho installato gnuplot da brewnon l'ho compilato direttamente. se scarico e compilo gnuplot al di fuori di brew non so se ci saranno conflitti o problemi con l'ottava ...
PGreen

1
Per utenti Linux: prova a installare gnuplot-x11e aggiungi setenv("GNUTERM","X11")al tuo ~/.octaverc.
Martin Thoma,

setenv("GNUTERM","qt")ha funzionato per me.
giapnh,

Risposte:


110

Ho dovuto aggiungere setenv("GNUTERM","X11")a OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME di solito è / usr / local) per farlo funzionare in modo permanente.

Soluzione trovata e maggiori dettagli su: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html


Se vuoi mai ripristinarlo, il valore originale è aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101

8
Se non vuoi aggiornare octaverc globale, crea semplicemente un file ~ / .octaverc e inserisci il comando setenv.
Raj

83
Ho appena installato Octave 3.8.0 su OS X 10.9 (Mavericks) e il bundle Octave sembra essere impostato per usare Qt per il windowing (piuttosto che aqua o x11) usando gnuplot_qt. La creazione di un file ~ / .octaverc contenente ha setenv("GNUTERM","qt")funzionato per me (grazie a @Raj e @nightlyop).
Tomelgin,

se hai usato Homebrew per installare Octave, troverai il file octaverc nel seguente percorso:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao

3
setenv ("GNUTERM", "qt") ha lavorato per me su Sierra 10.12.6. "x11" no.
Trevis Thomas,

79

Ho riscontrato un problema simile con Octave-cli, versione 3.8.0, su OS X 10.9.1. Osservando come Octave-gui potrebbe ancora tracciare grafici, e leggendo la risposta con octaverc, ho intenzione di lavorare con Octave-cli aggiungendo una riga con setenv("GNUTERM","qt")/usr/local/octave/3.8.0/share/octave/ sito / m / startup / octaverc

Non ho dovuto reinstallare gnuplot o altre dipendenze.


Questo è perfetto! Grazie!
Thomas Ingalls,

6
L'impostazione di GNUTERM su qt ha funzionato per me (non X11) ma l'ho messo nella mia directory home (~ / .octaverc) non nella directory sopra menzionata. Non so quale sia la differenza, ma home directory sembra essere più neutrale rispetto all'installazione.
sepans

3
Ho anche aggiunto setenv ("GNUTERM", "qt") alla mia directory home ~ / .octaverc e la stampa con ottava ora funziona come un incantesimo. Grazie
chekkal il

Grazie. Funziona per El Capitan!
Rohan,

70

L'impostazione del tipo di terminale su x11 risolverebbe il problema, ma se vuoi far funzionare AquaTerm con gnuplot ecco come:

Per prima cosa dobbiamo disinstallare l'installazione esistente di gnuplot, aprire un terminale ed eseguire questo comando.

brew uninstall gnuplot

Scarica AquaTerm da qui: http://sourceforge.net/projects/aquaterm/ e installalo come faresti con qualsiasi applicazione OSX.

Da qui in poi, ci sono due modi per rendere felice gnuplot con aquaterm, il Metodo 1 è più semplice, ma non ha funzionato per me perché la mia installazione di AquaTerm non ha creato i collegamenti simbolici corretti in / usr / local / lib, il Metodo 2 è il uno che ha funzionato per me e sto condividendo i passi che ho fatto per farlo funzionare.

Metodo 1: semplicemente reinstallare gnuplot dopo l'installazione di AquaTerm sembra risolvere questo problema per le persone.

brew install gnuplot

Vai al passaggio di verifica per vedere se tutto ha funzionato, in caso contrario, segui il metodo 2

Metodo 2: questo metodo è più avanzato, ma garantito per funzionare se si è pazienti.

Essenzialmente gnuplot non è in grado di individuare i file della libreria AquaTerm, ecco perché aqua non viene visualizzato come opzione di tipo terminale dopo l'installazione di gnuplot. Dobbiamo modificare la ricetta homebrew per gnuplot per abilitare il supporto acquaterm, aprire la ricetta brew per gnuplot digitando:

brew edit gnuplot

E aggiungi queste righe come mostrato in questo messaggio di commit di github, questo abiliterà l'opzione brew per gnuplot per includere aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Verifica se esistono i collegamenti simbolici della libreria AquaTerm eseguendo questi controlli:

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

La prima riga sopra dovrebbe restituire alcuni file * .dylib, la seconda riga sopra dovrebbe restituire alcuni file * .h, se non esistono eseguire questi comandi dal terminale:

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

Ciò è necessario a volte poiché il programma di installazione di AquaTerm non può creare i collegamenti simbolici nei punti corretti a causa di problemi di autorizzazione. Una volta creati / usr / local / symlink, reinstallare gnuplot in questo modo:

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

Verifica che gnuplot possa vedere aquaterm usando i passaggi seguenti e complottando felice!


Verifica: che gnuplot sia stato configurato correttamente con AquaTerm avviando gnuplot nel terminale

gnuplot

Digita questo nel terminale gnuplot

gnuplot> set term

Cerca la linea

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

Se vedi quella riga sopra, allora hai finito, gnuplot è configurato correttamente e tutti sono felici.


Metodo 2 fino in fondo!
Ben Miller,

2
Cordiali saluti: Non ho avuto bisogno di aggiornare la ricetta per gnuplot; semplicemente aggiungendo i collegamenti simbolici prima di installare gnuplot ha funzionato. Sembra che tutti i problemi sul lato Homebrew siano stati risolti. Saluti!
Aron,

3
brew reinstall gnuplot --aquatermha funzionato come un fascino ... aquaterm deve essere già stato installato a quel punto.
Pykler,

6
con la mia installazione, ho dovuto brew install gnuplot --with-aquaterm; apparentemente la ricetta brew gnuplot per 4.6.6 usa '--with-aquaterm' ora: non è necessario modificare la ricetta o creare quei collegamenti simbolici, ma è necessario aggiungere esplicitamente --with-aquaterm quando si installa gnuplot.
Mike Sokolov,

Grazie per il grande aiuto ... Ha funzionato bene per me usando il 2o metodo
minhas23

47

Ho trovato un modo per generare i grafici con l'ottava, sebbene non stia usando AquaTerm ma x11. Il problema era che Octave stava "forzando" lo gnuplot a usare l'acquaterm per tracciare. Invece di installare e integrare Aquaterm in gnuplot, in ottava scelto: setenv GNUTERM x11. Con questo, i grafici sono generati con x11 che è già nella lista dei terminali di gnuplot ( set terminal). So che è una patch, ma alla fine non mi dispiace aquaterm o x11, voglio solo generare trame


1
Grazie, la tua risposta mi ha aiutato dopo aver provato almeno una mezza dozzina di soluzioni separate
Kim Stacks,

2
Se si esegue Linux Mint 16, potrebbe essere necessario installare gnuplot-x11. sudo apt-get install gnuplot-x11 Quindi, come ha detto PGreen, ho scoperto che il mio file conf era in /etc/octave.conf. Spero che aiuti.
user1153623

24

set terminalo set termè il comando gnuplot.

Devi solo eseguire gnuplotdalla riga di comando per accedere alla shell gnuplot.

Tuttavia, questo non ha funzionato per me, né lo ha fatto setenv("GNUTERM","x11")in ( /usr/local/share/octave/site/m/startup/octaverco ~/.octavercentrambi fanno la stessa cosa).

Quindi ho eseguito set termin gnuplot shell come ho visto no x11nella lista. Ho usato homebrew per installare gnuplot, quindi prima l'ho disinstallato, quindi ho brew uninstall gnuplotinstallato x11usando --with-xflag per quello:

brew install gnuplot --with-x

Questo ha risolto il problema per me. Utilizzare brew info gnuplotper visualizzare l'elenco dei flag per l'installazione di gnuplot.

PS E sì, ho scaricato un dmg X11 e l'ho installato usando il programma di installazione dei pacchetti, ma gnuplot non aveva x11 nell'elenco dei terminali supportati.


2
Molto utile. Nota che la grafica sembrano più pulito per me utilizzando i terminali QT o wxWindows, che può essere installato (a fianco, se desiderato) utilizzando l' --qte --wxBREW installano le opzioni, rispettivamente.
Bryan P,

1
Invece di brew install gnuplot --with-x, usa brew reinstall gnuplot --with-x11(se gnuplot è già installato; --with-x non sembra più supportato)
Tushar


8

Crea un file .octavercnella tua home directory e imposta GNUTERM su X11

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

Aprire il terminale di ottava e digitare sombreroper verificare se la stampa funziona

octave:1> sombrero

6

Questo ha funzionato per me:

  1. Unistall gnuplot

    brew disinstalla gnuplot

  2. Installa AquaTerm. Puoi scaricarlo da qui: http://sourceforge.net/projects/aquaterm/

  3. Reinstalla gnuplot

    brew install gnuplot


Se ricevi ancora "Errore di segmentazione: 11" e "impossibile caricare il carattere appropriato", questi comandi hanno funzionato per me: brew uninstall fontconfig && brew install fontconfig --universal
Julian

6

Anton ha ragione. Ora puoi semplicemente reinstallare gnuplot con l'opzione --with-aquaterm. Voterei la sua risposta se avessi abbastanza punti reputazione per farlo.

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

Mackuntu ha menzionato sopra che questo problema è stato discusso su github.

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

Ma ha consigliato di usare l'opzione - acquaterm. Se dai un'occhiata da vicino al link github vedrai che l'opzione è --with-aquaterm. La reinstallazione di gnuplot con questa opzione oggi mi ha permesso di eseguire qualche vecchio codice di ottava che utilizza gnuplot per tracciare grafici su OS X.



4

Nel mio caso, su Mas OS Mojave, la soluzione che ha funzionato per me era leggermente diversa (potrebbe essere solo una questione di sintassi). Dopo la discussione su questo thread sono arrivato con la soluzione che ha funzionato per me - potrebbe essere importante notare che era possibile per me tracciare dalla Octave-cli ma non dalla riga di comando di Ottava direttamente nel terminale.

Quindi ho creato un ˜/.octavercfile e vi ho aggiunto il seguente comando:

setenv GNUTERM qt

Basta uscire dalla riga di comando dall'ottava ed entrare di nuovo ed è stato in grado di tracciare.


4

La seguente cosa ha funzionato per me:

setenv("GNUTERM","qt")

È possibile eseguirlo sul cli di ottava, per l'esecuzione locale o impostare nel file di avvio dell'ottava per permanente.

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

Ricorda solo che se cambi il file octaverc devi avere i permessi di scrittura su di esso.


2

Quello che ha funzionato per me è l'installazione di gnuplot-nox. Vedi anche https://bugs.mageia.org/show_bug.cgi?id=4866

Sembra che il modo migliore per installare gnuplot-nox sia installare fink. http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

sembra fare un buon lavoro. Tuttavia, l'installazione non è riuscita a un certo punto. Quindi ho installato gnuplot-minimal, quindi ho eseguito nuovamente gnuplot-nox install e tutto ha funzionato bene.

fink install gnuplot-minimal
fink install gnuplot-nox

L'installazione di gnuplot-nox sembra aver impostato aqua come terminale predefinito per gnuplot. Verifica quello andando alla shell gnuplot. Per verificare se la stampa funziona, digita plot (1) nella shell. Dovrebbe mostrare la trama in una finestra.

Spero che funzioni per te

Come suggerito in altri post, l'impostazione di GNUTERM su X11 non ha risolto questo problema per me. Anche l'installazione diretta di AquaTerm per Mac OSX non ha risolto questo problema.


2

La risposta è già contenuta in quanto sopra, ma penso che sia più semplice:

nano ~/.octaverc

Aggiungi questo:

setenv("GNUTERM", "X11")

Ecco riavviata l'ottava che hai finito.


0

Ecco la soluzione che ha funzionato per me (basato su diverse parti del commento di Mackuntu)

Gnuplot è probabilmente già installato per te dal comando brew install octave, quindi dobbiamo prima rimuoverlo

brew uninstall gnuplot

Quindi è necessario installare aquaterm ( http://sourceforge.net/projects/aquaterm/ )

Al termine dell'installazione, è necessario installare nuovamente gnuplot. Questo perché brew rileva la presenza di aquaterm durante l'installazione e non farà alcun controllo per esso dopo.

brew install gnuplot --with-aquaterm

Se avvii gnuplot dopo l'installazione, dovrebbe mostrare che aquaterm è supportato. E tutta la grafica in ottava funzionerà.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.