Kesalahan Octave-Gnuplot-AquaTerm: setel terminal aqua dengan judul yang disempurnakan “Gambar 1”… tipe terminal tidak diketahui "

137

Saya telah menginstal Octave dan gnuplot melalui Homebrew, dan mengunduh AquaTerm.dmg. Ketika saya mencoba plot, saya mendapatkan pesan berikut:

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`

Dalam terminal pesta set terminal, set Terminal, set term, (dan sama, diikuti oleh "aqua" juga) dll memberikan apa-apa. Saya sudah mencoba memplot lagi dari oktaf dengan "AquaTerm" sudah terbuka, tapi tidak ada. Saya sudah mencoba merencanakan langsung dari gnuplot tetapi masalah yang sama .. Bagaimana saya bisa melakukan ini "set terminal aqua"?

Pesan awal Gnuplot mengatakan " Terminal type set to 'x11'" tetapi tidak tahu cara mengubahnya, perintah sebelumnya juga tidak berfungsi.

Karena AquaTerm tidak diinstal dari Homebrew mungkin oktaf / gnupot tidak dapat menemukannya ... tetapi tidak tahu. Ada tebakan? Terima kasih!

PGreen
sumber
Apa ini ada hubungannya dengan bash? Anda diminta mengetik set terminalgnuplot, bukan bash.
n. 'kata ganti' m.
1
@nm Saya mencoba di bash karena mengetik "set terminal" rigt setelah pesan (dan karena itu, di dalam oktaf) memberikan kesalahan. Sekarang saya mencoba membuka gnuplot dan mengetik "set terminal" dan berhasil, ini menunjukkan daftar di mana aqua tidak ada. Terima kasih untuk tautannya! Karena saya telah menginstal gnuplot dari brewsaya tidak mengkompilasinya secara langsung. jika saya mengunduh dan mengkompilasi gnuplot di luar minuman tidak tahu apakah akan ada konflik atau masalah dengan oktaf ...
PGreen
1
Untuk pengguna Linux: Coba instal gnuplot-x11dan tambahkan setenv("GNUTERM","X11")ke ~/.octaverc.
Martin Thoma
setenv("GNUTERM","qt")bekerja untuk saya.
giapnh

Jawaban:

110

Saya harus menambahkan setenv("GNUTERM","X11")ke OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME biasanya / usr / local) untuk membuatnya berfungsi secara permanen.

Solusi ditemukan dan detail lebih lanjut di: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html

nightlyop
sumber
Jika Anda ingin mengembalikannya, nilai aslinya adalah aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101
8
Jika Anda tidak ingin memperbarui octaverc global, cukup buat file ~ / .octaverc dan masukkan perintah setenv di sana.
Raj
83
Saya baru saja menginstal Octave 3.8.0 di OS X 10.9 (Mavericks), dan bundel Octave tampaknya diatur untuk menggunakan Qt untuk windowing (bukan aqua atau x11) menggunakan gnuplot_qt. Membuat file ~ / .octaverc yang berisi setenv("GNUTERM","qt")berhasil untuk saya (terima kasih @Raj dan @nightlyop).
tomelgin
jika Anda menggunakan Homebrew untuk menginstal Octave, Anda akan menemukan file octaverc di jalur berikut:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao
3
setenv ("GNUTERM", "qt") berfungsi untuk saya di Sierra 10.12.6. "x11" tidak.
Trevis Thomas
79

Saya mengalami masalah serupa dengan Octave-cli, versi 3.8.0, di OS X 10.9.1. Mengamati bagaimana Octave-gui masih bisa memplot grafik, dan membaca jawabannya dengan octaverc, saya telah merencanakan untuk bekerja dari Octave-cli dengan menambahkan baris setenv("GNUTERM","qt")ke /usr/local/octave/3.8.0/share/octave/ situs / m / startup / octaverc

Saya tidak perlu menginstal ulang gnuplot atau dependensi lainnya.

rehumbus
sumber
Ini sempurna! Terima kasih!
Thomas Ingalls
6
Pengaturan GNUTERM ke qt berhasil untuk saya (bukan X11) tetapi saya meletakkannya di direktori home saya (~ / .octaverc) bukan direktori yang disebutkan di atas. Saya tidak tahu apa bedanya tetapi direktori home tampaknya lebih netral instalasi.
Sepan
3
Saya juga menambahkan setenv ("GNUTERM", "qt") ke direktori home saya ~ / .octaverc dan ploting dengan oktaf sekarang bekerja seperti pesona. Terima kasih
chekkal
Terima kasih. Bekerja untuk El Capitan!
Rohan
70

Mengatur tipe terminal ke x11 akan menyelesaikan masalah, tetapi jika Anda ingin AquaTerm bekerja dengan gnuplot, berikut caranya:

Pertama kita perlu menghapus instalasi gnuplot yang ada, buka terminal dan jalankan perintah ini.

brew uninstall gnuplot

Unduh AquaTerm dari sini: http://sourceforge.net/projects/aquaterm/ dan instal seperti yang Anda lakukan pada aplikasi OSX lainnya.

Dari sini, ada dua cara untuk membuat gnuplot senang dengan aquaterm, Metode 1 lebih mudah, tetapi tidak berhasil untuk saya karena instalasi AquaTerm saya tidak membuat symlink yang benar di / usr / local / lib, Metode 2 adalah salah satu yang berhasil untuk saya, dan saya membagikan langkah-langkah yang saya ambil untuk membuatnya berfungsi.

Metode 1: Cukup instal ulang gnuplot setelah menginstal AquaTerm tampaknya memperbaiki masalah ini untuk orang-orang.

brew install gnuplot

Pergi ke langkah verifikasi untuk melihat apakah semuanya berfungsi, jika tidak, ikuti metode 2

Metode 2: Metode ini lebih maju, tetapi dijamin berhasil jika Anda sabar.

Pada dasarnya gnuplot tidak dapat menemukan file pustaka AquaTerm, itulah mengapa aqua tidak muncul sebagai opsi tipe terminal setelah kami menginstal gnuplot. Kita perlu memodifikasi resep homebrew untuk gnuplot untuk mengaktifkan dukungan aquaterm, buka resep minuman untuk gnuplot dengan mengetik:

brew edit gnuplot

Dan tambahkan baris ini seperti yang ditunjukkan dalam pesan komit github ini, ini akan mengaktifkan opsi pembuatan untuk gnuplot untuk menyertakan aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Periksa untuk melihat apakah symlink perpustakaan AquaTerm yang tepat ada dengan melakukan pemeriksaan ini:

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

Baris pertama di atas harus mengembalikan beberapa file * .dylib, baris kedua di atas harus mengembalikan beberapa file * .h, jika tidak ada, jalankan perintah ini dari 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/.

Ini terkadang diperlukan karena penginstal untuk AquaTerm tidak dapat membuat symlink di tempat yang benar karena masalah izin. Setelah / usr / local / symlinks dibuat, instal ulang gnuplot seperti ini:

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

Pastikan gnuplot dapat melihat aquaterm menggunakan langkah-langkah di bawah ini dan selamat merencanakan!


Verifikasi: bahwa gnuplot telah dikonfigurasi dengan AquaTerm secara benar dengan meluncurkan gnuplot di terminal

gnuplot

Ketik ini di terminal gnuplot

gnuplot> set term

Cari garisnya

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

Jika Anda melihat baris di atas, maka Anda telah selesai, gnuplot dikonfigurasi dengan benar dan semua orang senang.

mackuntu
sumber
Metode 2 sepenuhnya!
Ben Miller
2
FYI: Saya tidak perlu memperbarui resep untuk gnuplot; cukup menambahkan symlink sebelum menginstal gnuplot sudah cukup. Sepertinya masalah apa pun di sisi Homebrew ini telah diperbaiki. Bersulang!
Aron
3
brew reinstall gnuplot --aquatermbekerja seperti pesona ... aquaterm pasti sudah dipasang pada saat itu.
Pykler
6
dengan pengaturan saya, saya harus brew install gnuplot --with-aquaterm; tampaknya resep brew gnuplot untuk 4.6.6 penggunaan '--with-aquaterm' sekarang: tidak perlu mengedit resep atau membuat symlink tersebut, tetapi Anda perlu menambahkan --with-aquaterm secara eksplisit saat menginstal gnuplot.
Mike Sokolov
Terima kasih atas bantuannya ... Ini bekerja dengan baik untuk saya menggunakan metode ke-2
minhas23
47

Saya menemukan cara untuk menghasilkan plot dengan oktaf, meskipun tidak menggunakan AquaTerm tetapi x11. Masalahnya adalah bahwa Octave "memaksa" gnuplot menggunakan aquaterm untuk membuat plot. Alih-alih memasang dan mengintegrasikan aquaterm ke gnuplot, di oktaf diketik: setenv GNUTERM x11. Dengan ini, plot dibuat dengan x11 yang sudah ada di daftar terminal gnuplot ( set terminal). Saya tahu ini tambalan, tetapi akhirnya saya tidak keberatan aquaterm atau x11, saya hanya ingin plot dibuat

PGreen
sumber
1
Terima kasih, jawaban Anda membantu saya setelah saya mencoba setidaknya setengah lusin solusi terpisah
Kim Stacks
2
Jika menjalankan linux Mint 16 Anda mungkin perlu menginstal gnuplot-x11. sudo apt-get install gnuplot-x11 Kemudian lakukan seperti yang dikatakan PGreen, saya menemukan bahwa file conf saya ada di /etc/octave.conf. Semoga membantu.
pengguna1153623
24

set terminalatau set termperintah gnuplot.

Anda hanya perlu menjalankan gnuplotdari baris perintah untuk mendapatkan akses ke gnuplot shell.

Namun, ini tidak berhasil untuk saya, begitu juga di setenv("GNUTERM","x11")dalam /usr/local/share/octave/site/m/startup/octavercatau ~/.octaverc(keduanya melakukan hal yang sama).

Jadi saya menjalankan set termshell gnuplot karena tidak melihat x11dalam daftar. Saya menggunakan homebrew untuk menginstal gnuplot, jadi saya mencopot pemasangannya terlebih dahulu brew uninstall gnuplot, kemudian menginstal dengan x11menggunakan --with-xflag untuk itu:

brew install gnuplot --with-x

Ini memecahkan masalah saya. Gunakan brew info gnuplotuntuk melihat daftar flag untuk instalasi gnuplot.

PS Dan ya, saya mengunduh X11 dmg dan menginstalnya menggunakan penginstal paket, masih gnuplot tidak memiliki x11 dalam daftar terminal yang didukung.

i4niac
sumber
2
Sangat membantu. Perhatikan bahwa grafik tampak lebih bersih bagi saya menggunakan terminal QT atau WxWindows, yang dapat diinstal (di sepanjang sisi jika diinginkan) menggunakan opsi --qtdan --wxbrew install masing-masing.
Bryan P
1
Alih-alih brew install gnuplot --with-x, gunakan brew reinstall gnuplot --with-x11(jika gnuplot sudah diinstal; --with-x tampaknya tidak lagi didukung)
Tushar
10

Anda dapat mencoba ini:

>> brew reinstall gnuplot --with-aquaterm

atau

>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm
antonpp
sumber
Bisa menggunakan penjelasan lebih lanjut.
Jens
3
Harap diperhatikan bahwa Anda benar-benar perlu menginstal aquaterm sebelum menginstal ulang gnuplot. aquaterm.github.io
Lee Avital
yang with-aquatermtidak lagi menjadi pilihan yang valid untuk gnuplot: github.com/Homebrew/homebrew-core/issues/46923
Ty Hitzeman
8

Buat file .octavercdi direktori home Anda dan setel GNUTERM ke X11

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

Buka terminal oktaf dan ketik sombrerountuk memeriksa apakah penggambaran berfungsi

octave:1> sombrero
behas
sumber
6

Ini berhasil untuk saya:

  1. Unistall gnuplot

    buat uninstall gnuplot

  2. Pasang AquaTerm. Anda dapat mengunduhnya dari sini: http://sourceforge.net/projects/aquaterm/

  3. Instal ulang gnuplot

    buat instal gnuplot

avgn
sumber
Jika Anda masih mendapatkan "Segmentation Fault: 11" dan "tidak dapat memuat font yang sesuai", perintah ini berfungsi untuk saya: brew uninstall fontconfig && brew install fontconfig --universal
Julian
6

Anton benar. Anda sekarang dapat menginstal ulang gnuplot dengan opsi --with-aquaterm. Saya akan mendukung jawabannya jika saya memiliki poin reputasi yang cukup untuk melakukannya.

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

Mackuntu menyebutkan di atas bahwa masalah ini telah dibahas di github.

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

Tetapi dia menyarankan untuk menggunakan opsi --aquaterm. Jika Anda melihat lebih dekat pada tautan github, Anda akan melihat bahwa opsinya adalah --dengan-aquaterm. Menginstal ulang gnuplot dengan opsi ini hari ini memungkinkan saya menjalankan beberapa kode oktaf lama yang menggunakan gnuplot untuk memplot grafik di OS X.

James Bridgewater
sumber
5

Saya punya jawaban yang akan menyelesaikan masalah yang Anda hadapi. Pada dasarnya, bagi saya masalahnya adalah bahwa build gnuplot tidak menemukan pustaka AquaTerm yang tepat. Lihat postingan yang saya buat:

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

Yeison
sumber
1
Terima kasih atas solusinya! :)
PGreen
5

Dalam kasus saya, di Mas OS Mojave, solusi yang berhasil untuk saya sedikit berbeda (bisa jadi hanya masalah sintaks). Setelah diskusi di utas ini saya datang dengan solusi yang berhasil untuk saya - mungkin penting untuk dicatat bahwa saya dapat memplot dari Octave-cli tetapi tidak dari baris perintah Oktaf langsung di terminal.

Jadi saya membuat ˜/.octavercfile dan menambahkan perintah berikut ke dalamnya:

setenv GNUTERM qt

Cukup keluar dari baris perintah dari oktaf dan masuk lagi dan bisa plot.

Daniel Ambrósio
sumber
5

Hal berikut berhasil untuk saya:

setenv("GNUTERM","qt")

Anda dapat menjalankannya pada cli oktaf, untuk menjalankan lokal atau dapat mengatur dalam file startup oktaf untuk permanen.

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

Ingatlah jika Anda mengubah file octaverc Anda harus memiliki izin menulis di atasnya.

Arjit Sharma
sumber
2

Apa yang berhasil bagi saya adalah menginstal gnuplot-nox. Lihat juga https://bugs.mageia.org/show_bug.cgi?id=4866

Sepertinya cara terbaik untuk menginstal gnuplot-nox adalah dengan menginstal fink. http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

sepertinya melakukan pekerjaan dengan baik. Namun penginstalan gagal pada satu titik. Jadi saya menginstal gnuplot-minimal lalu menjalankan gnuplot-nox install lagi dan semuanya bekerja dengan baik.

fink install gnuplot-minimal
fink install gnuplot-nox

instalasi gnuplot-nox tampaknya telah menetapkan aqua sebagai terminal default untuk gnuplot. Verifikasi itu dengan membuka gnuplot shell. Untuk memverifikasi apakah plotting berhasil, ketik plot (1) di shell. Ini harus menunjukkan plot di jendela.

Harapan itu berhasil untuk Anda.

Seperti yang disarankan di posting lain, mengatur GNUTERM ke X11 tidak menyelesaikan masalah ini untuk saya. Juga menginstal langsung AquaTerm untuk Mac OSX tidak menyelesaikan masalah ini.

pengguna3134249
sumber
2

Jawabannya sudah ada di atas, tapi ini lebih sederhana menurut saya:

nano ~/.octaverc

Tambahkan ini:

setenv("GNUTERM", "X11")

Itu restart oktaf Anda sudah selesai.

boulder_ruby
sumber
0

Berikut adalah solusi yang berhasil untuk saya (berdasarkan bagian berbeda dari komentar mackuntu)

Gnuplot mungkin sudah diinstal untuk Anda dengan perintah brew install octave, jadi kita perlu menghapusnya terlebih dahulu

brew uninstall gnuplot

Kemudian aquaterm harus diinstal ( http://sourceforge.net/projects/aquaterm/ )

Setelah penginstalan selesai, Anda perlu menginstal gnuplot lagi. Ini karena brew mendeteksi keberadaan aquaterm selama pemasangan dan tidak akan melakukan pemeriksaan setelahnya.

brew install gnuplot --with-aquaterm

Jika Anda meluncurkan gnuplot setelah menginstal, itu akan menunjukkan bahwa aquaterm didukung. Dan semua grafik dalam oktaf akan berfungsi.

can3p
sumber