Lỗi Octave-Gnuplot-AquaTerm: thiết lập tiêu đề nâng cao aqua Tiêu đề


136

Tôi đã cài đặt Octave và gnuplot qua Homebrew và tải xuống AquaTerm.dmg. Khi tôi cố gắng vẽ, tôi nhận được thông báo sau:

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`

Trong một thiết bị đầu cuối bash set terminal, set Terminal, set term, (và giống nhau, tiếp theo là "thủy" quá) vv cho không có gì. Tôi đã thử âm mưu một lần nữa từ quãng tám có "AquaTerm" đã mở, nhưng không có gì. Tôi đã thử vẽ sơ đồ trực tiếp từ gnuplot nhưng cùng một vấn đề .. Làm thế nào tôi có thể thực hiện "thiết lập thiết bị đầu cuối" này?

Thông báo bắt đầu Gnuplot nói " Terminal type set to 'x11'" nhưng không biết làm thế nào để thay đổi nó, các lệnh trước đó cũng không hoạt động.

Vì AquaTerm không được cài đặt từ Homebrew, có lẽ octave / gnupot không thể tìm thấy nó ... nhưng không biết. Có đoán được không? Cảm ơn!


Điều gì trên trái đất này có liên quan đến bash? Bạn được yêu cầu gõ set terminalvào gnuplot, không phải trong bash.
n. 'đại từ' m.

1
@nm Tôi đã thử trong bash vì gõ "set terminal" sau khi thông báo (và do đó, bên trong quãng tám) bị lỗi. Bây giờ tôi đã thử mở gnuplot và gõ "set terminal" và nó hoạt động, nó hiển thị một danh sách trong đó aqua không có ở đó. Cảm ơn các liên kết! Vì tôi đã cài đặt gnuplot từ brewtôi không biên dịch trực tiếp. nếu tôi tải xuống và biên dịch gnuplot bên ngoài brew thì không biết liệu có bất kỳ xung đột hay vấn đề nào với quãng tám không ...
PGreen

1
Đối với người dùng Linux: Hãy thử cài đặt gnuplot-x11và thêm setenv("GNUTERM","X11")vào của bạn ~/.octaverc.
Martin Thoma

setenv("GNUTERM","qt")đã làm cho tôi.
giapnh

Câu trả lời:


110

Tôi đã phải thêm setenv("GNUTERM","X11")vào OCTAVE_HOME/share/octave/site/m/startup/octaverc(OCTAVE_HOME thường là / usr / local) để làm cho nó hoạt động vĩnh viễn.

Giải pháp được tìm thấy và biết thêm chi tiết về: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html


Nếu bạn muốn hoàn nguyên nó, giá trị ban đầu là aqua. octave:1> getenv GNUTERM ans = aqua
DeepSpace101

8
Nếu bạn không muốn cập nhật octaverc toàn cầu, chỉ cần tạo một tệp ~ / .octaverc và nhập lệnh setenv trong đó.
Raj

83
Tôi vừa cài đặt Octave 3.8.0 trên OS X 10.9 (Mavericks) và gói Octave dường như được thiết lập để sử dụng Qt cho cửa sổ (thay vì aqua hoặc x11) bằng gnuplot_qt. Tạo tệp ~ / .octaverc có chứa setenv("GNUTERM","qt")công việc cho tôi (cảm ơn @Raj và @nightlyop).
tomelgin

nếu bạn đã sử dụng Homebrew để cài đặt Octave, bạn sẽ tìm thấy tệp octaverc theo đường dẫn sau:usr/local/Cellar/octave/4.0.0_5/share/octave/site/m/startup/octaverc
Kevin Zhao

3
setenv ("GNUTERM", "qt") đã làm việc cho tôi trên Sierra 10.12.6. "X11" thì không.
Trevis Thomas

79

Tôi đã gặp phải một vấn đề tương tự với Octave-cli, phiên bản 3.8.0, trên OS X 10.9.1. Quan sát cách Octave-gui vẫn có thể vẽ biểu đồ và đọc câu trả lời với octaverc, tôi đã có kế hoạch làm việc từ Octave-cli bằng cách thêm một dòng với setenv("GNUTERM","qt")/usr/local/octave/3.8.0/share/octave/ trang web / m / khởi động / octaverc

Tôi đã không phải cài đặt lại gnuplot hoặc các phụ thuộc khác.


Đây là hoàn hảo! Cảm ơn!
Thomas Ingalls

6
Đặt GNUTERM thành qt làm việc cho tôi (không phải X11) nhưng tôi đặt nó trong thư mục chính của tôi (~ / .octaverc) không phải là thư mục được đề cập ở trên. Tôi không biết sự khác biệt là gì nhưng thư mục chính dường như được cài đặt trung tính hơn.
sepans

3
Tôi cũng đã thêm setenv ("GNUTERM", "qt") vào thư mục chính của mình ~ / .octaverc và vẽ đồ thị với octave hiện đang hoạt động như một bùa mê. Cảm ơn
chekkal

Cảm ơn. Hoạt động cho El Capitan!
Rohan

70

Đặt loại thiết bị đầu cuối thành x11 sẽ giải quyết được vấn đề, nhưng nếu bạn muốn để AquaTerm hoạt động với gnuplot thì đây là:

Đầu tiên chúng ta cần gỡ cài đặt gnuplot hiện có, mở một thiết bị đầu cuối và chạy lệnh này.

brew uninstall gnuplot

Tải xuống AquaTerm từ đây: http://sourceforge.net/projects/aquaterm/ và cài đặt như bất kỳ ứng dụng OSX nào.

Từ đây trở đi, có hai cách để gnuplot hài lòng với aquaterm, Cách 1 dễ dàng hơn, nhưng không hiệu quả với tôi vì cài đặt AquaTerm của tôi không tạo ra các liên kết chính xác trong / usr / local / lib, Cách 2 là một trong đó làm việc cho tôi và tôi đang chia sẻ các bước tôi đã thực hiện để làm cho nó hoạt động.

Phương pháp 1: Đơn giản chỉ cần cài đặt lại gnuplot sau khi cài đặt AquaTerm dường như khắc phục sự cố này cho mọi người.

brew install gnuplot

Đến bước xác minh để xem mọi thứ có hoạt động không, nếu không, hãy làm theo phương pháp 2

Phương pháp 2: Phương pháp này tiên tiến hơn, nhưng đảm bảo sẽ hoạt động nếu bạn kiên nhẫn.

Về cơ bản, gnuplot không thể định vị các tệp thư viện AquaTerm, đó là lý do tại sao aqua không hiển thị dưới dạng tùy chọn loại thiết bị đầu cuối sau khi chúng tôi cài đặt gnuplot. Chúng tôi cần sửa đổi công thức homebrew cho gnuplot để kích hoạt hỗ trợ aquaterm, mở công thức nấu bia cho gnuplot bằng cách gõ:

brew edit gnuplot

Và thêm các dòng này như được hiển thị trong thông báo cam kết github này, điều này sẽ cho phép tùy chọn brew cho gnuplot bao gồm cả aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Kiểm tra xem liệu các liên kết thư viện AquaTerm thích hợp có tồn tại hay không bằng cách thực hiện các kiểm tra sau:

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

Dòng đầu tiên ở trên sẽ trả về một số tệp * .dylib, dòng thứ hai ở trên sẽ trả về một số tệp * .h, nếu chúng không tồn tại, hãy chạy các lệnh này từ 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/.

Điều này đôi khi cần thiết vì trình cài đặt cho AquaTerm không thể tạo liên kết tượng trưng ở đúng nơi do vấn đề về quyền. Khi / usr / local / symlinks được tạo, hãy cài đặt lại gnuplot như thế này:

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

Xác minh rằng gnuplot có thể xem aquaterm bằng các bước bên dưới và âm mưu hạnh phúc!


Xác minh: gnuplot đã được cấu hình đúng với AquaTerm bằng cách khởi chạy gnuplot trong thiết bị đầu cuối

gnuplot

Nhập cái này vào terminal gnuplot

gnuplot> set term

Tìm dòng

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

Nếu bạn thấy dòng đó ở trên, thì bạn đã hoàn thành, gnuplot được cấu hình đúng và mọi người đều vui vẻ.


Cách 2 hết cách!
Ben Miller

2
FYI: Tôi không cần cập nhật công thức cho gnuplot; chỉ cần thêm các liên kết tượng trưng trước khi cài đặt gnuplot đã thực hiện thủ thuật này. Có vẻ như bất kỳ vấn đề nào về phía Homebrew đã được khắc phục. Chúc mừng!
Aron

3
brew reinstall gnuplot --aquatermlàm việc như một bùa mê ... aquaterm phải được cài đặt vào thời điểm đó.
Pykler

6
với thiết lập của tôi, tôi đã phải brew install gnuplot --with-aquaterm; rõ ràng công thức brew gnuplot cho 4.6.6 sử dụng '--with-aquaterm' ngay bây giờ: không cần chỉnh sửa công thức hoặc tạo các liên kết tượng trưng đó, nhưng bạn cần phải thêm rõ ràng --with-aquaterm khi cài đặt gnuplot.
Mike Sokolov

Cảm ơn sự giúp đỡ tuyệt vời ... Nó hoạt động tốt với tôi bằng cách sử dụng phương pháp thứ 2
minhas23 18/03/2016

47

Tôi đã tìm thấy một cách để tạo ra các ô với quãng tám, mặc dù không sử dụng AquaTerm mà là x11. Vấn đề là Octave đã "buộc" gnuplot sử dụng aquaterm để vẽ. Thay vì cài đặt và tích hợp aquaterm vào gnuplot, trong quãng tám được gõ : setenv GNUTERM x11. Với điều này, các ô được tạo với x11 đã có trong danh sách đầu cuối của gnuplot ( set terminal). Tôi biết đó là một bản vá, nhưng cuối cùng tôi không bận tâm đến aquaterm hoặc x11, tôi chỉ muốn các lô được tạo ra


1
Cảm ơn bạn, câu trả lời của bạn đã giúp tôi sau khi tôi thử ít nhất nửa tá giải pháp riêng biệt
Kim Stacks

2
Nếu chạy linux Mint 16, bạn có thể cần cài đặt gnuplot-x11. sudo apt-get install gnuplot-x11 Sau đó, làm như PGreen đã nói, tôi thấy rằng tệp conf của tôi nằm ở /etc/octave.conf. Mong rằng sẽ giúp.
dùng1153623 ngày

24

set terminalhoặc set termlà lệnh gnuplot.

Bạn chỉ cần chạy gnuplottừ dòng lệnh để có quyền truy cập vào vỏ gnuplot.

Tuy nhiên, điều này không làm việc cho tôi, không phải làm việc setenv("GNUTERM","x11")trong /usr/local/share/octave/site/m/startup/octaverchay ~/.octaverc(cả làm điều tương tự).

Vì vậy, tôi chạy set termtrong vỏ gnuplot như không thấy x11trong danh sách. Tôi đã sử dụng homebrew để cài đặt gnuplot, vì vậy trước tiên tôi đã gỡ cài đặt nó brew uninstall gnuplot, sau đó cài đặt bằng x11cách sử dụng --with-xcờ cho điều đó:

brew install gnuplot --with-x

Điều này đã giải quyết vấn đề cho tôi. Sử dụng brew info gnuplotđể xem danh sách các cờ để cài đặt gnuplot.

PS Và vâng, tôi đã tải xuống một d11 X11 và cài đặt nó bằng trình cài đặt gói, gnuplot vẫn không có x11 trong danh sách các thiết bị đầu cuối được hỗ trợ.


2
Rất hữu ích. Lưu ý rằng đồ họa có vẻ sạch hơn đối với tôi khi sử dụng các thiết bị đầu cuối QT hoặc WxWindows, có thể được cài đặt (dọc theo nếu muốn) bằng cách sử dụng các tùy chọn cài đặt --qt--wxpha tương ứng.
Bryan P

1
Thay vì brew install gnuplot --with-xsử dụng brew reinstall gnuplot --with-x11(nếu gnuplot đã được cài đặt; --with-x dường như không còn được hỗ trợ)
Tushar

10

Bạn có thể thử điều này:

>> brew reinstall gnuplot --with-aquaterm

hoặc là

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

Có thể sử dụng một số giải thích thêm.
Jens

3
Hãy lưu ý rằng bạn thực sự cần phải cài đặt aquaterm trước khi cài đặt lại gnuplot. aquaterm.github.io
Lee Avital

các with-aquatermkhông còn là một lựa chọn hợp lý cho gnuplot: github.com/Homebrew/homebrew-core/issues/46923
Ty Hitzeman

8

Tạo một tệp .octaverctrong thư mục chính của bạn và đặt GNUTERM thành X11

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

Mở terminal octave và gõ sombrerođể kiểm tra xem âm mưu có hoạt động không

octave:1> sombrero

6

Điều này làm việc cho tôi:

  1. Gnuplot chưa từng có

    bia gỡ cài đặt gnuplot

  2. Cài đặt AquaTerm. Bạn có thể tải xuống từ đây: http://sourceforge.net/projects/aquaterm/

  3. Cài đặt lại gnuplot

    bia cài đặt gnuplot


Nếu bạn vẫn nhận được "Lỗi phân đoạn: 11" và "không thể tải phông chữ phù hợp", các lệnh này đã có hiệu quả với tôi: brew uninstall fontconfig && brew install fontconfig --universal
Julian

6

Anton đã đúng. Bây giờ bạn có thể chỉ cần cài đặt lại gnuplot với tùy chọn --with-aquaterm. Tôi sẽ đưa ra câu trả lời của anh ấy nếu tôi có đủ điểm danh tiếng để làm điều đó.

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

Mackfox đã đề cập ở trên rằng vấn đề này đã được thảo luận trên github.

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

Nhưng ông khuyên nên sử dụng tùy chọn --aquaterm. Nếu bạn xem kỹ liên kết github, bạn sẽ thấy tùy chọn đó là --with-aquaterm. Cài đặt lại gnuplot với tùy chọn này hôm nay cho phép tôi chạy một số mã quãng tám cũ sử dụng gnuplot để vẽ đồ thị trên OS X.



4

Trong trường hợp của tôi, trên Mas OS Mojave, giải pháp hoạt động cho tôi hơi khác một chút (có thể chỉ là vấn đề cú pháp). Sau cuộc thảo luận về chủ đề này, tôi đã đưa ra giải pháp phù hợp với mình - điều quan trọng cần lưu ý là tôi có thể vẽ sơ đồ từ Octave-cli nhưng không phải từ dòng lệnh Octave trực tiếp trong thiết bị đầu cuối.

Vì vậy, tôi đã tạo một ˜/.octaverctập tin và thêm lệnh sau vào nó:

setenv GNUTERM qt

Chỉ cần thoát khỏi dòng lệnh từ quãng tám và nhập lại và có thể vẽ.


4

Điều sau đây làm việc cho tôi:

setenv("GNUTERM","qt")

Bạn có thể chạy nó trên octave cli, để chạy cục bộ hoặc có thể đặt trong tệp khởi động quãng tám vĩnh viễn.

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

Chỉ cần nhớ trong trường hợp bạn thay đổi tập tin octaverc, bạn phải có quyền ghi trên nó.


2

Những gì đã làm việc cho tôi là cài đặt gnuplot-nox. Đồng thời xem https://bugs.mageia.org/show_orms.cgi?id=4866

Có vẻ như cách tốt nhất để cài đặt gnuplot-nox là cài đặt fink. http://sourceforge.net/projects/fink/?source=dlp

fink install gnuplot-nox

dường như làm một công việc tốt Tuy nhiên, việc cài đặt đã thất bại tại một thời điểm. Vì vậy, tôi đã cài đặt gnuplot-Minimal sau đó chạy lại cài đặt gnuplot-nox và mọi thứ đều hoạt động tốt.

fink install gnuplot-minimal
fink install gnuplot-nox

Cài đặt gnuplot-nox dường như đã đặt aqua làm thiết bị đầu cuối mặc định cho gnuplot. Xác minh rằng bằng cách đi đến vỏ gnuplot. Để xác minh nếu âm mưu hoạt động, nhập lô (1) trong vỏ. Nó sẽ hiển thị cốt truyện trong một cửa sổ.

Hy vọng rằng sẽ làm việc cho bạn.

Giống như đề xuất trong các bài đăng khác, việc đặt GNUTERM thành X11 không giải quyết được vấn đề này cho tôi. Việc cài đặt thẳng AquaTerm cho Mac OSX cũng không giải quyết được vấn đề này.


2

Câu trả lời đã được nêu ở trên, nhưng điều này đơn giản hơn tôi nghĩ:

nano ~/.octaverc

thêm điều này:

setenv("GNUTERM", "X11")

Đó là khởi động lại quãng tám bạn đã hoàn thành.


0

Đây là giải pháp hiệu quả với tôi (dựa trên các phần khác nhau của nhận xét mackfox)

Gnuplot có thể đã được cài đặt cho bạn bằng lệnh octave cài đặt bia, vì vậy chúng tôi cần xóa nó trước

brew uninstall gnuplot

Sau đó, aquaterm phải được cài đặt ( http://sourceforge.net/projects/aquaterm/ )

Sau khi cài đặt xong, bạn cần cài đặt lại gnuplot. Điều này là do brew phát hiện sự hiện diện của aquaterm trong quá trình cài đặt và sẽ không thực hiện bất kỳ kiểm tra nào cho nó sau đó.

brew install gnuplot --with-aquaterm

Nếu bạn khởi chạy gnuplot sau khi cài đặt, nó sẽ hiển thị rằng aquaterm được hỗ trợ. Và tất cả đồ họa trong quãng tám sẽ hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.