Erreur Octave-Gnuplot-AquaTerm: définir le titre amélioré du terminal aqua «Figure 1»… type de terminal inconnu »

136

J'ai installé Octave et gnuplot via Homebrew et téléchargé AquaTerm.dmg. Lorsque j'essaye de tracer, j'obtiens le message suivant:

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`

Dans un terminal bash set terminal, set Terminal, set term, (et même, suivi de "Aqua" trop) etc ne donne rien. J'ai essayé de tracer à nouveau depuis l'octave avec le "AquaTerm" déjà ouvert, mais rien. J'ai essayé de tracer directement à partir de gnuplot mais même problème .. Comment puis-je faire ce "set terminal aqua"?

Le message de départ de Gnuplot dit " Terminal type set to 'x11'" mais aucune idée de comment le changer, les commandes précédentes ne fonctionnaient pas non plus.

Étant donné qu'AquaTerm n'a pas été installé à partir de Homebrew, octave / gnupot ne peut peut-être pas le trouver ... mais aucune idée. Toute proposition? Merci!

PGreen
la source
Qu'est-ce que cela a à voir avec bash? Vous êtes invité à taper set terminalgnuplot, pas bash.
n. «pronoms» m.
1
@nm J'ai essayé dans bash parce que taper "set terminal" rigt après le message (et donc, à l'intérieur de l'octave) a donné une erreur. Maintenant, j'ai essayé d'ouvrir gnuplot et de taper "set terminal" et cela a fonctionné, il montre une liste dans laquelle aqua n'est pas là. Merci pour le lien! Depuis que j'ai installé gnuplot à partir de brewje ne l'ai pas compilé directement. si je télécharge et compile gnuplot en dehors de brew, je ne sais pas s'il y aura un conflit ou un problème avec l'octave ...
PGreen
1
Pour les utilisateurs Linux: essayez d'installer gnuplot-x11et d'ajouter setenv("GNUTERM","X11")à votre fichier ~/.octaverc.
Martin Thoma
setenv("GNUTERM","qt")travaillé pour moi.
giapnh

Réponses:

110

J'ai dû ajouter setenv("GNUTERM","X11")à OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME est généralement / usr / local) pour le faire fonctionner en permanence.

Solution trouvée et plus de détails sur: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html

soirée
la source
Si vous souhaitez l'annuler, la valeur d'origine est aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101
8
Si vous ne voulez pas mettre à jour l'octaverc global, créez simplement un fichier ~ / .octaverc et entrez la commande setenv là-dedans.
Raj
83
Je viens d'installer Octave 3.8.0 sur OS X 10.9 (Mavericks), et le bundle Octave semble être configuré pour utiliser Qt pour le fenêtrage (plutôt que aqua ou x11) en utilisant gnuplot_qt. Créer un fichier ~ / .octaverc contenant a setenv("GNUTERM","qt")fonctionné pour moi (merci @Raj et @nightlyop).
tomelgin
si vous avez utilisé Homebrew pour installer Octave, vous trouverez le fichier octaverc dans le chemin suivant:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao
3
setenv ("GNUTERM", "qt") a fonctionné pour moi sur Sierra 10.12.6. "x11" ne l'a pas fait.
Trevis Thomas
79

J'ai rencontré un problème similaire avec Octave-cli, version 3.8.0, sous OS X 10.9.1. En observant comment Octave-gui pouvait toujours tracer des graphiques et en lisant la réponse avec octaverc, j'ai tracé à partir d'Octave-cli en ajoutant une ligne avec setenv("GNUTERM","qt")à /usr/local/octave/3.8.0/share/octave/ site / m / démarrage / octaverc

Je n'ai pas eu à réinstaller gnuplot ou d'autres dépendances.

Rehumbus
la source
C'est parfait! Merci!
Thomas Ingalls
6
Configurer GNUTERM sur qt a fonctionné pour moi (pas X11) mais je l'ai mis dans mon répertoire personnel (~ / .octaverc) et non dans le répertoire mentionné ci-dessus. Je ne sais pas quelle est la différence, mais le répertoire personnel semble être plus neutre pour l'installation.
sepans
3
J'ai également ajouté setenv ("GNUTERM", "qt") à mon répertoire personnel ~ / .octaverc et le traçage avec octave fonctionne maintenant comme un charme. Merci
chekkal
Merci. Fonctionne pour El Capitan!
Rohan
70

Définir le type de terminal sur x11 résoudrait le problème, mais si vous voulez faire fonctionner AquaTerm avec gnuplot, voici comment:

Nous devons d'abord désinstaller l'installation existante de gnuplot, ouvrir un terminal et exécuter cette commande.

brew uninstall gnuplot

Téléchargez AquaTerm à partir d'ici: http://sourceforge.net/projects/aquaterm/ et installez-le comme vous le feriez pour n'importe quelle application OSX.

À partir de là, il y a deux façons d'obtenir gnuplot satisfait avec aquaterm, la méthode 1 est plus simple, mais n'a pas fonctionné pour moi parce que mon installation AquaTerm n'a pas créé les liens symboliques corrects dans / usr / local / lib, la méthode 2 est la celui qui a fonctionné pour moi, et je partage les étapes que j'ai prises pour le faire fonctionner.

Méthode 1: il suffit de réinstaller gnuplot après l'installation d'AquaTerm semble résoudre ce problème pour les gens.

brew install gnuplot

Passez à l'étape de vérification pour voir si tout a fonctionné, sinon, suivez la méthode 2

Méthode 2: Cette méthode est plus avancée, mais elle fonctionnera si vous êtes patient.

Essentiellement, gnuplot ne peut pas localiser les fichiers de la bibliothèque AquaTerm, c'est pourquoi aqua n'apparaît pas comme une option de type de terminal après l'installation de gnuplot. Nous devons modifier la recette homebrew pour gnuplot pour activer le support aquaterm, ouvrez la recette de brassage pour gnuplot en tapant:

brew edit gnuplot

Et ajoutez ces lignes comme indiqué dans ce message de validation github, cela permettra à l'option brew pour gnuplot d'inclure aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Vérifiez si les liens symboliques appropriés de la bibliothèque AquaTerm existent en effectuant ces vérifications:

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

La première ligne ci-dessus doit renvoyer des fichiers * .dylib, la deuxième ligne ci-dessus doit renvoyer des fichiers * .h, s'ils n'existent pas, exécutez ces commandes depuis le terminal:

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

Cela est parfois nécessaire car le programme d'installation d'AquaTerm ne peut pas créer les liens symboliques aux bons endroits en raison de problèmes d'autorisation. Une fois les liens symboliques / usr / local / créés, réinstallez gnuplot comme ceci:

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

Vérifiez que gnuplot peut voir aquaterm en suivant les étapes ci-dessous et bon traçage!


Vérifiez: que gnuplot a été configuré correctement avec AquaTerm en lançant gnuplot dans le terminal

gnuplot

Tapez ceci dans le terminal gnuplot

gnuplot> set term

Cherchez la ligne

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

Si vous voyez la ligne ci-dessus, alors vous avez terminé, gnuplot est configuré correctement et tout le monde est content.

Mackuntu
la source
Méthode 2 jusqu'au bout!
Ben Miller
2
FYI: je n'ai pas besoin de mettre à jour la recette de gnuplot; simplement ajouter les liens symboliques avant d'installer gnuplot a fait l'affaire. Il semble que tous les problèmes du côté Homebrew aient été corrigés. À votre santé!
Aron
3
brew reinstall gnuplot --aquaterma fonctionné comme un charme ... aquaterm doit déjà avoir été installé à ce stade.
Pykler
6
avec ma configuration, je devais brew install gnuplot --with-aquaterm; apparemment, la recette de brew gnuplot pour 4.6.6 utilise maintenant '--with-aquaterm': pas besoin d'éditer la recette ou de créer ces liens symboliques, mais vous devez ajouter explicitement --with-aquaterm lors de l'installation de gnuplot.
Mike Sokolov du
Merci pour votre aide ... Cela a bien fonctionné pour moi en utilisant la 2ème méthode
minhas23
47

J'ai trouvé un moyen de générer les graphiques avec octave, bien que n'utilise pas AquaTerm mais x11. Le problème était qu'Octave "forçait" gnuplot à utiliser aquaterm pour tracer. Au lieu d'installer et d' intégrer Aquaterm dans gnuplot, en octave typée: setenv GNUTERM x11. Avec cela, les graphiques sont générés avec x11 qui est déjà dans la liste terminale de gnuplot ( set terminal). Je sais que c'est un patch, mais finalement ça ne me dérange pas d'aquaterm ou de x11, je veux juste que des parcelles soient générées

PGreen
la source
1
Merci, votre réponse m'a aidé après avoir essayé au moins une demi-douzaine de solutions séparées
Kim Stacks
2
Si vous exécutez Linux Mint 16, vous devrez peut-être installer gnuplot-x11. sudo apt-get install gnuplot-x11 Ensuite, faites comme PGreen a dit, j'ai trouvé que mon fichier de configuration était dans /etc/octave.conf. J'espère que cela pourra aider.
user1153623
24

set terminalou set termest la commande gnuplot.

Il vous suffit d'exécuter à gnuplotpartir de la ligne de commande pour accéder au shell gnuplot.

Cependant, cela n'a pas fonctionné pour moi, ni le setenv("GNUTERM","x11")in /usr/local/share/octave/site/m/startup/octavercou ~/.octaverc(les deux ont fait la même chose).

J'ai donc couru set termdans le shell gnuplot car je n'ai vu aucun x11dans la liste. J'ai utilisé homebrew pour installer gnuplot, donc je l'ai d'abord désinstallé brew uninstall gnuplot, puis installé avec x11using --with-xflag pour cela:

brew install gnuplot --with-x

Cela a résolu le problème pour moi. Utilisez brew info gnuplotpour voir la liste des indicateurs pour l'installation de gnuplot.

PS Et oui, j'ai téléchargé un dmg X11 et l'ai installé à l'aide du programme d'installation du package, toujours gnuplot n'avait pas de x11 dans la liste des terminaux pris en charge.

i4niac
la source
2
Très utile. Notez que les graphiques me semblent plus nets en utilisant les terminaux QT ou WxWindows, qui peuvent être installés (le long du côté si vous le souhaitez) en utilisant respectivement les options d'installation --qtet --wxbrew.
Bryan P
1
Au lieu de brew install gnuplot --with-x, utilisez brew reinstall gnuplot --with-x11(si gnuplot est déjà installé; --with-x ne semble plus pris en charge)
Tushar
10

Vous pouvez essayer ceci:

>> brew reinstall gnuplot --with-aquaterm

ou

>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm
Antonpp
la source
Pourrait utiliser quelques explications supplémentaires.
Jens
3
Sachez que vous devez en fait installer aquaterm avant de réinstaller gnuplot. aquaterm.github.io
Lee Avital
ce with-aquatermn'est plus une option valide pour gnuplot: github.com/Homebrew/homebrew-core/issues/46923
Ty Hitzeman
8

Créez un fichier .octavercdans votre répertoire personnel et définissez GNUTERM sur X11

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

Ouvrez le terminal d'octave et tapez sombreropour vérifier si le traçage fonctionne

octave:1> sombrero
behas
la source
6

Cela a fonctionné pour moi:

  1. Gnuplot Unistall

    brew désinstaller gnuplot

  2. Installez AquaTerm. Vous pouvez le télécharger ici: http://sourceforge.net/projects/aquaterm/

  3. Réinstaller gnuplot

    brew installer gnuplot

avgn
la source
Si vous obtenez toujours "Erreur de segmentation: 11" et "Impossible de charger la police appropriée", ces commandes ont fonctionné pour moi: brew uninstall fontconfig && brew install fontconfig --universal
Julian
6

Anton a raison. Vous pouvez maintenant simplement réinstaller gnuplot avec l'option --with-aquaterm. Je voterais sa réponse si j'avais suffisamment de points de réputation pour le faire.

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

Mackuntu a mentionné ci-dessus que ce problème a été discuté sur github.

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

Mais il a conseillé d'utiliser l'option --aquaterm. Si vous regardez attentivement le lien github, vous verrez que l'option est --with-aquaterm. La réinstallation de gnuplot avec cette option aujourd'hui m'a permis d'exécuter un ancien code d'octave qui utilise gnuplot pour tracer des graphiques sur OS X.

James Bridgewater
la source
5

J'ai une réponse qui devrait résoudre le problème que vous rencontrez. Essentiellement, pour moi, le problème était que la construction de gnuplot ne localisait pas les bibliothèques AquaTerm appropriées. Consultez le message que j'ai publié:

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

Yeison
la source
1
Merci pour votre solution! :)
PGreen
4

Dans mon cas, sur Mas OS Mojave, la solution qui fonctionnait pour moi était légèrement différente (cela pouvait être une question de syntaxe uniquement). Suite à la discussion sur ce fil, je suis venu avec la solution qui a fonctionné pour moi - il pourrait être important de noter qu'il était possible pour moi de tracer à partir d'Octave-cli mais pas à partir de la ligne de commande Octave directement dans le terminal.

J'ai donc créé un ˜/.octavercfichier et y ai ajouté la commande suivante:

setenv GNUTERM qt

Quittez simplement la ligne de commande de l'octave et entrez à nouveau et a pu tracer.

Daniel Ambrósio
la source
4

La chose suivante a fonctionné pour moi:

setenv("GNUTERM","qt")

Vous pouvez soit l'exécuter sur le cli octave, pour une exécution locale, soit le définir dans le fichier de démarrage d'octave pour une exécution permanente.

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

N'oubliez pas que si vous changez le fichier octaverc, vous devez avoir des autorisations d'écriture dessus.

Arjit Sharma
la source
2

Ce qui a fonctionné pour moi, c'est l'installation de gnuplot-nox. Voir également https://bugs.mageia.org/show_bug.cgi?id=4866

Il semble que la meilleure façon d'installer gnuplot-nox est d'installer fink. http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

semble faire du bon travail. Cependant, l'installation a échoué à un moment donné. J'ai donc installé gnuplot-minimal puis relancé l'installation de gnuplot-nox et tout fonctionnait très bien.

fink install gnuplot-minimal
fink install gnuplot-nox

gnuplot-nox install semblait avoir défini aqua comme terminal par défaut pour gnuplot. Vérifiez cela en accédant au shell gnuplot. Pour vérifier si le traçage fonctionne, tapez plot (1) dans la coque. Il devrait afficher le tracé dans une fenêtre.

J'espère que cela fonctionne pour vous.

Comme suggéré dans d'autres articles, définir GNUTERM sur X11 n'a pas résolu ce problème pour moi. L'installation directe d'AquaTerm pour Mac OSX n'a ​​pas non plus résolu ce problème.

user3134249
la source
2

La réponse est déjà contenue dans ce qui précède, mais c'est plus simple je pense:

nano ~/.octaverc

Ajoute ça:

setenv("GNUTERM", "X11")

Thats it redémarrer octave vous avez terminé.

boulder_ruby
la source
0

Voici la solution qui a fonctionné pour moi (basée sur différentes parties du commentaire mackuntu)

Gnuplot est probablement déjà installé pour vous par la commande brew install octave, nous devons donc d'abord le supprimer

brew uninstall gnuplot

Ensuite, aquaterm doit être installé ( http://sourceforge.net/projects/aquaterm/ )

Une fois l'installation terminée, vous devez réinstaller gnuplot. Cela est dû au fait que Brew détecte la présence d'aquaterm lors de l'installation et ne le vérifiera pas après.

brew install gnuplot --with-aquaterm

Si vous lancez gnuplot après l'installation, cela devrait indiquer qu'aquaterm est pris en charge. Et tous les graphiques en octave fonctionneront.

can3p
la source