Oktav-Gnuplot-AquaTerm hatası: terminal aqua gelişmiş başlığı “Şekil 1”… bilinmeyen terminal tipi ”


136

Octave ve gnuplot'u Homebrew aracılığıyla yükledim ve AquaTerm.dmg'yi indirdim. Çizmeye çalıştığımda, aşağıdaki mesajı alıyorum:

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`

Bir bash terminali olarak set terminal, set Terminal, set term, (ve "aqua" çok takiben aynı) vs. şey vermez. Ben zaten "AquaTerm" zaten açık, ama hiçbir şey olan oktav çizerek denedim. Ben doğrudan gnuplot ama aynı sorundan arsa denedim .. Nasıl bu "set terminal aqua" yapabilirim?

Gnuplot başlangıç ​​mesajı " Terminal type set to 'x11'" diyor ancak nasıl değiştirileceği hakkında hiçbir fikrim yok, önceki komutlar da çalışmadı.

AquaTerm Homebrew'dan kurulmadığı için belki octave / gnupot bulamıyor ... ama hiçbir fikrim yok. Herhangi Bir tahmin? Teşekkürler!


Bunun bash ile ne ilgisi var? Siz set terminalbash yerine gnuplot yazmanız istenir .
n. 'zamirler' m.

1
@nm Ben bash denedim çünkü mesaj sonra "set terminal" rigt (ve bu nedenle, oktav içinde) yazarak hata verdi. Şimdi gnuplot açmayı denedim ve "set terminal" yazın ve çalıştı, aqua'nın olmadığı bir liste gösteriyor. Bağlantı için teşekkürler! Gnuplot'u yüklediğim brewiçin doğrudan derlemedim. demlemek dışında gnuplot indirmek ve derlemek eğer oktav ile herhangi bir çatışma veya sorun olup olmadığını bilmiyorum ...
PGreen

1
Linux kullanıcıları için: yüklemeyi deneyin gnuplot-x11ve eklemek setenv("GNUTERM","X11")adresinden Müşteri ~/.octaverc.
Martin Thoma

setenv("GNUTERM","qt")benim için çalıştı.
giapnh

Yanıtlar:


110

Kalıcı çalışması setenv("GNUTERM","X11")için OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME genellikle / usr / local) eklemek zorunda kaldım .

Çözüm bulundu ve daha fazla bilgi için: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html


Geri almak istediğinizde orijinal değerdir aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101

8
Global octaverc'i güncellemek istemiyorsanız, ~ / .octaverc dosyası oluşturun ve oraya setenv komutunu girin.
Raj

83
Octave 3.8.0'ı OS X 10.9'a (Mavericks) yükledim ve Octave paketi gnuplot_qt kullanarak pencereleme için (aqua veya x11 yerine) Qt kullanacak şekilde ayarlanmış gibi görünüyor. İçeren bir ~ / .octaverc dosyası oluşturmak setenv("GNUTERM","qt")benim için çalıştı (@Raj ve @nightlyop teşekkürler).
Mart'ta tomelgin

Octave'yi yüklemek için Homebrew kullandıysanız, octaverc dosyasını aşağıdaki yolda bulabilirsiniz:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao

3
setenv ("GNUTERM", "qt") benim için Sierra 10.12.6'da çalıştı. "x11" olmadı.
Trevis Thomas

79

OS X 10.9.1'de Octave-cli, sürüm 3.8.0 ile benzer bir sorunla karşılaştım. Octave-gui'nin hala grafikleri nasıl çizebileceğini gözlemleyerek ve cevabı octaverc ile okuyarak, setenv("GNUTERM","qt")/usr/local/octave/3.8.0/share/octave/ site / m / başlatma / octaverc

Gnuplot veya diğer bağımlılıkları yeniden kurmak zorunda kalmadım.


Bu harika! Teşekkürler!
Thomas Ingalls

6
GNUTERM'i qt olarak ayarlamak benim için çalıştı (X11 için değil) ama yukarıda belirtilen dizine değil ana dizine (~ / .octaverc) koydum. Farkın ne olduğunu bilmiyorum ama giriş dizini daha kurulum nötr görünüyor.
Mart'ta Sepans

3
Ayrıca benim ana dizine ~ / .octaverc setenv ("GNUTERM", "qt") ekledim ve oktav ile çizim şimdi bir cazibe gibi çalışıyor. Teşekkürler
chekkal

Teşekkürler. El Capitan için çalışıyor!
Rohan

70

Terminal türünün x11 olarak ayarlanması sorunu çözecektir, ancak AquaTerm'in gnuplot ile çalışmasını istiyorsanız şu şekilde:

Öncelikle mevcut gnuplot kurulumunu kaldırmamız, bir terminal açmamız ve bu komutu çalıştırmamız gerekiyor.

brew uninstall gnuplot

AquaTerm'i buradan indirin: http://sourceforge.net/projects/aquaterm/ ve herhangi bir OSX uygulamasında yaptığınız gibi yükleyin.

Burada itibaren, Aquaterm ile gnuplot Mutlu almanın iki yolu vardır Yöntem 1 , kolaydır ama benim Aquaterm kurulum / usr / local / lib doğru sembolik yaratmadı çünkü benim için iş vermedi, Yöntem 2 olduğu benim için işe yaradı ve çalışmasını sağlamak için attığım adımları paylaşıyorum.

Yöntem 1: AquaTerm'i yükledikten sonra gnuplot'u yeniden yükleyin, bu sorunu insanlar için düzeltiyor gibi görünüyor.

brew install gnuplot

Her şeyin işe yarayıp yaramadığını görmek için doğrulama adımına gidin, eğer değilse, yöntem 2'yi izleyin

Yöntem 2: Bu yöntem daha ileri düzeydedir, ancak sabırlıysanız çalışacağı garanti edilir.

Esasen gnuplot, AquaTerm kütüphane dosyalarını bulamıyor, bu yüzden aqua, gnuplot yüklendikten sonra terminal tipi seçeneği olarak görünmüyor. Aquaterm desteğini etkinleştirmek için gnuplot için homebrew tarifini değiştirmemiz, gnuplot için demleme tarifini yazmamız gerekiyor:

brew edit gnuplot

Ve bu satırları bu github taahhüt mesajında ​​gösterildiği gibi ekleyin, bu gnuplot'un demleme seçeneğinin aquaterm içermesini sağlar https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Aşağıdaki kontrolleri yaparak uygun AquaTerm kütüphane sembollerinin olup olmadığını kontrol edin:

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

Yukarıdaki ilk satır bazı * .dylib dosyalarını döndürmelidir, yukarıdaki ikinci satır bazı * .h dosyalarını döndürmelidir, yoksa bu komutları terminalden çalıştırın:

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

Bu bazen AquaTerm yükleyicisi izin sorunları nedeniyle sembolik bağlantıları doğru yerlerde oluşturamadığından gereklidir. / Usr / local / symlinks oluşturulduktan sonra gnuplot'u şu şekilde yeniden yükleyin:

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

Gnuplot'un aşağıdaki adımları kullanarak aquatermi görebildiğini ve mutlu bir çizim yaptığınızı doğrulayın!


Doğrulayın: gnuplot'un terminalde gnuplot başlatarak AquaTerm ile doğru yapılandırıldığını doğrulayın

gnuplot

Bunu gnuplot terminaline yazın

gnuplot> set term

Hattı ara

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

Yukarıdaki satırı görüyorsanız, işiniz bitti, gnuplot doğru şekilde yapılandırılmış ve herkes mutlu.


Yöntem 2 sonuna kadar!
Ben Miller

2
Bilginize: gnuplot tarifini güncellememe gerek yoktu; sadece gnuplot kurmadan önce sembolik bağlantıları eklemek hile yaptı. Homebrew tarafýndaki sorunlar giderildi gibi görünüyor. Şerefe!
Aron

3
brew reinstall gnuplot --aquatermbir cazibe gibi çalıştı ... aquaterm zaten bu noktada kurulmuş olmalı.
Pykler

6
benim kurulum ile brew install gnuplot --with-aquaterm; görünüşe göre 4.6.6 için demleme gnuplot tarifi şimdi '--with-aquaterm' kullanıyor: tarifi düzenlemeye veya bu sembolik bağlantıları oluşturmaya gerek yok, ancak gnuplot'u yüklerken --with-aquaterm'i açıkça eklemeniz gerekiyor.
Mike Sokolov

Büyük yardım için teşekkürler ... 2. yöntemi kullanarak benim için iyi çalıştı
minhas23

47

AquaTerm değil x11 kullanmasına rağmen oktavlı araziler oluşturmak için bir yol buldum. Sorun, Octave'ın gnuplot'u komplo yapmak için aquaterm kullanmaya zorlamasıydı. Bunun yerine oktav içinde, yükleme ve gnuplot içine Aquaterm entegre yazmış: setenv GNUTERM x11. Bununla, grafikler zaten gnuplot ( set terminal) terminal listesinde bulunan x11 ile oluşturulur . Bunun bir yama olduğunu biliyorum, ama sonunda aquaterm veya x11'i umursamıyorum, sadece arazilerin üretilmesini istiyorum


1
Teşekkür ederim, en az yarım düzine ayrı çözüm denedikten sonra cevabınız bana yardımcı oldu
Kim Stacks

2
Linux Mint 16 kullanıyorsanız, gnuplot-x11 kurmanız gerekebilir. sudo apt-get install gnuplot-x11 Sonra PGreen söylediği gibi, benim conf dosya /etc/octave.conf olduğunu bulundu. Umarım yardımcı olur.
user1153623

24

set terminalveya set termgnuplot komutudur.

Sadece gnuplotgnuplot kabuğuna erişmek için komut satırından çalıştırmanız gerekir .

Ancak, bu iş için beni vermedi, ne yaptığını setenv("GNUTERM","x11")içinde /usr/local/share/octave/site/m/startup/octavercveya ~/.octaverc(her ikisi de aynı şeyi yapmak).

Listede set termgördüğüm gibi gnuplot kabuğunda koştum x11. Homebrew'u gnuplot kurmak için kullandım, bu yüzden önce kaldırdım brew uninstall gnuplot, daha sonra bunun için bayrak x11kullanarak yükledim --with-x:

brew install gnuplot --with-x

Bu benim için sorunu çözdü. brew info gnuplotGnuplot kurulumu için bayrakların listesini görmek için kullanın .

PS Ve evet, bir X11 dmg indirdim ve paket yükleyici kullanarak yükledim, hala gnuplot'ın desteklenen terminaller listesinde x11 yoktu.


2
Çok yararlı. Grafiklerin sırasıyla QT veya WxWindows terminalleri kullanılarak daha temiz göründüğünü unutmayın; bunlar sırasıyla --qtve --wxdemlemek kurulum seçenekleri kullanılarak kurulabilir (istenirse yan tarafta) .
Bryan P

1
Bunun yerine brew install gnuplot --with-x, kullanın brew reinstall gnuplot --with-x11(gnuplot zaten kuruluysa; --with-x artık desteklenmiyor gibi görünüyor)
Tushar


8

.octavercAna dizininizde bir dosya oluşturun ve GNUTERM'i X11 olarak ayarlayın

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

sombreroÇizimin çalışıp çalışmadığını kontrol etmek için oktav terminalini ve türünü açın

octave:1> sombrero

6

Bu benim için çalıştı:

  1. Unistall gnuplot

    demlemek kaldırma gnuplot

  2. AquaTerm'i yükleyin. Buradan indirebilirsiniz: http://sourceforge.net/projects/aquaterm/

  3. Gnuplot'u yeniden yükle

    demlemek yüklemek gnuplot


Hala "Segmentasyon Hatası: 11" ve "uygun yazı tipini yükleyemiyorsanız", bu komutlar benim için çalıştı: brew uninstall fontconfig && brew install fontconfig --universal
Julian

6

Anton haklı. Artık gnuplot'u --with-aquaterm seçeneğiyle yeniden yükleyebilirsiniz. Bunu yapmak için yeterli itibar puanım olsaydı cevabını iptal ederdim.

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

Mackuntu, bu sorunun github üzerinde tartışıldığını belirtti.

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

Ama o - aquaterm seçeneğini kullanmanızı tavsiye etti. Github bağlantısına yakından bakarsanız, seçeneğin --with-aquaterm olduğunu göreceksiniz. Bu seçenekle gnuplot'u yeniden yüklemek, OS X'te grafik çizmek için gnuplot kullanan bazı eski oktav kodunu çalıştırmama izin verdi.



4

Benim durumumda, Mas OS Mojave'de, benim için çalışan çözüm biraz farklıydı (sadece sözdizimi meselesi olabilir). Bu konudaki tartışmayı takiben benim için işe yarayan çözümle geldim - Octave-cli'dan çizim yapmamın, ancak doğrudan terminaldeki Octave komut satırından değil, benim için önemli olduğunu belirtmek önemli olabilir.

Bu yüzden bir ˜/.octavercdosya oluşturdum ve ona aşağıdaki komutu ekledim:

setenv GNUTERM qt

Sadece komut satırından oktavdan çıkın ve tekrar girin ve çizim yapabildi.


4

Aşağıdaki şey benim için çalıştı:

setenv("GNUTERM","qt")

Yerel çalışma için oktav klibi üzerinde çalıştırabilir veya oktav başlangıç ​​dosyasında kalıcı olarak ayarlayabilirsiniz.

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

Sadece octaverc dosyasını değiştirirseniz üzerinde yazma izninizin olması gerektiğini unutmayın.


2

Benim için işe yarayan şey, gnuplot-nox kurulumudur. Ayrıca bkz. Https://bugs.mageia.org/show_bug.cgi?id=4866

Gnuplot-nox kurmanın en iyi yolu fink kurmaktır. http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

iyi bir iş çıkarmış gibi görünüyor. Ancak kurulum bir noktada başarısız oldu. Bu yüzden gnuplot-minimal'i kurduktan sonra gnuplot-nox kurulumunu tekrar çalıştırdım ve her şey iyi çalıştı.

fink install gnuplot-minimal
fink install gnuplot-nox

gnuplot-nox install, aqua'yı gnuplot için varsayılan terminal olarak ayarlamış gibiydi. Gnuplot kabuğuna giderek doğrulayın. Çizimin işe yarayıp yaramadığını doğrulamak için kabuğa çizim (1) yazın. Grafiği bir pencerede göstermelidir.

Umarım bu işe yarar.

Diğer yayınlarda önerildiği gibi, GNUTERM'i X11 olarak ayarlamak bu sorunu benim için çözmedi. Ayrıca Mac OSX için AquaTerm'i doğrudan yüklemek bu sorunu çözmedi.


2

Cevap zaten yukarıda yer alıyor, ancak bu daha basit olduğunu düşünüyorum:

nano ~/.octaverc

bunu ekle:

setenv("GNUTERM", "X11")

Bu oktav'ı yeniden başlattın.


0

İşte benim için çalışan çözüm (mackuntu yorumunun farklı bölümlerine dayanarak)

Gnuplot muhtemelen sizin için demlemek kurulum oktav komutu tarafından zaten yüklenmiş, bu yüzden önce kaldırmamız gerekiyor

brew uninstall gnuplot

Ardından aquaterm kurulmalıdır ( http://sourceforge.net/projects/aquaterm/ )

Yükleme tamamlandıktan sonra tekrar gnuplot yüklemeniz gerekir. Bunun nedeni, demlemenin kurulum sırasında aquaterm varlığını tespit etmesi ve daha sonra herhangi bir kontrol yapmamasıdır.

brew install gnuplot --with-aquaterm

Kurulumdan sonra gnuplot'u başlatırsanız, aquaterm'in desteklendiğini göstermelidir. Ve oktavdaki tüm grafikler işe yarayacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.