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

Hel*_*bye 5 windows user-interface cygwin batch-file octave

由于GNU Octave自3.8.0版以来就带有GUI,我想我应该检查一下.

所以,因为我运行Windows和只能找到八度3.8 Cygwin的,我安装了Cygwin和包装octave,xinit,xlaunchgnuplot(根据该页面,但如果需要所有这些软件包我不知道).

然后,当尝试使用来自Cygwin的GUI启动Octave时octave --force-gui,我最初得到了错误消息

octave: X11 DISPLAY environment variable not set
Run Code Online (Sandbox Code Playgroud)

和Octave将以控制台模式启动.所以我找到了这个页面,告诉我要运行

echo "export DISPLAY=:0.0" >>~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

从Cygwin,永久摆脱错误信息,这是有效的.但是,然后我得到此错误消息:

octave: unable to open X11 DISPLAY
Run Code Online (Sandbox Code Playgroud)

同一页面还说你必须通过转到Start - > Cygwin-X - > XWin Server来运行X Server.这工作,但由于我不希望xterm终端启动,因为它不需要,我发现这个页面告诉我运行

touch ~/.startxwinrc
Run Code Online (Sandbox Code Playgroud)

从Cygwin创建一个空.startxwinrc文件,以防止xtrem终端默认启动,这有效.同一页面还提到可以使用该命令直接从Cygwin启动X Server startxwin.

所以,现在我可以使用Cygwin的GUI启动Octave,只需运行即可

startxwin
octave --force-gui
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够双击桌面图标以启动并运行所有内容.

所以,对于我的问题: 我可以以某种方式把它放在一个脚本文件中,当我运行它时,将在Cygwin中打开,以便脚本文件中的命令将在Cygwin中运行?在Octave终止后,有没有办法自动关闭X服务器?我已经尝试编写一个文件octave.bat,它启动Cygwin并提供第二个批处理文件作为参数,而后者又包含我想要执行的命令.但是当我运行第一个脚本时,我只是被命令提示(而不是Cygwin提示)轰炸,而且所有人都说

'startxwin' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

为什么第二个脚本没有在Cygwin中打开,我怎样才能尽可能地实现我想要的?

jul*_*ohm 5

请从这里抓住Octave:http://mxeoctave.osuv.de/

安装程序应该为您配置一切.

GNU Octave现在提供Windows二进制文件.转到ftp://ftp.gnu.org/gnu/octave/windows/