由于自版本3.8.0以来GNU Octave带有GUI,我认为我应该检查它。
因为我运行Windows并且只能为Cygwin找到Octave 3.8,所以我安装了Cygwin和包octave
,xinit
,xlaunch
和gnuplot
(根据{ {3}},但我不知道是否需要所有这些包。)
然后,当尝试使用来自Cygwin的GUI octave --force-gui
启动Octave时,我最初得到了错误消息
octave: X11 DISPLAY environment variable not set
和Octave将以控制台模式启动。所以我找到了this page,告诉我要运行
echo "export DISPLAY=:0.0" >>~/.bash_profile
从Cygwin,永久摆脱错误信息,这是有效的。但是,然后我得到了这个错误消息:
octave: unable to open X11 DISPLAY
同一页面还说你必须通过转到开始运行X服务器 - > Cygwin-X - > XWin服务器。这有效,但由于我不希望xterm终端启动,因为它不需要,我发现this page告诉我运行
touch ~/.startxwinrc
从Cygwin 创建一个空的.startxwinrc
文件,以防止xtrem终端默认启动,这有效。同一页面还提到X服务器可以使用命令startxwin
直接从Cygwin启动。
所以,现在我可以使用Cygwin的GUI启动Octave,只需运行
即可startxwin
octave --force-gui
但是,我希望能够双击桌面图标以启动并运行所有内容。
所以,对我的问题: 我能以某种方式把它放在一个脚本文件中,当我运行它时,将在Cygwin中打开,以便脚本文件中的命令将是在Cygwin跑?有没有办法在Octave终止后自动关闭X服务器?我尝试编写一个文件octave.bat
,它启动Cygwin并提供第二个批处理文件作为参数,而后者又包含命令我想执行。但是当我运行第一个脚本时,我只是被命令提示(而不是Cygwin提示)轰炸,而且所有人都说
'startxwin' is not recognized as an internal or external command, operable program or batch file.
为什么没有在Cygwin中打开第二个脚本,我怎样才能尽可能简单地实现我想要的?
答案 0 :(得分:5)
请从此处获取Octave:http://mxeoctave.osuv.de/
安装程序应该为您配置一切。
GNU Octave现在提供Windows二进制文件。转到ftp://ftp.gnu.org/gnu/octave/windows/
答案 1 :(得分:2)
你必须把
c:\cygwin64\bin\mintty.exe /bin/sh -lc 'startxwin /bin/octave --force-gui'
在Windows批处理文件中(请根据您的设置调整Cygwin路径)。这对我来说很好。
电话
c:\cygwin64\bin\bash --login -c "startxwin /bin/octave --force-gui"
根据需要打开了Octave但是GUI似乎对键盘有响应问题并在点击进入编辑器后冻结。
答案 2 :(得分:0)
我的Cygwin安装中没有安装任何这些命令,所以我无法通过在桌面上使用以下.bat
文件来测试这个:
c:\cygwin\bin\bash --login -c "startxwin octave --force-gui"
将c:\cygwin
替换为您安装Cygwin的目录。
如果这会在屏幕上显示控制台窗口,请尝试执行以下操作:
c:\cygwin\bin\bash --login -c "run startxwin octave --force-gui"