web-dev-qa-db-fra.com

Erreur Octave-Gnuplot-AquaTerm: définition du titre de terminal aqua amélioré "Figure 1" ... type de terminal inconnu "

J'ai installé Octave et gnuplot via Homebrew et téléchargé AquaTerm.dmg. Lorsque j'essaie de tracer, je reçois 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 la même chose, suivi de "aqua" aussi) etc etc ne donne rien. J'ai de nouveau essayé de tracer d'octave en ayant "AquaTerm" déjà ouvert, mais rien. J'ai essayé de tracer directement à partir de gnuplot mais le même problème .. Comment puis-je faire cela "set terminal aqua"?

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

Puisque AquaTerm n’a pas été installé à partir d’Homebrew, octave/gnupot peut-être ne le trouve pas ... mais aucune idée. Toute proposition? Merci!

133
PGreen

J'ai trouvé un moyen de générer les parcelles avec octave, bien que n'utilisant 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, tapez octave: setenv GNUTERM x11. Avec cela, les tracés sont générés avec x11 qui est déjà dans la liste des terminaux de gnuplot (set terminal). Je sais que c'est un patch, mais finalement ça ne me dérange pas aquaterm ou x11, je veux juste que les parcelles soient générées

47
PGreen

Je devais ajouter setenv("GNUTERM","X11") à OCTAVE_HOME/share/octave/site/m/startup/octaverc _ (OCTAVE_HOME est généralement/usr/local) pour le faire fonctionner de manière permanente.

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

108
nightlyop

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

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

75
rehumbus

Définir le type de terminal sur x11 résoudrait le problème, mais si vous souhaitez que AquaTerm fonctionne 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 toute application OSX.

À partir de là, il y a deux façons de rendre gnuplot heureux avec aquaterm, La méthode 1 est plus simple, mais n'a pas fonctionné pour moi car mon installation AquaTerm n'a pas ne créez pas les liens symboliques corrects dans/usr/local/lib, La méthode 2 est celle qui a fonctionné pour moi et je partage les étapes que j'ai suivies pour le faire fonctionner.

Méthode 1: Il suffit de réinstaller gnuplot après avoir installé AquaTerm semble résoudre ce problème.

brew install gnuplot

Accédez à 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 son fonctionnement est garanti si vous êtes patient.

En principe, gnuplot ne peut pas localiser les fichiers de la bibliothèque AquaTerm, c’est pourquoi aqua ne s’affiche pas en tant qu’option de type terminal après l’installation de gnuplot. Nous devons modifier la recette homebrew de 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 brassage de gnuplot d'inclure aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Vérifiez si les liens symboliques de la bibliothèque AquaTerm appropriés existent en procédant comme suit:

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

La première ligne ci-dessus devrait renvoyer des fichiers * .dylib, la deuxième ligne ci-dessus devrait renvoyer des fichiers * .h. S'ils n'existent pas, exécutez ces commandes à partir du 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 l’installateur d’AquaTerm ne peut pas créer les liens symboliques aux bons endroits en raison de problèmes d’autorisation. Une fois que les fichiers/usr/local/symlinks sont 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 un traçage heureux!


Vérifiez: que gnuplot a été correctement configuré 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, vous avez terminé, gnuplot est configuré correctement et tout le monde est content.

70
mackuntu

set terminal Ou set term Est une commande gnuplot.

Vous devez simplement exécuter gnuplot à partir de la ligne de commande pour accéder au shell gnuplot.

Cependant, cela n'a pas fonctionné pour moi, ni la setenv("GNUTERM","x11") dans /usr/local/share/octave/site/m/startup/octaverc Ni ~/.octaverc (Les deux font la même chose).

J'ai donc lancé set term Dans le shell gnuplot, car il n'y avait pas de x11 Dans la liste. J'ai utilisé homebrew pour installer gnuplot, je l'ai donc d'abord désinstallé brew uninstall gnuplot, Puis installé avec x11 À l'aide de l'indicateur --with-x:

brew install gnuplot --with-x

Cela a résolu le problème pour moi. Utilisez brew info gnuplot Pour voir la liste des drapeaux pour l’installation de gnuplot.

P.S. Et oui, j’ai téléchargé un dmg X11 et l’a installé à l’aide du programme d’installation du paquet, mais gnuplot n’avait toujours pas x11 dans la liste des terminaux pris en charge.

24
i4niac

Vous pouvez essayer ceci:

>> brew reinstall gnuplot --with-aquaterm

ou

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

Créer un fichier .octaverc dans votre répertoire personnel et définissez GNUTERM sur X11

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

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

octave:1> sombrero
8
behas

Cela a fonctionné pour moi:

  1. Unistall gnuplot

    brasser désinstaller gnuplot

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

  3. Réinstallez gnuplot

    brasser installer gnuplot

6
avgn

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

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

Mackuntu a mentionné plus haut que cette question avait été discutée sur github.

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

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

6
James Bridgewater

J'ai une réponse qui devrait résoudre le problème que vous rencontrez. Pour moi, le problème était essentiellement que la construction de gnuplot ne localisait pas les bibliothèques AquaTerm appropriées. Découvrez le post que j'ai fait:

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

5
Yeison

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 arrivé avec la solution qui me convenait - il serait peut-être important de noter qu'il était possible pour moi de tracer depuis Octave-cli mais pas depuis Octave directement en ligne de commande Terminal.

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

setenv GNUTERM qt

Il suffit de quitter la ligne de commande d’octave et de saisir à nouveau pour pouvoir tracer.

3
Daniel Ambrósio

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")

Ça fait redémarrer l'octave que vous avez terminé.

2
boulder_ruby

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

On dirait 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 échouait à un moment donné. J'ai donc installé gnuplot-minimal, puis lancé à nouveau l'installation de gnuplot-nox et tout a bien fonctionné.

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 allant sur gnuplot Shell. Pour vérifier si le traçage fonctionne, tapez plot (1) dans le shell. Il devrait montrer l'intrigue dans une fenêtre.

J'espère que cela fonctionne pour vous.

Comme suggéré dans d'autres publications, régler GNUTERM sur X11 ne résout pas ce problème pour moi. De plus, l'installation directe d'AquaTerm pour Mac OSX n'a ​​pas résolu ce problème.

2
user3134249

Ce qui suit a fonctionné pour moi:

setenv("GNUTERM","qt")

Vous pouvez soit l'exécuter sur la clé d'octave, pour une exécution locale, soit définir le fichier de démarrage d'octave de manière permanente.

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

Rappelez-vous que si vous modifiez un fichier octaverc, vous devez avoir des droits en écriture.

1
Arjit Sharma

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 le supprimer au préalable.

brew uninstall gnuplot

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

Une fois l’installation terminée, vous devez installer gnuplot à nouveau. En effet, l’infusion détecte la présence d’aquaterm lors de l’installation et n’effectuera aucune vérification ultérieure.

brew install gnuplot --with-aquaterm

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

0
can3p