如何从桌面图标通过Cygwin启动带有GUI的GNU Octave?

时间:2014-09-13 12:15:02

标签: windows batch-file user-interface cygwin octave

由于自版本3.8.0以来GNU Octave带有GUI,我认为我应该检查它。

因为我运行Windows并且只能为Cygwin找到Octave 3.8,所以我安装了Cygwin和包octavexinitxlaunchgnuplot(根据{ {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中打开第二个脚本,我怎样才能尽可能简单地实现我想要的?

3 个答案:

答案 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"