我在Windows 10上安装了64位Cygwin,我想从桌面快捷方式打开Cygwin GUI应用程序,例如atril,而无需打开Cygwin终端并手动从命令行启动它们。
我有:
export DISPLAY =:0.0
startxwin> / dev / null 2>& 1
如果[$? -eq 0];然后
startxwin > /dev/null 2>&1 &
网络连接
我现在可以通过启动Cygwin终端打开应用程序,输入应用程序的名称,然后按Enter键。但是,我创建的桌面快捷方式无声地失败。其中之一是:
C:\ cygwin64 \ bin \ run.exe -p / bin xterm -display 0.0 -e / bin / bash -l /cygdrive/c/Users/MYNAME/atril-launcher.sh
(我认为一个失败是因为xterm和startxwin不兼容;我可能错了。)
我尝试过其他包含run.exe的命令行,但无法启动应用程序或获取有意义的错误消息。
atril-launcher.sh拥有正确的权限,并且在shebang之后包含以下文本(我无法在此处尝试发布shebang格式化权限。)。它可以在Cygwin终端内成功启动。
nohup /bin/atril.exe&
睡3s
我在互联网上搜索了有关此问题的信息,其中大部分都已过时(Cygwin现在使用/ bin而不是/ usr / bin,Cygwin不再使用X11R6文件夹,DISPLAY =:0.0而不是DISPLAY = localhost:0.0等等...但是在这一点上,我在我的智慧'端。
答案 0 :(得分:0)
看起来我已经找到了对我自己的问题的部分答案。由于各种原因,它并不完美:
这可能取决于已经在其他地方启动的startxwin作为后台进程。
应用程序启动缓慢;有几秒钟的延迟。
用户无法与之交互的终端窗口(可能是作为GUI应用程序的父进程的shell)出现在应用程序窗口旁边。
但这可能足以让你继续下去。假设pluma是我们的应用程序,这里是成功启动它的快捷方式:
C:\cygwin64\bin\mintty.exe /bin/bash -l -c "export DISPLAY=:0.0; pluma"
我要感谢回答https://stackoverflow.com/a/12215570/9223868的作者 - 这是我通过谷歌搜索找不到的,只是通过它出现在"相关"发布时列出。